elexscannerdata.h

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

H
60
字号
/*  $Id: ElexScannerData.h,v 1.3 1997/02/20 09:44:28 matt Exp $  Elex C++ scanner data classes    (c) Jan 96 Matt Phillips*/#ifndef ELEX_SCANDATA_H#define ELEX_SCANDATA_Htypedef unsigned char uchar;class ElexState;class ElexEdge{public:  uchar lower, upper;  ElexState *target;};class ElexEdges{public:  ElexEdge *edges;  int nEdges;  // returns the target state for a transition on <chr>, or null if  // no such transition exists  ElexState *getTarget (uchar chr) const;};class ElexState{public:  enum {NoProduction = -1, DefaultErrorProduction = -2};  ElexEdges *edges;  int prod;  ElexState *getTarget (uchar chr) const  {return edges ? edges->getTarget (chr) : 0;}  int isFinal () const {return prod != NoProduction;}};class ElexScannerData{public:  ElexState *start;  int errorProd;};#endif

⌨️ 快捷键说明

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