scanner.h

来自「用于词法分析的词法分析器」· C头文件 代码 · 共 60 行

H
60
字号
/*  $Id: Scanner.h,v 1.4 1997/02/02 01:30:59 matt Exp $  Scanner base class.  (c) Apr 96 Matt Phillips.  */#ifndef _SCANNER_H#define _SCANNER_H#include "BufferedInputStream.h"#include "ErrorMessage.h"class Scanner{public:  enum {SymEOF = -1};  Scanner (BufferedInputStream &i, ErrorMessageList &e)    : input (i), errors (e) {symLine = symCol = 0;}  int eof () const {return symbol == SymEOF;}  void getNext () {}  string getFilename () const {return input.getFilename ();}  int getSymbol () const {return symbol;}  int getSymbolLine () const {return symLine;}  int getSymbolColumn () const {return symCol;}  int getLine () const {return input.getLine ();}  int getColumn () const {return input.getColumn ();}  const string &getText () const {return input.getBuffer ();}  char getText (int pos) const {return input.getBuffer (pos);}  int getTextLen () const {return input.getBufferSize ();}  BufferedInputStream &getInput () {return input;}protected:  int symbol;  int symLine, symCol;  BufferedInputStream &input;  ErrorMessageList &errors;  void error (const char *msg)  {    errors.error (string (msg), input.getFilename (),		  symLine, symCol);  }  void warning (const char *msg)  {    errors.warning (string (msg), input.getFilename (),		    symLine, symCol);  }   };#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?