⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calcparser.h

📁 用于词法分析的词法分析器
💻 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 + -