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
bool ll, rl, lr, rr;
ll = rl = lr = rr = true;
 
UnknownGrammar grammar = GrammarParser::parse( m_tokens );
list<Token> tokens_copy = m_tokens;
UnknownGrammar grammar = GrammarParser::parse( tokens_copy );
 
try
{
......@@ -398,6 +399,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void
{
rr = false;
}
if( rr ) return RIGHT_REGULAR_GRAMMAR;
 
try
{
......@@ -407,6 +409,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void
{
lr = false;
}
if( lr ) return LEFT_REGULAR_GRAMMAR;
 
try
{
......@@ -416,6 +419,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void
{
rl = false;
}
if( rl ) return RIGHT_LINEAR_GRAMMAR;
 
try
{
......@@ -425,11 +429,7 @@ ConversionHandler::TFormalism ConversionHandler::parseFormalismFromTokens( void
{
ll = false;
}
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." );
......
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