📄 regexpcompiler.h
字号:
/* $Id: RegexpCompiler.h,v 1.5 1997/02/02 01:31:05 matt Exp $ Regular expression compiler class. (c) Apr 95 Matt Phillips. */#ifndef _RECOMP_H#define _RECOMP_H#include <std/string.h>#include <contain/OrderedBinaryTree.h>#include <util/checks.h>#include <compiler/ErrorMessage.h>#include <compiler/BufferedInputStream.h>#include <fsm/Fsm.h>#include "RegexpScanner.h"class RegexpCompiler{public: typedef TypeIOOrderedBinaryTree(string, Fsm) Symbols; RegexpCompiler (BufferedInputStream &input, int prod, Symbols &syms); Fsm &getFsm () {return fsm;} int getLine () const {return scanner.getLine ();} int getCol () const {return scanner.getColumn ();} int nErrors () const {return errorList.nErrors ();} int nWarnings () const {return errorList.nWarnings ();} ErrorMessageList &getErrors () {return errorList;}protected: FsmState &getRegexp (FsmState &start); FsmState &getOrTerm (FsmState &start); FsmState &getTerm (FsmState &start); FsmState &getFactor (FsmState &start); FsmState &getCIStr (FsmState &start); FsmState &getSet (FsmState &start); FsmState &getVariable (FsmState &start); FsmState &createRange (FsmState &start, UCharRange r); UCharRange readRange (); void mustbe (int sym); int have (int sym); void mustbeErr (int sym); void error (const char *msg); void warning (const char *msg); static UCharRange DotRange; Fsm fsm; ErrorMessageList errorList; RegexpScanner scanner; Symbols &symbols;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -