Skip to content
Snippets Groups Projects
Commit 3d0ed9d0 authored by Jan Travnicek's avatar Jan Travnicek
Browse files

fix retrieval of to state for automata

parent 6016c1a1
No related branches found
No related tags found
No related merge requests found
......@@ -562,7 +562,7 @@ ext::map < ext::pair < StateType, ext::vector < SymbolType > >, ext::set < State
 
for ( const std::pair < const ext::pair < StateType, ext::vector < SymbolType > >, ext::set < StateType > > & transition : transitions )
if ( transition.second.find ( to ) != transition.second.end ( ) )
transitionsToState.insert ( transition.first, transition.second );
transitionsToState [ transition.first ].insert ( to );
 
return transitionsToState;
}
......
......@@ -749,7 +749,7 @@ ext::map < ext::pair < StateType, ext::variant < EpsilonType, SymbolType > >, ex
 
for ( const std::pair < const ext::pair < StateType, ext::variant < EpsilonType, SymbolType > >, ext::set < StateType > > & transition : transitions )
if ( transition.second.find ( to ) != transition.second.end ( ) )
transitionsToState[transition.first].insert ( transition.second.begin ( ), transition.second.end ( ) );
transitionsToState[transition.first].insert ( to );
 
return transitionsToState;
}
......@@ -763,7 +763,7 @@ ext::map < StateType, ext::set < StateType > > EpsilonNFA < SymbolType, EpsilonT
 
for ( const std::pair < const ext::pair < StateType, ext::variant < EpsilonType, SymbolType > >, ext::set < StateType > > & transition : transitions )
if ( ( transition.second.find ( to ) != transition.second.end ( ) ) && transition.first.second.template is < EpsilonType > ( ) )
transitionsToState[transition.first.first].insert ( transition.second.begin ( ), transition.second.end ( ) );
transitionsToState[transition.first.first].insert ( to );
 
return transitionsToState;
}
......@@ -777,7 +777,7 @@ ext::map < ext::pair < StateType, SymbolType >, ext::set < StateType > > Epsilon
 
for ( const std::pair < const ext::pair < StateType, ext::variant < EpsilonType, SymbolType > >, ext::set < StateType > > & transition : transitions )
if ( ( transition.second.find ( to ) != transition.second.end ( ) ) && transition.first.second.template is < SymbolType > ( ) )
transitionsToState[ext::pair < StateType, SymbolType > ( transition.first.first, transition.first.second.template get < SymbolType > ( ) )].insert ( transition.second.begin ( ), transition.second.end ( ) );
transitionsToState[ext::pair < StateType, SymbolType > ( transition.first.first, transition.first.second.template get < SymbolType > ( ) )].insert ( to );
 
return transitionsToState;
}
......
......@@ -601,7 +601,7 @@ ext::map < ext::pair < StateType, regexp::UnboundedRegExpStructure < SymbolType
 
for ( const std::pair < const ext::pair < StateType, regexp::UnboundedRegExpStructure < SymbolType > >, ext::set < StateType > > & transition : transitions )
if ( transition.second.find ( to ) != transition.second.end ( ) )
transitionsToState.insert ( transition.first, transition.second );
transitionsToState [ transition.first ].insert ( to );
 
return transitionsToState;
}
......
......@@ -797,7 +797,7 @@ ext::map < ext::pair < StateType, ext::variant < EpsilonType, SymbolType > >, ex
 
for ( const std::pair < const ext::pair < StateType, ext::variant < EpsilonType, SymbolType > >, ext::set < StateType > > & transition : transitions )
if ( transition.second.find ( to ) != transition.second.end ( ) )
transitionsToState[transition.first].insert ( transition.second.begin ( ), transition.second.end ( ) );
transitionsToState[transition.first].insert ( to );
 
return transitionsToState;
}
......@@ -811,7 +811,7 @@ ext::map < StateType, ext::set < StateType > > MultiInitialStateEpsilonNFA < Sym
 
for ( const std::pair < const ext::pair < StateType, ext::variant < EpsilonType, SymbolType > >, ext::set < StateType > > & transition : transitions )
if ( ( transition.second.find ( to ) != transition.second.end ( ) ) && transition.first.second.template is < EpsilonType > ( ) )
transitionsToState[transition.first.first].insert ( transition.second.begin ( ), transition.second.end ( ) );
transitionsToState[transition.first.first].insert ( to );
 
return transitionsToState;
}
......@@ -825,7 +825,7 @@ ext::map < ext::pair < StateType, SymbolType >, ext::set < StateType > > MultiIn
 
for ( const std::pair < const ext::pair < StateType, ext::variant < EpsilonType, SymbolType > >, ext::set < StateType > > & transition : transitions )
if ( ( transition.second.find ( to ) != transition.second.end ( ) ) && transition.first.second.template is < SymbolType > ( ) )
transitionsToState[ext::pair < StateType, SymbolType > ( transition.first.first, transition.first.second.template get < SymbolType > ( ) )].insert ( transition.second.begin ( ), transition.second.end ( ) );
transitionsToState[ext::pair < StateType, SymbolType > ( transition.first.first, transition.first.second.template get < SymbolType > ( ) )].insert ( to );
 
return transitionsToState;
}
......
......@@ -541,7 +541,7 @@ ext::map < ext::pair < StateType, SymbolType >, ext::set < StateType > > MultiIn
 
for ( const std::pair < const ext::pair < StateType, SymbolType >, ext::set < StateType > > & transition : transitions )
if ( transition.second.find ( to ) != transition.second.end ( ) )
transitionsToState[transition.first].insert ( transition.second.begin ( ), transition.second.end ( ) );
transitionsToState[transition.first].insert ( to );
 
return transitionsToState;
}
......
......@@ -503,7 +503,7 @@ ext::map < ext::pair < StateType, SymbolType >, ext::set < StateType > > NFA < S
 
for ( const std::pair < const ext::pair < StateType, SymbolType >, ext::set < StateType > > & transition : transitions )
if ( transition.second.find ( to ) != transition.second.end ( ) )
transitionsToState[transition.first].insert ( transition.second.begin ( ), transition.second.end ( ) );
transitionsToState[transition.first].insert ( to );
 
return transitionsToState;
}
......
......@@ -701,7 +701,7 @@ ext::map<ext::pair<StateType, InputSymbolType>, ext::set<StateType > > InputDriv
ext::map<ext::pair<StateType, InputSymbolType>, ext::set<StateType > > transitionsToState;
for ( const std::pair<const ext::pair<StateType, InputSymbolType>, ext::set<StateType > >& transition : transitions) {
if (transition.second.find(to) != transition.second.end()) {
transitionsToState[transition.first].insert(transition.second.begin(), transition.second.end());
transitionsToState[transition.first].insert(to);
}
}
 
......
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