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 + -
显示快捷键?