parser.h
来自「表达式计算expression evaluate expression eval」· C头文件 代码 · 共 60 行
H
60 行
/******************************************************************************
文件名 :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 + =
减小字号Ctrl + -
显示快捷键?