From 8bebb14861ce8e11ee518a72f9b27201f0a9455d Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Wed, 13 Nov 2013 09:10:28 -0700 Subject: Corrected silly bug in variable assignment. --- src/lexer.cpp | 2 +- src/parser.cpp | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/lexer.cpp b/src/lexer.cpp index 97ceb1b..7704343 100644 --- a/src/lexer.cpp +++ b/src/lexer.cpp @@ -86,7 +86,7 @@ Token Lexer::nextTokenNormal() sBuf[iBufPos] != ' ' && sBuf[iBufPos] != '\t' && sBuf[iBufPos] != '+' && sBuf[iBufPos] != '-' && sBuf[iBufPos] != '*' && sBuf[iBufPos] != '/' && - sBuf[iBufPos] != '%' && + sBuf[iBufPos] != '%' && sBuf[iBufPos] != '=' && sBuf[iBufPos] != '(' && sBuf[iBufPos] != ')'; iBufPos++ ) { diff --git a/src/parser.cpp b/src/parser.cpp index eb90637..de86b95 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -5,6 +5,8 @@ #include #include +#define DEBUG + Parser::Parser( Lexer &lex, Bu::Stream &rOut ) : lex( lex ), rOut( rOut ) @@ -156,12 +158,16 @@ void Parser::parse() getPriority( tsNonTerminal.peek().eType ) <= getPriority( t.eType ) ) { -// Bu::println("Pushing non-terminal: %1").arg( t.eType ); +#ifdef DEBUG + Bu::println("Pushing non-terminal: %1").arg( t.eType ); +#endif tsNonTerminal.push( t ); } else { -// Bu::println("Unwinding stack before pushing: %1").arg( t.eType ); +#ifdef DEBUG + Bu::println("Unwinding stack before pushing: %1").arg( t.eType ); +#endif unwind(); tsNonTerminal.push( t ); } @@ -174,7 +180,7 @@ void Parser::unwind() { for(;;) { -/* +#ifdef DEBUG for( TokenStack::iterator i = tsTerminal.begin(); i; i++ ) { if( (*i).eType == Token::tNumber ) @@ -186,7 +192,7 @@ void Parser::unwind() for( TokenStack::iterator i = tsNonTerminal.begin(); i; i++ ) Bu::print(" <%1>").arg( (*i).eType ); Bu::println(""); -*/ +#endif if( tsNonTerminal.isEmpty() ) return; -- cgit v1.2.3