📄 calcparser.h
字号:
/* $Id: CalcParser.h,v 1.1 1997/02/23 13:29:28 matt Exp $ CalcParser class. Implements a simple calculator parser and evaluator. (c) Matt Phillips, 1997. *//* Calculator grammar ------------------ <expr> ::= <term> ( ['+' '-'] <term> )* <term> ::= <factor> ( ['/' '*' 'mod'] <factor> )* <factor> ::= number <factor> ::= '(' <expr> ')' <factor> ::= variable*/#ifndef _CalcParser_h#define _CalcParser_h#include <iostream.h>#include "CalcScanner.h"class CalcParser{public: CalcParser (istream &input_); // Returns the result of the expression. double getResult () const {return result;} // Returns true if expression parsed OK. int ok () const {return scanner.getErrors ().nItems () == 0;} // Returns a list of errors found during parsing. const ErrorMessageList &getErrors () const {return scanner.getErrors ();}protected: XInputStream input; CalcScanner scanner; double result; double parseExpr (); double parseTerm (); double parseFactor (); double getVariableValue (const string &variable); double getNumberValue (const string &number);};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -