diff options
Diffstat (limited to 'src/parser.h')
-rw-r--r-- | src/parser.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/parser.h b/src/parser.h index 5b5d4a8..a925188 100644 --- a/src/parser.h +++ b/src/parser.h | |||
@@ -34,6 +34,9 @@ namespace Bu | |||
34 | */ | 34 | */ |
35 | void popLexer(); | 35 | void popLexer(); |
36 | 36 | ||
37 | Lexer::Token *popToken(); | ||
38 | void pushToken( Lexer::Token *pTok ); | ||
39 | |||
37 | /** | 40 | /** |
38 | * Execute a parse. | 41 | * Execute a parse. |
39 | */ | 42 | */ |
@@ -88,11 +91,13 @@ namespace Bu | |||
88 | int addNonTerminal( const Bu::FString &sName ); | 91 | int addNonTerminal( const Bu::FString &sName ); |
89 | void setNonTerminal( const Bu::FString &sName, NonTerminal &nt ); | 92 | void setNonTerminal( const Bu::FString &sName, NonTerminal &nt ); |
90 | int getNonTerminalId( const Bu::FString &sName ); | 93 | int getNonTerminalId( const Bu::FString &sName ); |
94 | bool hasNonTerminal( const Bu::FString &sName ); | ||
91 | 95 | ||
92 | int addReduction( const Bu::FString &sName, const Reduction &r ); | 96 | int addReduction( const Bu::FString &sName, const Reduction &r ); |
93 | int addReduction( const Bu::FString &sName ); | 97 | int addReduction( const Bu::FString &sName ); |
94 | void setReduction( const Bu::FString &sName, const Reduction &r ); | 98 | void setReduction( const Bu::FString &sName, const Reduction &r ); |
95 | int getReductionId( const Bu::FString &sName ); | 99 | int getReductionId( const Bu::FString &sName ); |
100 | bool hasReduction( const Bu::FString &sName ); | ||
96 | 101 | ||
97 | private: | 102 | private: |
98 | bool selectProduction( int iNt, Lexer::Token *ptCur ); | 103 | bool selectProduction( int iNt, Lexer::Token *ptCur ); |