📄 parser.h
字号:
/******************************************************************************
文件名 :Parser.h
版本号 : 1.0
作者 : Amos Peng
生成日期 :2008-07-08
最近修改 :
功能描述 :解析器
函数列表 :
*******************************************************************************/
#ifndef _PARSER_H_
#define _PARSER_H_
// Includes
#include <vector>
#include <string>
#include <new>
#include <memory>
#include "Nodes.h"
#include "Except.h"
#include "FunctionList.h"
#include "Expression.h"
#include "Token.h"
// Part of expreval namespace
namespace ExprEval
{
// Forward declarations
class CExpression;
class CNode;
class CToken;
// Parser class
//--------------------------------------------------------------------------
class CParser
{
public:
typedef ::std::vector<CToken*>::size_type size_type;
CParser(CExpression *expr);
~CParser();
CNode *Parse(const ::std::string &exstr);
CNode *ParseRegion(size_type start, size_type end);
const CToken &operator[] (size_type pos) const;
private:
void BuildTokens(const std::string &exstr);
CExpression *m_expr;
::std::vector<CToken> m_tokens; // Store token and not pointer to token
};
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -