From ea63fdbe5d59b860d94087e1ee77bd5b16b2bc1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Pecka?= <peckato1@fit.cvut.cz> Date: Sun, 16 Mar 2014 17:37:33 +0100 Subject: [PATCH] Gluskov: state/nonterminal names are now only integers --- aconversions/src/re2fa/Glushkov.cpp | 3 ++- aconversions/src/re2rg/re2rrg/GlushkovRRG.cpp | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/aconversions/src/re2fa/Glushkov.cpp b/aconversions/src/re2fa/Glushkov.cpp index ccf00c4b0d..98fa8e88ea 100644 --- a/aconversions/src/re2fa/Glushkov.cpp +++ b/aconversions/src/re2fa/Glushkov.cpp @@ -105,7 +105,8 @@ bool Glushkov::NumberedSymbol::operator<( const NumberedSymbol & x ) const Glushkov::NumberedSymbol::NumberedSymbol( const RegExpSymbol * symbol, int i ) : m_i( i ), m_alphabetSymbol( symbol->getSymbol( ) ), - m_state( State( "[" + m_alphabetSymbol.getSymbol( ) + "], id " + to_string( m_i ) ) ) + //m_state( State( "[" + m_alphabetSymbol.getSymbol( ) + "], id " + to_string( m_i ) ) ) + m_state( State( to_string( m_i ) ) ) { } diff --git a/aconversions/src/re2rg/re2rrg/GlushkovRRG.cpp b/aconversions/src/re2rg/re2rrg/GlushkovRRG.cpp index 0fb53d9938..4416d1fcb6 100644 --- a/aconversions/src/re2rg/re2rrg/GlushkovRRG.cpp +++ b/aconversions/src/re2rg/re2rrg/GlushkovRRG.cpp @@ -29,11 +29,11 @@ GlushkovRRG::~GlushkovRRG( void ) RightRegularGrammar GlushkovRRG::convert( void ) { // step 1 - initNumberSymbols( ); - for( const auto & symbol : RegExpAlphabet::getSymbols( m_re ) ) m_grammar.addTerminalSymbol( symbol.getSymbol( ) ); + initNumberSymbols( ); + // steps 2, 3, 4 constructBeginSymbolSet( ); constructEndSymbolSet( ); @@ -136,7 +136,8 @@ bool GlushkovRRG::NumberedSymbol::operator<( const NumberedSymbol & x ) const GlushkovRRG::NumberedSymbol::NumberedSymbol( const RegExpSymbol * symbol, grammar::RightRegularGrammar & g, int i ) : m_i( i ), m_alphabetSymbol( symbol->getSymbol( ) ), - m_nonTerminal( g.createUniqueNonTerminalSymbol( "[" + m_alphabetSymbol.getSymbol( ) + "], id " + to_string( m_i ), false ) ) + // m_nonTerminal( g.createUniqueNonTerminalSymbol( "[" + m_alphabetSymbol.getSymbol( ) + "], id " + to_string( m_i ), false ) ) + m_nonTerminal( g.createUniqueNonTerminalSymbol( to_string( m_i ), false ) ) { } -- GitLab