summaryrefslogtreecommitdiff
path: root/src/parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.h')
-rw-r--r--src/parser.h5
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 );