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

aconversions: Glushkov state/nonterm names

parent 6c2d47c5
No related branches found
No related tags found
No related merge requests found
......@@ -50,10 +50,9 @@ FSM Glushkov::convert( void )
State q0( "q0" );
automaton.addState( q0 );
automaton.addInitialState( q0 );
int stateId = 0;
for( auto const& symbol : GlushkovTraversal::getSymbols( m_re ) )
{
State q( toBase26( stateId ++ ) + to_string( symbol.getId( ) ) );
State q( symbol.getInputSymbol( ).getSymbol( ) + to_string( symbol.getId( ) ) );
 
m_stateMap.insert( std::pair<GlushkovSymbol, State>( symbol, q ) );
automaton.addState( q );
......
......@@ -46,11 +46,9 @@ RightRegularGrammar GlushkovRRG::convert( void )
Symbol S = grammar.createUniqueNonTerminalSymbol( "S" );
grammar.setStartSymbol( S );
 
int nonterminalId = 0;
for( auto const& symbol : GlushkovTraversal::getSymbols( m_re ) )
{
Symbol a = grammar.createUniqueNonTerminalSymbol( toBase26( nonterminalId ++ ) + to_string( symbol.getId( ) ) );
Symbol a = grammar.createUniqueNonTerminalSymbol( symbol.getInputSymbol().getSymbol() + to_string( symbol.getId( ) ) );
 
m_symbolMap.insert( std::pair<GlushkovSymbol, Symbol>( symbol, a ) );
}
......
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