Functions |
PushdownGenerator | faudes::AnnotatePdStates (const std::string word, const PushdownGenerator &pd) |
| Associates each state of the generator with an annotation.
|
PushdownGenerator | faudes::RenameStackSymbold (const std::string word, const PushdownGenerator &pd) |
| Adds an annotation to each stack symbol of the generator.
|
PushdownGenerator | faudes::Nda (const PushdownGenerator &pd) |
| Input must have passed SPDA() ! Remodels the generator to prevent double (or multiple) acceptance of the same input string.
|
void | faudes::ReachableStateMap (const PushdownGenerator &rPd, std::map< Idx, StateSet > &rMap) |
| Fill map.
|
bool | faudes::PushdownTrim (PushdownGenerator &rPd, const uint n, bool debug=false) |
| Make generator trim.
|
PushdownGenerator | faudes::SPDA (const PushdownGenerator &pd, TransformationHistoryVec *pTransformHistory=NULL) |
| (previously called Rpp) Restricts a pushdown generator to a simple pushdown generator SPDA with transitions that are either read (p,a,lambda,lambda,q), pop (p,lambda,x,lambda,q) or push (p,lambda,x,yx,q).
|
PushdownGenerator | faudes::RebuildFromSPDA (const PushdownGenerator &rSPDA, const TransformationHistoryVec &rTransformHistory) |
| Input must have passed SPDA() ! Rebuild a pushdown generator which passed SPDA as far as possible.
|
PushdownGenerator | faudes::RemainingPd (const Grammar &rGr, const PushdownGenerator &pd) |
| Input must have passed SPDA() ! Compares the given pushdown generator with the given grammar and removes all transition, which cannot be find in productions of the grammar.
|
PushdownGenerator | faudes::RemoveLambdaPop (const PushdownGenerator &pd) |
| (previously called Rep0) Removes all transitions popping lambda.
|
Grammar | faudes::Sp2Lr (const PushdownGenerator &rPd, uint n=0, bool ignorReducible=false, bool debug=false) |
| Input must have passed SPDA() and Nda() ! Transform a simple pushdown generator into a context free grammar.
|
std::set< Nonterminal > | faudes::Filter (const std::set< Nonterminal > &symbolSet, const GrammarSymbolVector &w) |
| Extract all symbols from the word that are in the symbol set.
|
std::set< Nonterminal > | faudes::Rnpp1 (const Grammar &gr, const std::set< Nonterminal > &ntSet) |
| Find all nonterminals that are eliminable in one step, assuming that a certain set of nonterminals has already been eliminated.
|
std::set< Nonterminal > | faudes::Rnppl (const Grammar &gr, const std::set< Nonterminal > &ntSet) |
| Find all nonterminals that are eliminable in as many steps as needed, assuming that a certain set of nonterminals has already been eliminated.
|
Grammar | faudes::Rnpp (const Grammar &gr) |
| Remove all productions from a grammar that are nonproductive, i.
|
Grammar | faudes::Rup (const Grammar &gr) |
| Remove all unreachable productions and nonterminals from the grammar.
|
PushdownGenerator | faudes::RemoveMultPop (const PushdownGenerator &pd) |
| (previously called Rep2) Removes transitions popping more than one stack symbol.
|
uint | faudes::InTransitionSize (Idx trg, const PushdownGenerator &rPd) |
| Getting the number of incoming transitions of a state.
|
std::set< std::pair
< Transition, Transition > > | faudes::PossibleAdjacentMerges (Idx q, const PushdownGenerator &pd) |
bool | faudes::CombinedTransitions (Idx q, PushdownGenerator &rPd,StateSet &next, StateSet &done) |
| Merge transitions from state q with adjacent transitions without changing the marked language.
|
void | faudes::MergeAdjacentTransitions (PushdownGenerator &rPd) |
| Merge adjacent transitions until no more mergers are possible.
|