Skip to content
Snippets Groups Projects
Commit 4de83843 authored by Tomáš Pecka's avatar Tomáš Pecka
Browse files

Fix aconversions: Do not pop tokens before actual parsing

parent ea63fdbe
No related branches found
No related tags found
No related merge requests found
...@@ -388,7 +388,8 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void ...@@ -388,7 +388,8 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void
bool ll, rl, lr, rr; bool ll, rl, lr, rr;
ll = rl = lr = rr = true; ll = rl = lr = rr = true;
   
UnknownGrammar grammar = GrammarParser::parse( m_tokens ); list<Token> tokens_copy = m_tokens;
UnknownGrammar grammar = GrammarParser::parse( tokens_copy );
   
try try
{ {
...@@ -398,6 +399,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void ...@@ -398,6 +399,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void
{ {
rr = false; rr = false;
} }
if( rr ) return RIGHT_REGULAR_GRAMMAR;
   
try try
{ {
...@@ -407,6 +409,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void ...@@ -407,6 +409,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void
{ {
lr = false; lr = false;
} }
if( lr ) return LEFT_REGULAR_GRAMMAR;
   
try try
{ {
...@@ -416,6 +419,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void ...@@ -416,6 +419,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void
{ {
rl = false; rl = false;
} }
if( rl ) return RIGHT_LINEAR_GRAMMAR;
   
try try
{ {
...@@ -425,11 +429,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void ...@@ -425,11 +429,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void
{ {
ll = false; ll = false;
} }
if( ll ) return LEFT_LINEAR_GRAMMAR; if( ll ) return LEFT_LINEAR_GRAMMAR;
if( rl ) return RIGHT_LINEAR_GRAMMAR;
if( lr ) return LEFT_REGULAR_GRAMMAR;
if( rr ) return RIGHT_REGULAR_GRAMMAR;
} }
   
throw AlibException( "ConversionHandler: Invalid input formalism." ); throw AlibException( "ConversionHandler: Invalid input formalism." );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment