|
Generator with push down extensions.
More...
#include <pd_pdgenerator.h>
Public Member Functions |
| TpdGenerator (void) |
| Constructor.
|
| TpdGenerator (const TpdGenerator &rOtherGen) |
| Copy constructor.
|
| TpdGenerator (const vGenerator &rOtherGen) |
| Copy constructor (no attributes)
|
virtual TpdGenerator & | operator= (const TpdGenerator &rOtherGen) |
| Assignment operator (uses Assign) Note: you must reimplement this operator in derived classes in order to handle internal pointers correctly.
|
virtual TpdGenerator & | Assign (const Type &rSource) |
| Assignment method.
|
| TpdGenerator (const std::string &rFileName) |
| Construct from file.
|
TpdGenerator * | New (void) const |
| Construct on heap.
|
TpdGenerator * | Copy (void) const |
| Construct copy on heap.
|
virtual const Type * | Cast (const Type *pOther) const |
| Type test.
|
TpdGenerator | NewPdGen (void) const |
| Construct on stack.
|
std::string | StateStr (Idx idx) const |
| XXX: NEW ! Return pretty printable state name (eg for debugging)
|
std::string | EventStr (Idx idx) const |
| XXX: NEW ! Return pretty printable event name (eg for debugging)
|
SymbolTable * | StackSymbolTablep (void) const |
| Get Pointer to mpStackSymbolTable.
|
void | StackSymbolTablep (SymbolTable *pStackSymTab) |
| Set StackSymbolTable.
|
StackSymbolSet | NewStackSymbolSet (void) const |
| Return a NameSet with generator's StackSymbolTable.
|
StackSymbolSet * | NewStackSymbolSetp (void) const |
| Construct a stack symbol on heap.
|
Idx | StackSymbolsSize (void) const |
| Number of stacks symbols in mStackSymbols.
|
const StackSymbolSet & | StackSymbols (void) const |
| Get stack symbol set as const reference.
|
StackSymbolSet * | StackSymbolsp (void) |
| Get stack symbol set as pointer.
|
void | InjectStackSymbols (const StackSymbolSet &newstacksymbols) |
| Overwrites mStackSymbols with new stack symbols without consistency check.
|
std::string | StackSymbolName (Idx index) const |
| Looks up stack symbol name for given index.
|
void | StackSymbolName (Idx index, const std::string &rName) const |
| XXX:NEW Set new stack symbol name for existing index.
|
StackSymbol | StackSymbolObj (Idx index) const |
| Returns stack symbol for given index.
|
Idx | StackSymbolIndex (const std::string &rName) const |
| Looks up stack symbol index for given name.
|
std::string | StackSymbolStr (Idx idx) const |
| XXX:NEW ! Get string of stack symbol for given index.
|
Idx | InsStackSymbol (const std::string &rName) |
| Add named stack symbol to generator.
|
Idx | InsStackSymbol (const StackSymbol &rSymbol) |
| Add stack symbol to generator.
|
Idx | SetStackBottom (const std::string &rName) |
| Add named stack bottom to generator.
|
Idx | SetStackBottom (const StackSymbol &rSymbol) |
| Add stack bottom to generator.
|
Idx | SetStackBottom (const Idx idx) |
| Add stack bottom to generator.
|
Idx | StackBottom () const |
| Get the index of the stack bottom symbol.
|
void | InsStackSymbols (const StackSymbolSet &rStackSymbolSet) |
| Add new named stack symbols to generator.
|
bool | DelStackSymbol (Idx index) |
| Delete stack symbol from generator by index.
|
bool | DelStackSymbol (const std::string &rName) |
| Delete stack symbol from generator by name.
|
void | DelStackSymbols (const StackSymbolSet &rStackSymbols) |
| Delete a set of stack symbols from generator.
|
bool | ExistsStackSymbol (Idx index) const |
| Test existence of stack symbol in mStackSymbols.
|
bool | ExistsStackSymbol (const std::string &rName) const |
| Test existence of stack symbol in mStackSymbols.
|
StackSymbolSet::Iterator | FindStackSymbol (Idx index) const |
| Returns an iterator to stack symbol index in mStackSymbols.
|
StackSymbolSet::Iterator | FindStackSymbol (const std::string &rName) const |
| Returns an iterator to stack symbol index in mStackSymbols.
|
std::string | UniqueStackSymbolName (const std::string &rName) const |
| XXX NEW Get unique stack symbole name.
|
StackSymbolSet::Iterator | StackSymbolsBegin (void) const |
| Iterator to Begin() of mStackSymbols.
|
StackSymbolSet::Iterator | StackSymbolsEnd (void) const |
| Iterator to End() of mStackSymbols.
|
std::vector< Idx > | StackSymbolsToIndices (const std::vector< StackSymbol > symbols) const |
| Converts a vector of stack symbols to a vector of Idx.
|
std::vector< Idx > | StackSymbolNamesToIndices (const std::vector< std::string > symbolnames) const |
| XXX:NEW Converts a vector of stack symbol names to a vector of Idx.
|
bool | IsDeterministic () const |
| Check if the pushdown generator is deterministic.
|
Idx | TransRelSize () const |
| Get number of transitions including pop-push-pairs.
|
bool | SetTransition (Idx x1, Idx ev, Idx x2) |
| Add a transition to generator by indices.
|
bool | SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2) |
| Add a transition to generator by names.
|
bool | SetTransition (const Transition &rTransition, const TransAttr &rAttr) |
| Add a transition with attribute to generator.
|
bool | SetTransition (const Transition &rTrans, const std::vector< StackSymbol > &rPop, const std::vector< StackSymbol > &rPush) |
| Inserts new PushdownTransition constructed from parameters.
|
bool | SetTransition (const Transition &trans, const std::vector< std::string > &rPop, const std::vector< std::string > &rPush) |
| XXX:NEW Inserts new PushdownTransition constructed from parameters.
|
bool | SetTransition (const Transition &rTrans, const std::vector< Idx > &rPop, const std::vector< Idx > &rPush) |
| Inserts new PushdownTransition constructed from parameters.
|
bool | SetTransition (Idx x1, Idx ev, Idx x2, const std::vector< StackSymbol > &rPop, const std::vector< StackSymbol > &rPush) |
| Inserts new PushdownTransition constructed from parameters.
|
bool | SetTransition (Idx x1, Idx ev, Idx x2, const std::vector< Idx > &rPop, const std::vector< Idx > &rPush) |
| Inserts new PushdownTransition constructed from parameters.
|
bool | SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2, const std::vector< StackSymbol > &rPop, const std::vector< StackSymbol > &rPush) |
| Inserts new PushdownTransition constructed from parameters.
|
bool | SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2, const std::vector< std::string > &rPop, const std::vector< std::string > &rPush) |
| XXX NEW ! Inserts new PushdownTransition constructed from parameters.
|
bool | SetTransition (Idx x1, Idx ev, Idx x2, const std::vector< std::string > &rPop, const std::vector< std::string > &rPush) |
| XXX NEW ! Inserts new PushdownTransition constructed from parameters.
|
bool | SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2, const std::vector< Idx > &rPop, const std::vector< Idx > &rPush) |
| Inserts new PushdownTransition constructed from parameters.
|
bool | SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rPop, const std::string &rPush, const std::string &rX2) |
| XXX: NEW Inserts new PushdownTransition constructed from parameters.
|
bool | ClrTransition (const std::string &rX1, const std::string &rEv, const std::string &rPop, const std::string &rPush, const std::string &rX2) |
| XXX: NEW Delete an existing PushdownTransition constructed with the provided parameters.
|
bool | ClrTransition (Idx x1, Idx ev, Idx x2, const std::vector< StackSymbol > &rPop, const std::vector< StackSymbol > &rPush) |
| Delete an exisiting PushdownTransition with the provided parameters.
|
bool | ClrTransition (Idx x1, Idx ev, Idx x2, const std::vector< Idx > &rPop, const std::vector< Idx > &rPush) |
| Delete an exisiting PushdownTransition with the provided parameters.
|
bool | ClrTransition (Idx x1, Idx ev, Idx x2, const std::vector< std::string > &rPop, const std::vector< std::string > &rPush) |
| XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
|
bool | ClrTransition (std::string x1, std::string ev, std::string x2, const std::vector< Idx > &rPop, const std::vector< Idx > &rPush) |
| XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
|
bool | ClrTransition (std::string x1, std::string ev, std::string x2, const std::vector< StackSymbol > &rPop, const std::vector< StackSymbol > &rPush) |
| XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
|
bool | ClrTransition (std::string x1, std::string ev, std::string x2, const std::vector< std::string > &rPop, const std::vector< std::string > &rPush) |
| XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
|
bool | ClrTransition (const Transition &rTrans, const std::vector< StackSymbol > &rPop, const std::vector< StackSymbol > &rPush) |
| Delete an exisiting PushdownTransition with the provided parameters.
|
bool | ClrTransition (const Transition &rTrans, const std::vector< std::string > &rPop, const std::vector< std::string > &rPush) |
| XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
|
bool | ClrTransition (const Transition &rTrans, const std::vector< Idx > &rPop, const std::vector< Idx > &rPush) |
| Delete an exisiting PushdownTransition with the provided parameters.
|
bool | ExistsTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2) const |
| Test for transition given by x1, ev, x2.
|
bool | ExistsTransition (Idx x1, Idx ev, Idx x2) const |
| Test for transition given by x1, ev, x2.
|
bool | ExistsTransition (const Transition &rTrans) const |
| Test for transition.
|
bool | ExistsTransition (Idx x1, Idx ev) const |
| Test for transition given by x1, ev.
|
bool | ExistsTransition (Idx x1) const |
| Test for transition given by x1.
|
bool | ExistsTransition (Idx x1, Idx ev, Idx x2, const std::vector< Idx > &pop, const std::vector< Idx > &push) const |
| XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
|
bool | ExistsTransition (Idx x1, Idx ev, Idx x2, const std::vector< std::string > &pop, const std::vector< std::string > &push) const |
| XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
|
bool | ExistsTransition (Idx x1, Idx ev, Idx x2, const std::vector< StackSymbol > &rPop, const std::vector< StackSymbol > &rPush) const |
| XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
|
bool | ExistsTransition (const std::string &x1, const std::string &ev, const std::string &x2, const std::vector< StackSymbol > &pop, const std::vector< StackSymbol > &push) const |
| XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
|
bool | ExistsTransition (const std::string &x1, const std::string &ev, const std::string &x2, const std::vector< std::string > &pop, const std::vector< std::string > &push) const |
| XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
|
bool | ExistsTransition (const std::string &x1, const std::string &ev, const std::string &x2, const std::vector< Idx > &pop, const std::vector< Idx > &push) const |
| XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
|
bool | ExistsTransition (const Transition &rTrans, const std::vector< StackSymbol > &rPop, const std::vector< StackSymbol > &rPush) const |
| XXX NEW ! Test for transition given by transition, pop, push.
|
bool | ExistsTransition (const Transition &rTrans, const std::vector< std::string > &rPop, const std::vector< std::string > &rPush) const |
| XXX NEW ! Test for transition given by transition, pop, push.
|
bool | ExistsTransition (const Transition &rTrans, const std::vector< Idx > &pop, const std::vector< Idx > &push) const |
| XXX: NEW ! Test for transition given trans, pop, push.
|
bool | ExistsTransition (const std::string &x1, const std::string &ev, const std::string &pop, const std::string &push, const std::string &x2) const |
| XXX: NEW Test for transition given with the provided parameters.
|
const PopPushSet & | PopPush (const Transition &rTrans) const |
| Get the pop/push set attached to this transition.
|
PopPushSet::const_iterator | PopPushBegin (const Transition &rTrans) const |
| Get an iterator to the beginning of the pop/push set attached to this transition.
|
PopPushSet::const_iterator | PopPushEnd (const Transition &rTrans) const |
| Get an iterator to the end of the pop/push set attached to this transition.
|
Idx | InsLambdaStackSymbol () |
| XXX: NEW Add lambda stack symbol to generator or return existing one.
|
bool | IsStackSymbolLambda (Idx index) const |
| determine if the stack symbol associated with the given index is lambda
|
bool | IsEventLambda (Idx index) const |
| determine if the event associated with the given index is lambda
|
void | ConsistentStackSymbol (const StackSymbol &rStackSymbol) const |
| Throw exception if stack symbol refers to stack symbol not in stack symbol set.
|
void | ConsistentStackSymbol (Idx idx) const |
| Throw exception if stack symbol refers to stack symbol not in stack symbol set.
|
void | ConsistentVectorStackSymbol (const std::vector< StackSymbol > &rVector) const |
| Throw exception if vector of stack symbols contains stack symbols not in generators stack symbol set.
|
void | ConsistentVectorStackSymbol (const std::vector< Idx > &rVector) const |
| Throw exception if vector of stack symbols contains stack symbols not in generators stack symbol set.
|
void | EmptyVectorPopPush (const std::vector< StackSymbol > &rVector) const |
| Throw exception if vector of stack symbols is empty.
|
void | EmptyVectorPopPush (const std::vector< Idx > &rVector) const |
| Throw exception if vector of stack symbols is empty.
|
void | SetMerge (const std::string &stateName, MergeAbstract &rMerge) |
| Marks a state as being merged from other data type by setting mpMerge.
|
void | SetMerge (Idx index, MergeAbstract &rMerge) |
| Marks a state as being merged from other data type by setting mpMerge.
|
const MergeAbstract * | Merge (Idx index) const |
| Return the merge attribute of a state.
|
void | SetDfaState (const std::string &stateName, Idx dfaIndex) |
| Marks a state as being derived from the intersection with a DFA.
|
void | SetDfaState (Idx index, Idx dfaIndex) |
| Marks a state as being derived from the intersection with a DPA.
|
Idx | DfaState (Idx index) const |
| Return the dfaState attribute of a state.
|
virtual bool | Valid (void) const |
| Check if generator is valid.
|
virtual void | DotWrite (const std::string &rFileName) const |
| XXX: NEW ! Writes generator to dot input format.
|
virtual void | DotWrite (const std::string &rFileName, bool printInfo, bool lr) const |
| XXX: NEW ! Writes generator to dot input format.
|
virtual void | DotRead (const std::string &rFileName) |
| XXX: NEW ! Create generator from dot input format.
|
| TcGenerator (void) |
| Creates an emtpy System object.
|
| TcGenerator (const vGenerator &rOtherGen) |
| System from a std Generator.
|
| TcGenerator (const TcGenerator &rOtherGen) |
| System from a System.
|
| TcGenerator (const std::string &rFileName) |
| construct a System from file
|
TcGenerator | NewCGen (void) const |
| Construct on stack.
|
virtual TcGenerator & | operator= (const TcGenerator &rOtherGen) |
| Assignment operator (uses Assign)
|
void | InsControllableEvent (Idx index) |
| Add an existing controllable event to generator.
|
Idx | InsControllableEvent (const std::string &rName) |
| Add new named controllable event to generator.
|
void | InsUncontrollableEvent (Idx index) |
| Add an existing uncontrollable event to generator.
|
Idx | InsUncontrollableEvent (const std::string &rName) |
| Add new named uncontrollable event to generator.
|
void | SetControllable (Idx index) |
| Mark event controllable (by index)
|
void | SetControllable (const std::string &rName) |
| Mark event controllable (by name)
|
void | SetControllable (const EventSet &rEvents) |
| Mark set of events controllable (by index)
|
void | ClrControllable (Idx index) |
| Mark event uncontrollable (by index)
|
void | ClrControllable (const std::string &rName) |
| Mark event uncontrollable (by name)
|
void | ClrControllable (const EventSet &rEvents) |
| Mark set of events uncontrollable (by index)
|
bool | Controllable (Idx index) const |
| Is event controllable (by index)
|
bool | Controllable (const std::string &rName) const |
| Is event controllable (by name)
|
EventSet | ControllableEvents (void) const |
| Get EventSet with controllable events.
|
EventSet | UncontrollableEvents (void) const |
| Get EventSet with uncontrollable events.
|
void | InsObservableEvent (Idx index) |
| Add an existing observable event to generator.
|
Idx | InsObservableEvent (const std::string &rName) |
| Add new named observable event to generator.
|
void | InsUnobservableEvent (Idx index) |
| Add an existing unobservable event to generator.
|
Idx | InsUnobservableEvent (const std::string &rName) |
| Add new named unobservable event to generator.
|
void | SetObservable (Idx index) |
| Mark event observable (by index)
|
void | SetObservable (const std::string &rName) |
| Mark event observable (by name)
|
void | SetObservable (const EventSet &rEvents) |
| Mark set of events observable.
|
void | ClrObservable (Idx index) |
| Mark event unobservable (by index)
|
void | ClrObservable (const std::string &rName) |
| Mark event unobservable (by name)
|
void | ClrObservable (const EventSet &rEvents) |
| Mark set of events unobservable.
|
bool | Observable (Idx index) const |
| Is event observable (by index)
|
bool | Observable (const std::string &rName) const |
| Is event observable (by name)
|
EventSet | ObservableEvents (void) const |
| Get EventSet with observable events.
|
EventSet | UnobservableEvents (void) const |
| Get EventSet with unobservable events.
|
void | InsForcibleEvent (Idx index) |
| Add an existing forcible event to generator.
|
Idx | InsForcibleEvent (const std::string &rName) |
| Add new named forcible event to generator.
|
void | InsUnforcibleEvent (Idx index) |
| Add an existing unforcible event to generator.
|
Idx | InsUnforcibleEvent (const std::string &rName) |
| Add new named unforcible event to generator.
|
void | SetForcible (Idx index) |
| Mark event forcible (by index)
|
void | SetForcible (const std::string &rName) |
| Mark event forcible (by name)
|
void | SetForcible (const EventSet &rEvents) |
| Mark set of events forcible.
|
void | ClrForcible (Idx index) |
| Mark event unforcible (by index)
|
void | ClrForcible (const std::string &rName) |
| Mark event unforcible (by name)
|
void | ClrForcible (const EventSet &rEvents) |
| Mark set of events unforcible.
|
bool | Forcible (Idx index) const |
| Is event forcible (by index)
|
bool | Forcible (const std::string &rName) const |
| Is event forcible (by name)
|
EventSet | ForcibleEvents (void) const |
| Get EventSet with forcible events.
|
EventSet | UnforcibleEvents (void) const |
| Get EventSet with unforcible events.
|
void | InsHighlevelEvent (Idx index) |
| Add an existing abstraction event to generator.
|
Idx | InsHighlevelEvent (const std::string &rName) |
| Add new named abstraction event to generator.
|
void | InsLowlevelEvent (Idx index) |
| Add an existing low-level event to generator.
|
Idx | InsLowlevelEvent (const std::string &rName) |
| Add new named low-level event to generator.
|
void | SetHighlevel (Idx index) |
| Mark event as highlevel event (by index)
|
void | SetHighlevel (const std::string &rName) |
| Mark event as highlevel event (by name)
|
void | SetHighlevel (const EventSet &rEvents) |
| Mark set of events as high-level events.
|
void | SetLowlevel (Idx index) |
| Mark event as low-level event (by index)
|
void | SetLowlevel (const std::string &rName) |
| Mark event as low-level event (by name)
|
void | SetLowlevel (const EventSet &rEvents) |
| Mark set of events as low-level events.
|
bool | Highlevel (Idx index) const |
| Test for high-level event (by index)
|
bool | Highlevel (const std::string &rName) const |
| Test for high-level event (by name)
|
bool | Lowlevel (Idx index) const |
| Test for low-level event (by index)
|
bool | Lowlevel (const std::string &rName) const |
| Test for low-level event (by name)
|
EventSet | HighlevelEvents (void) const |
| Get EventSet of all high-level events.
|
EventSet | LowlevelEvents (void) const |
| Get EventSet of all low-level events.
|
| TaGenerator (void) |
| Construct an emtpy Generator.
|
| TaGenerator (const TaGenerator &rOtherGen) |
| Copy-constructor (from TaGenerator, incl attributes)
|
| TaGenerator (const vGenerator &rOtherGen) |
| Copy-constructor (from vGenerator, set attributes to default)
|
| TaGenerator (const std::string &rFileName) |
| Construct from file.
|
virtual TaGenerator | NewAGen (void) const |
| Construct on stack.
|
virtual | ~TaGenerator (void) |
| Destructor.
|
virtual TaGenerator & | operator= (const TaGenerator &rOtherGen) |
| Assignment operator (uses Assign(Generator&) )
|
virtual void | Move (TaGenerator &rGen) |
| Destructive copy to other TaGenerator Copy method with increased performance at the cost of invalidating the source data.
|
virtual void | Move (Generator &rGen) |
| Destructive copy to other Generator.
|
virtual void | Clear (void) |
| Clear generator data.
|
const TaEventSet< EventAttr > & | Alphabet (void) const |
| Return const reference to alphabet.
|
const TaStateSet< StateAttr > & | States (void) const |
| Return reference to state set.
|
const ATransSet & | TransRel (void) const |
| Return reference to transition relation.
|
void | TransRel (TransSetX1EvX2 &res) const |
| Get copy of trantision relation sorted by other compare operator, e.g.
|
void | TransRel (TransSetEvX1X2 &res) const |
void | TransRel (TransSetEvX2X1 &res) const |
void | TransRel (TransSetX2EvX1 &res) const |
void | TransRel (TransSetX2X1Ev &res) const |
void | TransRel (TransSetX1X2Ev &res) const |
bool | InsEvent (Idx index) |
| Add an existing event to alphabet by index.
|
Idx | InsEvent (const std::string &rName) |
| Add named event to generator.
|
bool | InsEvent (Idx index, const EventAttr &rAttr) |
| Add an existing event to alphabet by index, incl.
|
Idx | InsEvent (const std::string &rName, const EventAttr &rAttr) |
| Add named event with attribute to generator.
|
void | InjectAlphabet (const EventSet &rNewalphabet) |
| Set mpAlphabet without consistency check.
|
void | InjectAlphabet (const TaEventSet< EventAttr > &rNewalphabet) |
| Set mpAlphabet without consistency check.
|
Idx | InsState (void) |
| Add new anonymous state to generator.
|
Idx | InsState (const StateAttr &attr) |
| Add new anonymous state with attribute to generator.
|
bool | InsState (Idx index) |
| Add (perhaps new) state to generator.
|
Idx | InsState (const std::string &rName) |
| Add new named state to generator.
|
Idx | InsState (const std::string &rName, const StateAttr &attr) |
| Add new named state with attribute to generator.
|
bool | InsState (Idx index, const StateAttr &attr) |
| Add (perhaps new) state with attribute to generator.
|
void | InjectStates (const StateSet &rNewStates) |
| Inject a complete state set without consistency checks.
|
void | InjectStates (const TaStateSet< StateAttr > &rNewStates) |
| Inject a complete state set without consistency checks.
|
bool | SetTransition (const Transition &rTransition) |
| Add a transition to generator.
|
void | InjectTransRel (const TransSet &rNewtransrel) |
| Set transition relation without consistency check.
|
void | InjectTransRel (const ATransSet &rNewtransrel) |
| Set transition relation without consistency check.
|
void | EventAttribute (Idx index, const EventAttr &rAttr) |
| Set attribute for existing event.
|
void | EventAttribute (Idx index, const Type &rAttr) |
| Set attribute for existing event.
|
const EventAttr & | EventAttribute (Idx index) const |
| Event attribute lookup.
|
const EventAttr & | EventAttribute (const std::string &rName) const |
| Event attribute lookup.
|
EventAttr * | EventAttributep (Idx index) |
| Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute.
|
EventAttr * | EventAttributep (const std::string &rName) |
| Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute.
|
void | StateAttribute (Idx index, const StateAttr &rAttr) |
| Set attribute for existing state.
|
void | StateAttribute (Idx index, const Type &rAttr) |
| Set attribute for existing state.
|
const StateAttr & | StateAttribute (Idx index) const |
| State attribute lookup.
|
StateAttr * | StateAttributep (Idx index) |
| State attribute pointer (to access Attribute methods) note: may insert explicit default attribute.
|
void | TransAttribute (const Transition &rTrans, const TransAttr &rAttr) |
| Set attribute for existing transition.
|
void | TransAttribute (const Transition &rTrans, const Type &rAttr) |
| Set attribute for existing transition.
|
const TransAttr & | TransAttribute (const Transition &rTrans) const |
| Get attribute for existing transition.
|
TransAttr * | TransAttributep (const Transition &rTrans) |
| Get attribute pointer for existing transition note: may insert explicit default attribute.
|
void | GlobalAttribute (const GlobalAttr &rAttr) |
| Set global attribute.
|
void | GlobalAttribute (const Type &rAttr) |
| Set global attribute.
|
const GlobalAttr & | GlobalAttribute (void) const |
| Get global attribute ref.
|
GlobalAttr * | GlobalAttributep (void) |
| Get global attribute pointer.
|
| vGenerator (void) |
| Default constructor.
|
| vGenerator (const vGenerator &rOtherGen) |
| Copy-constructror.
|
| vGenerator (const std::string &rFileName) |
| Construct from file.
|
virtual | ~vGenerator (void) |
| Destructor.
|
virtual vGenerator & | AssignWithoutAttributes (const vGenerator &rGen) |
| Copy from other vGenerator, ignore attributes.
|
virtual vGenerator & | operator= (const vGenerator &rOtherGen) |
| Assignment operator (uses Assign method)
|
virtual void | Version (const std::string &rVersion, vGenerator &rResGen) const |
| Create another version of this generator.
|
virtual void | Version (Idx version, vGenerator &rResGen) const |
| Create another version of this generator.
|
virtual void | Version (const std::string &rPattern, const std::string &rReplacement, vGenerator &rResGen) const |
| Create another version of this generator.
|
void | Name (const std::string &rName) |
| Set the generator's name.
|
const std::string & | Name (void) const |
| Get generator's name.
|
void | ClearStates (void) |
| Clear all states and transitions, maintain alphabet.
|
Idx | AlphabetSize (void) const |
| Get number of events in alphabet.
|
Idx | Size (void) const |
| Get generator size (number of states)
|
Idx | InitStatesSize (void) const |
| Get number of initial states.
|
Idx | MarkedStatesSize (void) const |
| Get number of marked states.
|
bool | Empty (void) const |
| Check if generator is empty (no states)
|
bool | AlphabetEmpty (void) const |
| Check if alphabet is Empty.
|
bool | TransRelEmpty (void) const |
| Check if transition relation is empty.
|
bool | InitStatesEmpty (void) const |
| Check if set of initial states are empty.
|
bool | MarkedStatesEmpty (void) const |
| Check if set of marked states are empty.
|
SymbolTable * | EventSymbolTablep (void) const |
| Get Pointer to EventSymbolTable currently used by this vGenerator.
|
virtual void | EventSymbolTablep (SymbolTable *pSymTab) |
| Set EventSymbolTable to be used by this vGenerator.
|
virtual void | EventSymbolTablep (const vGenerator &rOtherGen) |
| Set EventSymbolTable as given by rOtherGen.
|
EventSet | NewEventSet (void) const |
| Create EventSet with generator's EventSymbolTable (on stack).
|
EventSet * | NewEventSetp (void) const |
| Create EventSet with generator's EventSymbolTable (on heap).
|
Idx | EventIndex (const std::string &rName) const |
| Event index lookup.
|
std::string | EventName (Idx index) const |
| Event name lookup.
|
void | EventName (Idx index, const std::string &rName) |
| Set name for existing event.
|
std::string | UniqueEventName (const std::string &rName) const |
| Create a new unique symbolic event name.
|
bool | EventRename (Idx event, const std::string &rNewName) |
| Rename event in this generator.
|
bool | EventRename (const std::string &rOldName, const std::string &rNewName) |
| Rename event in this generator.
|
const SymbolTable & | StateSymbolTable (void) const |
| Get StateSymbolTable.
|
void | StateSymbolTable (const SymbolTable &rSymTab) |
| Set StateSymbolTable.
|
Idx | StateIndex (const std::string &rName) const |
| State index lookup.
|
std::string | StateName (Idx index) const |
| State name lookup.
|
void | StateName (Idx index, const std::string &rName) |
| Set name of state.
|
void | ClearStateNames (void) |
| Remove all names from generator's StateSymbolTable.
|
void | ClrStateName (Idx index) |
| Clear name for individual state.
|
void | ClrStateName (const std::string &rName) |
| Clear name for individual state.
|
bool | StateNamesEnabled (void) const |
| Whether libFAUEDS functions are requested to generate state names.
|
void | StateNamesEnabled (bool flag) |
| Enable/disable libFAUEDS functions to automatically generate state names.
|
void | SetDefaultStateNames (void) |
| Assign each state a default name based on its index.
|
void | EnforceStateNames (const std::string &rTemplate) |
| For all states without a symbolic name, assign a name based on suggested template and the index.
|
std::string | UniqueStateName (const std::string &rName) const |
| Create a new unique symbolic state name.
|
EventSet::Iterator | AlphabetBegin (void) const |
| Iterator to Begin() of alphabet.
|
EventSet::Iterator | AlphabetEnd (void) const |
| Iterator to End() of alphabet.
|
bool | ExistsEvent (Idx index) const |
| Test existence of event in alphabet.
|
bool | ExistsEvent (const std::string &rName) const |
| Test existence of event in alphabet.
|
EventSet::Iterator | FindEvent (Idx index) const |
| Returns a iterator to event index in alphabet.
|
EventSet::Iterator | FindEvent (const std::string &rName) const |
| Returns a iterator to event index in alphabet.
|
StateSet::Iterator | StatesBegin (void) const |
| Iterator to Begin() of state set.
|
StateSet::Iterator | StatesEnd (void) const |
| Iterator to End() of state set.
|
bool | ExistsState (Idx index) const |
| Test existence of state in state set.
|
bool | ExistsState (const std::string &name) const |
| Test existence of state in state set.
|
StateSet::Iterator | FindState (Idx index) const |
| Returns a iterator to state index in state set.
|
StateSet::Iterator | FindState (const std::string &rName) const |
| Returns a iterator to state with specified name.
|
Idx | InitState (void) const |
| Return initial state.
|
StateSet::Iterator | InitStatesBegin (void) const |
| Iterator to Begin() of mInitStates.
|
StateSet::Iterator | InitStatesEnd (void) const |
| Iterator to End() of mInitStates.
|
bool | ExistsInitState (Idx index) const |
| Test existence of state in mInitStates.
|
StateSet::Iterator | FindInitState (Idx index) const |
| Iterator to state index in mInitStates.
|
const StateSet & | InitStates (void) const |
| Const ref to initial states.
|
StateSet::Iterator | MarkedStatesBegin (void) const |
| Iterator to Begin() of mMarkedStates.
|
StateSet::Iterator | MarkedStatesEnd (void) const |
| Iterator to End() of mMarkedStates.
|
bool | ExistsMarkedState (Idx index) const |
| Test existence of state in mMarkedStates.
|
StateSet::Iterator | FindMarkedState (Idx index) const |
| Returns a iterator to state index in mMarkedStates.
|
const StateSet & | MarkedStates (void) const |
| Return const ref of marked states.
|
TransSet::Iterator | TransRelBegin (void) const |
| Iterator to Begin() of transition relation.
|
TransSet::Iterator | TransRelEnd (void) const |
| Iterator to End() of transition relation.
|
TransSet::Iterator | TransRelBegin (Idx x1) const |
| Iterator to begin of transitions with x1 as predecessor state.
|
TransSet::Iterator | TransRelEnd (Idx x1) const |
| iterator to end of transitions with x1 as predecessor state.
|
TransSet::Iterator | TransRelBegin (Idx x1, Idx ev) const |
| iterator to begin of transitions with x1 as predecessor state and event ev.
|
TransSet::Iterator | TransRelEnd (Idx x1, Idx ev) const |
| Iterator to end of transitions with x1 as predecessor state and event ev.
|
TransSet::Iterator | FindTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2) const |
| iterator to transition given by x1, ev, x2
|
TransSet::Iterator | FindTransition (Idx x1, Idx ev, Idx x2) const |
| Iterator to transition given by x1, ev, x2.
|
TransSet::Iterator | FindTransition (const Transition &rTrans) const |
| Iterator to transition.
|
Transition | TransitionByNames (const std::string &rX1, const std::string &rEv, const std::string &rX2) const |
| Convebience function.
|
void | InsEvents (const EventSet &events) |
| Add new named events to generator.
|
bool | DelEvent (Idx index) |
| Delete event from generator by index.
|
bool | DelEvent (const std::string &rName) |
| Delete event from generator by name.
|
void | DelEvents (const EventSet &rEvents) |
| Delete a set of events from generator.
|
bool | DelEventFromAlphabet (Idx index) |
| Delete event from alphabet without consistency check.
|
void | RestrictAlphabet (const EventSet &rNewalphabet) |
| Restricts mpAlphabet incl removing resp.
|
void | InsStates (const StateSet &rStates) |
| Add anonymous states to generator.
|
bool | DelState (Idx index) |
| Delete a state from generator by index.
|
bool | DelState (const std::string &rName) |
| Delete a state from generator by name.
|
void | DelStates (const StateSet &rDelStates) |
| Delete a set of states Cleans mpStates, mInitStates, mMarkedStates, mpTransrel, and mpStateSymboltable.
|
bool | DelStateFromStates (Idx index) |
| Delete a state from generator without consistency check.
|
StateSet::Iterator | DelStateFromStates (StateSet::Iterator pos) |
| Delete a state from generator without consistency check.
|
void | RestrictStates (const StateSet &rStates) |
| Restrict states Cleans mpStates, mInitStates, mMarkedStates, mpTransrel, and mpStateSymboltable.
|
void | InjectState (Idx index) |
| Inject an existing state index into generators mStates Use with care! For use in performance optimized functions.
|
Idx | InsInitState (void) |
| Create new anonymous state and set as initial state.
|
bool | InsInitState (Idx index) |
| Add (perhaps new) state to generator and turn it into a initial state.
|
Idx | InsInitState (const std::string &rName) |
| Create a new named state and set as initial state.
|
void | InsInitStates (const StateSet &rStates) |
| Add (perhaps new) anonymous initial states to generator.
|
Idx | InsMarkedState (void) |
| Create new anonymous state and set as marked state.
|
bool | InsMarkedState (Idx index) |
| Add (perhaps new) state to generator and turn it into a marked state.
|
Idx | InsMarkedState (const std::string &rName) |
| Create a new named state and set as marked state.
|
void | InsMarkedStates (const StateSet &rStates) |
| Add (perhaps new) anonymous initial states to generator.
|
void | SetInitState (Idx index) |
| Set an existing state as initial state by index.
|
void | SetInitState (const std::string &rName) |
| Set an existing state as initial state by name.
|
void | InjectInitStates (const StateSet &rNewInitStates) |
| Replace mInitStates with StateSet given as parameter without consistency checks.
|
void | ClrInitState (Idx index) |
| Unset an existing state as initial state by index.
|
void | ClrInitState (const std::string &rName) |
| Unset an existing state as initial state by name.
|
StateSet::Iterator | ClrInitState (StateSet::Iterator pos) |
| Unset an existing state as initial state by iterator.
|
void | ClearInitStates (void) |
| Clear all mInitStates.
|
void | SetMarkedState (Idx index) |
| Set an existing state as marked state by index.
|
void | SetMarkedState (const std::string &rName) |
| Set an existing state as marked state by name.
|
void | ClrMarkedState (Idx index) |
| Unset an existing state as marked state by index.
|
void | ClrMarkedState (const std::string &rName) |
| Unset an existing state as marked state by name.
|
StateSet::Iterator | ClrMarkedState (StateSet::Iterator pos) |
| Unset an existing state as marked state by iterator.
|
void | ClearMarkedStates (void) |
| Clear all marked states.
|
void | InjectMarkedStates (const StateSet &rNewMarkedStates) |
| Replace mMarkedStates with StateSet given as parameter without consistency checks.
|
void | ClrTransition (Idx x1, Idx ev, Idx x2) |
| Remove a transition by indices.
|
void | ClrTransition (const Transition &rTrans) |
| Remove a transition by transition object.
|
TransSet::Iterator | ClrTransition (TransSet::Iterator it) |
| Remove a transition by iterator.
|
void | ClrTransitions (Idx x1, Idx ev) |
| Remove a transitions by state and event.
|
void | ClrTransitions (Idx x1) |
| Remove a transitions by state.
|
void | ClearTransRel (void) |
| Clear all transitions.
|
void | InjectTransition (const Transition &rTrans) |
| Set transition without consistency check.
|
virtual void | ClearAttributes (void) |
| Clear Attributes.
|
virtual bool | UpdateAttributes (void) |
| Updates internal attributes.
|
virtual void | ClearEventAttributes (void) |
| Clear event attributes.
|
virtual void | ClrEventAttribute (Idx index) |
| Clear attribute for existing event.
|
virtual void | EventAttributes (const EventSet &rEventSet) |
| Set attributes for existing events.
|
virtual void | ClearStateAttributes (void) |
| Clear state attributes.
|
virtual void | ClrStateAttribute (Idx index) |
| Clear attribute for existing state.
|
virtual void | ClearTransAttributes (void) |
| Clear transition attributes.
|
virtual void | ClrTransAttribute (const Transition &rTrans) |
| Clear attribute for existing transition.
|
virtual void | ClearGlobalAttribute (void) |
| Clear global attribute.
|
virtual void | GlobalAttributeTry (const Type &rAttr) |
| Set global attribute.
|
StateSet | AccessibleSet (void) const |
| Compute set of accessible states.
|
bool | Accessible (void) |
| Make generator accessible.
|
bool | IsAccessible (void) const |
| Check if generator is accessible.
|
StateSet | CoaccessibleSet (void) const |
| Compute set of Coaccessible states.
|
bool | Coaccessible (void) |
| Make generator Coaccessible.
|
bool | IsCoaccessible (void) const |
| Check if generator is Coaccessible.
|
StateSet | BlockingStates (void) const |
| Compute set of blocking states.
|
StateSet | TerminalStates (void) const |
| Compute set of terminal states.
|
StateSet | TerminalStates (const StateSet &rStates) const |
| Compute set of terminal states.
|
bool | IsComplete (void) const |
| Check if generator is complete.
|
bool | IsComplete (const StateSet &rStates) const |
| Check if generator is complete.
|
bool | IsComplete (const EventSet &rSigmaO) const |
| Check if generator is complete w.r.t.
|
bool | Complete (void) |
| Make generator Complete.
|
bool | Complete (const EventSet &rSigmaO) |
| Make generator Complete w.r.t.
|
StateSet | TrimSet (void) const |
| Compute set of trim states.
|
bool | Trim (void) |
| Make generator trim.
|
bool | IsTrim (void) const |
| Check if generator is trim.
|
bool | OmegaTrim (void) |
| Make generator omega-trim.
|
bool | IsOmegaTrim (void) const |
| Check if generator is omega-trim.
|
EventSet | UsedEvents (void) const |
| Return used events (executed in transitions)
|
EventSet | UnusedEvents (void) const |
| Return unused events.
|
void | MinimizeAlphabet (void) |
| Set the alphabet to used events.
|
EventSet | ActiveEventSet (Idx x1) const |
| Return active event set at state x1.
|
TransSet | ActiveTransSet (Idx x1) const |
| Return active transition set at state x1.
|
StateSet | TransRelStates (void) const |
| Return the states covered by transitions.
|
Idx | SuccessorState (Idx x1, Idx ev) const |
| Return the successor state of state x1 with event ev.
|
StateSet | SuccessorStates (Idx x1) const |
| Return the successor states of state x1.
|
StateSet | SuccessorStates (Idx x1, Idx ev) const |
| Return the successor states of state x1 with event ev.
|
void | SetMinStateIndexMap (void) const |
| Set minimal index map for file io of generator states.
|
void | ClearMinStateIndexMap (void) const |
| Clear minimal index map for 1:1 file io.
|
Idx | MinStateIndex (Idx index) const |
| Get state index as is it will be written to file.
|
void | MinStateIndex (void) |
| Re-enumerate states.
|
Idx | MaxStateIndex (void) const |
| Get maximum state index used in this generator.
|
const std::map< Idx, Idx > & | MinStateIndexMap (void) const |
| Get state index translation map.
|
std::string | EStr (Idx index) const |
| Pretty printable event name for index (eg for debugging).
|
std::string | SStr (Idx index) const |
| Return pretty printable state name for index (eg for debugging)
|
std::string | TStr (const Transition &rTrans) const |
| Return pretty printable transition (eg for debugging)
|
void | GraphWrite (const std::string &rFileName, const std::string &rOutFormat="", const std::string &rDotExec="dot") const |
| Produce graphical representation of this generator.
|
bool | operator< (const vGenerator &rOtherGen) const |
| Order for sorting containers of generators.
|
void | WriteAlphabet (void) const |
| Write generators alphabet to console.
|
std::string | AlphabetToString (void) const |
| Write generators alphabet to string.
|
void | WriteAlphabet (TokenWriter &rTw) const |
| Write generators alphabet to tokenwriter.
|
void | WriteStateSet (const StateSet &rStateSet) const |
| Write a stateset to console (no re-indexing).
|
std::string | StateSetToString (const StateSet &rStateSet) const |
| Write a stateset to string (no re-indexing).
|
std::string | StateSetToText (const StateSet &rStateSet) const |
| Write a stateset to formated text (no re-indexing).
|
void | WriteStateSet (TokenWriter &rTw, const StateSet &rStateSet) const |
| Write a stateset to TokenWriter.
|
void | DWriteStateSet (TokenWriter &rTw, const StateSet &rStateSet) const |
| Write a stateset to TokenWriter (debug version, no re-indexing)
|
std::string | StatesToString (void) const |
| Write stateset of this generator to a string (no re-indexing)
|
std::string | StatesToText (void) const |
| Write stateset of this generator to formated text (no re-indexing)
|
std::string | MarkedStatesToString (void) const |
| Write set of marked states to a string (no re-indexing)
|
std::string | InitStatesToString (void) const |
| Write set of initial states to a string (no re-indexing)
|
void | WriteTransRel (void) const |
| Write transition relation to console (no re-indexing)
|
std::string | TransRelToString (void) const |
| Write transition relation to string (no re-indexing)
|
std::string | TransRelToText (void) const |
| Write transition relation to formated text (no re-indexing)
|
void | WriteTransRel (TokenWriter &rTw) const |
| Write transition relation to tokenwriter.
|
void | DWriteTransRel (TokenWriter &rTw) const |
| Write transition relation to tokenwriter (debug version)
|
virtual void | DDotWrite (const std::string &rFileName) const |
| Writes generator to dot input format (no re-indexing).
|
virtual void | XDotWrite (const std::string &rFileName) const |
| Writes generator to dot input format for export to VioLib.
|
void | ReadStateSet (TokenReader &rTr, const std::string &rLabel, StateSet &rStateSet) const |
| Read a state set.
|
bool | ReindexOnWrite (void) const |
| Test whether file-i/o uses minimal state indicees.
|
void | ReindexOnWrite (bool flag) |
| Enable/disable minimal state indicees for file-i/o.
|
| Type (void) |
| Constructor.
|
| Type (const Type &rType) |
| Copy constructor.
|
virtual | ~Type (void) |
| Destructor.
|
virtual Type & | operator= (const Type &rSrc) |
| Assign configurationdata from other object.
|
virtual bool | Equal (const Type &rOther) const |
| Test equality of configuration data.
|
virtual bool | operator== (const Type &rOther) const |
| Test equality of configuration data.
|
virtual bool | operator!= (const Type &rOther) const |
| Test equality of configuration data.
|
void | Write (const Type *pContext=0) const |
| Write configuration data to console.
|
void | Write (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const |
| Write configuration data to a file.
|
void | Write (const std::string &pFileName, std::ios::openmode openmode) const |
| Write configuration data to a file.
|
void | Write (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data to TokenWriter.
|
virtual void | XWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data to an XML file.
|
void | XWrite (const Type *pContext=0) const |
| Write configuration data in XML format to concole Note: this write function uses the virtual function DoXWrite(), to be reimplemented by derived classes.
|
void | XWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data in XML format to TokenWriter.
|
std::string | ToString (const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data to a string.
|
std::string | ToText (const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data to a formated string.
|
void | DWrite (const Type *pContext=0) const |
| Write configuration data to console, debugging format.
|
void | DWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const |
| Write configuration data to a file, debugging format.
|
void | DWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
| Write configuration data in debug format to TokenWriter.
|
void | SWrite (TokenWriter &rTw) const |
| Write statistics comment to TokenWriter.
|
void | SWrite (void) const |
| Write statistics comment to console.
|
std::string | ToSText (void) const |
| Write statistics to a string.
|
void | Read (const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0) |
| Read configuration data from file with label specified.
|
void | FromString (const std::string &rString, const std::string &rLabel="", const Type *pContext=0) |
| Read configuration data from a string.
|
void | Read (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0) |
| Read configuration data from TokenReader with label sepcified.
|
Private Member Functions |
std::vector< std::string > | ParseStackSymbolNames (const std::string &rStr) const |
| Get stack symbols from given string.
|
Detailed Description
template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
class faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
Generator with push down extensions.
Overview
tratarterteartawrtrae
Contents
fvdgdthrthorthtiop
Definition at line 37 of file pd_pdgenerator.h.
Constructor & Destructor Documentation
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Member Function Documentation
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrTransition |
( |
const std::string & |
rX1, |
|
|
const std::string & |
rEv, |
|
|
const std::string & |
rPop, |
|
|
const std::string & |
rPush, |
|
|
const std::string & |
rX2 |
|
) |
| |
XXX: NEW Delete an existing PushdownTransition constructed with the provided parameters.
Pop and Push vector are given as strings where stack symbol names written in squared brackets separated by comma
(Function specially to access from LuaFAUDES)
- Parameters
-
rX1 | Start state of new PushdownTransition. |
rEv | Event of new PushdownTransition. |
rPop | String of to be popped stack symbols when transitioning |
rPush | String of to be pushed stack symbols when transitioning |
rX2 | End state of new PushdownTransition. |
- Returns
- True, if the transition was deleted from the generator
Definition at line 2049 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Delete an exisiting PushdownTransition with the provided parameters.
- Parameters
-
x1 | Start state of the PushdownTransition. |
ev | Event of the PushdownTransition. |
x2 | End state of the PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was deleted from the generator
Definition at line 1994 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrTransition |
( |
Idx |
x1, |
|
|
Idx |
ev, |
|
|
Idx |
x2, |
|
|
const std::vector< Idx > & |
rPop, |
|
|
const std::vector< Idx > & |
rPush |
|
) |
| |
Delete an exisiting PushdownTransition with the provided parameters.
- Parameters
-
x1 | Start state of the PushdownTransition. |
ev | Event of the PushdownTransition. |
x2 | End state of the PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was deleted from the generator
Definition at line 1989 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrTransition |
( |
Idx |
x1, |
|
|
Idx |
ev, |
|
|
Idx |
x2, |
|
|
const std::vector< std::string > & |
rPop, |
|
|
const std::vector< std::string > & |
rPush |
|
) |
| |
XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
- Parameters
-
x1 | Start state of the PushdownTransition. |
ev | Event of the PushdownTransition. |
x2 | End state of the PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was deleted from the generator
Definition at line 1999 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrTransition |
( |
std::string |
x1, |
|
|
std::string |
ev, |
|
|
std::string |
x2, |
|
|
const std::vector< Idx > & |
rPop, |
|
|
const std::vector< Idx > & |
rPush |
|
) |
| |
XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
- Parameters
-
x1 | Start state of the PushdownTransition. |
ev | Event of the PushdownTransition. |
x2 | End state of the PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was deleted from the generator
Definition at line 2004 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrTransition |
( |
std::string |
x1, |
|
|
std::string |
ev, |
|
|
std::string |
x2, |
|
|
const std::vector< StackSymbol > & |
rPop, |
|
|
const std::vector< StackSymbol > & |
rPush |
|
) |
| |
XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
- Parameters
-
x1 | Start state of the PushdownTransition. |
ev | Event of the PushdownTransition. |
x2 | End state of the PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was deleted from the generator
Definition at line 2009 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrTransition |
( |
std::string |
x1, |
|
|
std::string |
ev, |
|
|
std::string |
x2, |
|
|
const std::vector< std::string > & |
rPop, |
|
|
const std::vector< std::string > & |
rPush |
|
) |
| |
XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
- Parameters
-
x1 | Start state of the PushdownTransition. |
ev | Event of the PushdownTransition. |
x2 | End state of the PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was deleted from the generator
Definition at line 2014 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Delete an exisiting PushdownTransition with the provided parameters.
- Parameters
-
rTrans | the transition |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was deleted from the generator
Definition at line 2019 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrTransition |
( |
const Transition & |
rTrans, |
|
|
const std::vector< std::string > & |
rPop, |
|
|
const std::vector< std::string > & |
rPush |
|
) |
| |
XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.
- Parameters
-
rTrans | the transition |
rPop | Stack symbol name vector to be popped when transitioning |
rPush | Stack symbol name vector to be pushed when transitioning |
- Returns
- True, if the transition was deleted from the generator
Definition at line 2024 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrTransition |
( |
const Transition & |
rTrans, |
|
|
const std::vector< Idx > & |
rPop, |
|
|
const std::vector< Idx > & |
rPush |
|
) |
| |
Delete an exisiting PushdownTransition with the provided parameters.
- Parameters
-
rTrans | the transition |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was deleted from the generator
Definition at line 2029 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Throw exception if stack symbol refers to stack symbol not in stack symbol set.
- Exceptions
-
Definition at line 2189 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Throw exception if stack symbol refers to stack symbol not in stack symbol set.
- Exceptions
-
Definition at line 2200 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Throw exception if vector of stack symbols contains stack symbols not in generators stack symbol set.
- Exceptions
-
Definition at line 2211 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ConsistentVectorStackSymbol |
( |
const std::vector< Idx > & |
rVector | ) |
const |
Throw exception if vector of stack symbols contains stack symbols not in generators stack symbol set.
- Exceptions
-
Definition at line 2226 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Delete stack symbol from generator by index.
- Parameters
-
index | Index of stack symbol |
- Returns
- True if stack symbol did exist
Definition at line 1673 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DelStackSymbol |
( |
const std::string & |
rName | ) |
|
Delete stack symbol from generator by name.
mpStackSymbolTable stays untouched.
- Parameters
-
rName | Name of stack symbol |
- Returns
- True if stack symbol did exist
Definition at line 1679 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Delete a set of stack symbols from generator.
- Parameters
-
Definition at line 1685 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Return the dfaState attribute of a state.
- Parameters
-
index | the index of the state |
Definition at line 2291 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DotRead |
( |
const std::string & |
rFileName | ) |
|
|
virtual |
XXX: NEW ! Create generator from dot input format.
The dot file format is specified by the graphviz package (see http://www.graphviz.org). The package includes the dot command line tool to generate a graphical representation of the generators graph. (For more details see pd_dotparser.h)
Note: Function will clear current generator.
- Parameters
-
- Exceptions
-
Definition at line 2513 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DotWrite |
( |
const std::string & |
rFileName | ) |
const |
|
virtual |
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DotWrite |
( |
const std::string & |
rFileName, |
|
|
bool |
printInfo, |
|
|
bool |
lr |
|
) |
| const |
|
virtual |
XXX: NEW ! Writes generator to dot input format.
The dot file format is specified by the graphviz package; see http://www.graphviz.org. The package includes the dot command line tool to generate a graphical representation of the generators graph.
- Parameters
-
rFileName | File to write |
printInfo | Printing contained informations (eg. Alphabet, Stack symbols etc.) |
lr | Create graph from left to right |
- Exceptions
-
Definition at line 2311 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Throw exception if vector of stack symbols is empty.
- Exceptions
-
Definition at line 2241 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EmptyVectorPopPush |
( |
const std::vector< Idx > & |
rVector | ) |
const |
Throw exception if vector of stack symbols is empty.
- Exceptions
-
Definition at line 2252 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
XXX: NEW ! Return pretty printable event name (eg for debugging)
- Parameters
-
- Returns
- Event name or Idx:<idx> for nonexistent name
Definition at line 1514 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Test existence of stack symbol in mStackSymbols.
- Parameters
-
- Returns
- true / false
Definition at line 1693 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsStackSymbol |
( |
const std::string & |
rName | ) |
const |
Test existence of stack symbol in mStackSymbols.
- Parameters
-
- Returns
- True if stack symbol exists
Definition at line 1698 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition |
( |
const std::string & |
rX1, |
|
|
const std::string & |
rEv, |
|
|
const std::string & |
rX2 |
|
) |
| const |
Test for transition given by x1, ev, x2.
- Parameters
-
rX1 | name of Predecessor state |
rEv | name of Event |
rX2 | name of Successor state |
- Returns
- true / false
Reimplemented from faudes::vGenerator.
Definition at line 2054 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Test for transition given by x1, ev, x2.
- Parameters
-
x1 | Predecessor state |
ev | Event |
x2 | Successor state |
- Returns
- true / false
Reimplemented from faudes::vGenerator.
Definition at line 2059 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition |
( |
Idx |
x1, |
|
|
Idx |
ev, |
|
|
Idx |
x2, |
|
|
const std::vector< Idx > & |
pop, |
|
|
const std::vector< Idx > & |
push |
|
) |
| const |
XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
- Parameters
-
x1 | Predecessor state |
ev | Event |
x2 | Successor state |
rPop | Vector of stacksym indices to be popped |
rPush | Vector of stacksym indices to be pushed |
- Returns
- true / false
Definition at line 2079 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition |
( |
Idx |
x1, |
|
|
Idx |
ev, |
|
|
Idx |
x2, |
|
|
const std::vector< std::string > & |
pop, |
|
|
const std::vector< std::string > & |
push |
|
) |
| const |
XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
- Parameters
-
x1 | Predecessor state |
ev | Event |
x2 | Successor state |
rPop | Vector of stacksym names to be popped |
rPush | Vector of stacksym names to be pushed |
- Returns
- true / false
Definition at line 2084 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
- Parameters
-
x1 | Predecessor state |
ev | Event |
x2 | Successor state |
rPop | Stack symbol vector to be popped |
rPush | Stack symbol vector to be pushed |
- Returns
- true / false
Definition at line 2089 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition |
( |
const std::string & |
x1, |
|
|
const std::string & |
ev, |
|
|
const std::string & |
x2, |
|
|
const std::vector< StackSymbol > & |
pop, |
|
|
const std::vector< StackSymbol > & |
push |
|
) |
| const |
XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
- Parameters
-
x1 | Name of predecessor state |
ev | Name of event |
x2 | Name of successor state |
rPop | Stack symbol vector to be popped |
rPush | Stack symbol vector to be pushed |
- Returns
- true / false
Definition at line 2094 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition |
( |
const std::string & |
x1, |
|
|
const std::string & |
ev, |
|
|
const std::string & |
x2, |
|
|
const std::vector< std::string > & |
pop, |
|
|
const std::vector< std::string > & |
push |
|
) |
| const |
XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
- Parameters
-
x1 | Name of predecessor state |
ev | Name of event |
x2 | Name of successor state |
rPop | Vector of stacksym names to be popped |
rPush | Vector of stacksym names to be pushed |
- Returns
- true / false
Definition at line 2099 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition |
( |
const std::string & |
x1, |
|
|
const std::string & |
ev, |
|
|
const std::string & |
x2, |
|
|
const std::vector< Idx > & |
pop, |
|
|
const std::vector< Idx > & |
push |
|
) |
| const |
XXX NEW ! Test for transition given by x1, ev, x2, pop, push.
- Parameters
-
x1 | Name of predecessor state |
ev | Name of event |
x2 | Name of successor state |
rPop | Vector of stacksym indices to be popped |
rPush | Vector of stacksym indices to be pushed |
- Returns
- true / false
Definition at line 2104 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
XXX NEW ! Test for transition given by transition, pop, push.
- Parameters
-
rTrans | Transition |
rPop | Vector of stacksymbols to be popped |
rPush | Vector of stacksymbols to be pushed |
- Returns
- true / false
Definition at line 2109 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition |
( |
const Transition & |
rTrans, |
|
|
const std::vector< std::string > & |
rPop, |
|
|
const std::vector< std::string > & |
rPush |
|
) |
| const |
XXX NEW ! Test for transition given by transition, pop, push.
- Parameters
-
rTrans | Transition |
rPop | Vector of stacksym names to be popped |
rPush | Vector of stacksym names to be pushed |
- Returns
- true / false
Definition at line 2114 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition |
( |
const Transition & |
rTrans, |
|
|
const std::vector< Idx > & |
pop, |
|
|
const std::vector< Idx > & |
push |
|
) |
| const |
XXX: NEW ! Test for transition given trans, pop, push.
- Parameters
-
rTrans | The transition |
rPop | Stack symbol vector to be popped |
rPush | Stack symbol vector to be pushed |
- Returns
- true / false
Definition at line 2119 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition |
( |
const std::string & |
x1, |
|
|
const std::string & |
ev, |
|
|
const std::string & |
pop, |
|
|
const std::string & |
push, |
|
|
const std::string & |
x2 |
|
) |
| const |
XXX: NEW Test for transition given with the provided parameters.
Pop and Push vector are given as strings where stack symbol names written in squared brackets separated by comma
(Function specially to access from LuaFAUDES)
- Parameters
-
rX1 | Start state of new PushdownTransition. |
rEv | Event of new PushdownTransition. |
rPop | String of to be popped stack symbols when transitioning |
rPush | String of to be pushed stack symbols when transitioning |
rX2 | End state of new PushdownTransition. |
- Returns
- True, if the transition was deleted from the generator
Definition at line 2134 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StackSymbolSet::Iterator faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::FindStackSymbol |
( |
Idx |
index | ) |
const |
Returns an iterator to stack symbol index in mStackSymbols.
- Parameters
-
- Returns
- StackSymbolSet::Iterator to stack symbol index
Definition at line 1704 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StackSymbolSet::Iterator faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::FindStackSymbol |
( |
const std::string & |
rName | ) |
const |
Returns an iterator to stack symbol index in mStackSymbols.
- Parameters
-
rName | Stack symbol name of index to find |
- Returns
- StackSymbolSet::Iterator to stack symbol index
Definition at line 1709 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Get Pointer to global StackSymbolTable.
This is a static member of SymbolTable and used as default for all derived generator classes and instantiated objects.
- Returns
- Pointer to global StackSymbolTable
Definition at line 1531 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Overwrites mStackSymbols with new stack symbols without consistency check.
- Parameters
-
newstacksymbols | New stack symbols that are written to mStackSymbols |
Definition at line 1592 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
XXX: NEW Add lambda stack symbol to generator or return existing one.
- Returns
- index of lambda stack symbol
Definition at line 2164 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsStackSymbol |
( |
const std::string & |
rName | ) |
|
Add named stack symbol to generator.
An entry in the mpStackSymbolTable will be made if stack symbol is new.
- Parameters
-
rName | Name of the stack symbol to add |
- Returns
- New unique index
Definition at line 1628 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Add stack symbol to generator.
An entry in the mpStackSymbolTable will be made if stack symbol is new.
- Parameters
-
rSymbol | The stack symbol to add |
- Returns
- New unique index
Definition at line 1633 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Add new named stack symbols to generator.
- Parameters
-
Definition at line 1638 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsDeterministic |
( |
void |
| ) |
const |
Check if the pushdown generator is deterministic.
A pushdown generator is deterministic iff distinct steps from a reachable configuration append elements of the Alphabet to the history variable. Note that this implies that the existence of an outgoing transition, which event is lambda, in state q requiring stack-top A prevents other outgoing transitions in q requiring stack-top A.
@ return true, if the generator is deterministic
Reimplemented from faudes::vGenerator.
Definition at line 1767 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
determine if the event associated with the given index is lambda
- Parameters
-
- Returns
- true if the associated event is lambda, else false
Definition at line 2180 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
determine if the stack symbol associated with the given index is lambda
- Parameters
-
index | index of a stack symbol |
- Returns
- true if the associated stack symbol is lambda, else false
Definition at line 2172 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Return the merge attribute of a state.
- Parameters
-
index | the index of the state |
Definition at line 2275 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Construct a stack symbol on heap.
- Returns
- Pointer to new empty StackSymbolSet on heap
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Assignment operator (uses Assign) Note: you must reimplement this operator in derived classes in order to handle internal pointers correctly.
- Parameters
-
Definition at line 69 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::vector< std::string > faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ParseStackSymbolNames |
( |
const std::string & |
rStr | ) |
const |
|
private |
Get stack symbols from given string.
stack symbol names should be written in squared brackets separated by comma
Definition at line 1922 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Get the pop/push set attached to this transition.
- Parameters
-
- Returns
- the pop/push set
Definition at line 2141 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Get an iterator to the beginning of the pop/push set attached to this transition.
- Parameters
-
- Returns
- iterator to the beginning of the pop/push set
Definition at line 2154 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Get an iterator to the end of the pop/push set attached to this transition.
- Parameters
-
- Returns
- iterator to the end of the pop/push set
Definition at line 2159 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetDfaState |
( |
const std::string & |
stateName, |
|
|
Idx |
dfaIndex |
|
) |
| |
Marks a state as being derived from the intersection with a DFA.
- Parameters
-
stateName | the name of the state to mark |
dfaIndex | the index of the DFA state |
Definition at line 2280 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Marks a state as being derived from the intersection with a DPA.
- Parameters
-
index | the index of the state to mark |
dfaIndex | the index of the DFA state |
Definition at line 2286 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Marks a state as being merged from other data type by setting mpMerge.
- Parameters
-
stateName | the name of the state to mark |
rMerge | the merged state |
Definition at line 2264 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Marks a state as being merged from other data type by setting mpMerge.
- Parameters
-
index | the index of the state to mark |
rMerge | the merged state |
Definition at line 2270 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetStackBottom |
( |
const std::string & |
rName | ) |
|
Add named stack bottom to generator.
An entry in the mpStackSymbolTable will be made if stack symbol is new. This will replace any old stack bottom symbol.
- Parameters
-
rName | Name of the stack bottom symbol to add |
- Returns
- Stack bottom symbol index
Definition at line 1643 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Add stack bottom to generator.
An entry in the mpStackSymbolTable will be made if stack symbol is new. This will replace any old stack bottom symbol.
- Parameters
-
rSymbol | The stack bottom symbol to add |
- Returns
- Stack bottom symbol index
Definition at line 1650 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Add stack bottom to generator.
An entry in the mpStackSymbolTable will be made if stack symbol is new. This will replace any old stack bottom symbol.
- Parameters
-
idx | The index of the stack bottom symbol to add |
- Returns
- Stack bottom symbol index
Definition at line 1657 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition |
( |
const std::string & |
rX1, |
|
|
const std::string & |
rEv, |
|
|
const std::string & |
rX2 |
|
) |
| |
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and all stack symbols in rPop and rPush.
- Parameters
-
rTrans | new transition |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was new to the generator
Definition at line 1833 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition |
( |
const Transition & |
trans, |
|
|
const std::vector< std::string > & |
rPop, |
|
|
const std::vector< std::string > & |
rPush |
|
) |
| |
XXX:NEW Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and all stack symbols in rPop and rPush.
- Parameters
-
rTrans | new transition |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was new to the generator
Definition at line 1872 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition |
( |
const Transition & |
rTrans, |
|
|
const std::vector< Idx > & |
rPop, |
|
|
const std::vector< Idx > & |
rPush |
|
) |
| |
Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and all stack symbols in rPop and rPush.
- Parameters
-
rTrans | new transition |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was new to the generator
Definition at line 1837 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and stack symbols in rPop and rPush.
- Parameters
-
x1 | Start state of new PushdownTransition. |
ev | Event of new PushdownTransition. |
x2 | End state of new PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was new to the generator
Definition at line 1863 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition |
( |
Idx |
x1, |
|
|
Idx |
ev, |
|
|
Idx |
x2, |
|
|
const std::vector< Idx > & |
rPop, |
|
|
const std::vector< Idx > & |
rPush |
|
) |
| |
Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and stack symbols in rPop and rPush.
- Parameters
-
x1 | Start state of new PushdownTransition. |
ev | Event of new PushdownTransition. |
x2 | End state of new PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was new to the generator
Definition at line 1868 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition |
( |
const std::string & |
rX1, |
|
|
const std::string & |
rEv, |
|
|
const std::string & |
rX2, |
|
|
const std::vector< StackSymbol > & |
rPop, |
|
|
const std::vector< StackSymbol > & |
rPush |
|
) |
| |
Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and stack symbols in rPop and rPush.
- Parameters
-
rX1 | Start state of new PushdownTransition. |
rEv | Event of new PushdownTransition. |
rX2 | End state of new PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was new to the generator
Definition at line 1877 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition |
( |
const std::string & |
rX1, |
|
|
const std::string & |
rEv, |
|
|
const std::string & |
rX2, |
|
|
const std::vector< std::string > & |
rPop, |
|
|
const std::vector< std::string > & |
rPush |
|
) |
| |
XXX NEW ! Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and stack symbols in rPop and rPush. (Note: necessary for parsing .dot files)
- Parameters
-
rX1 | Start state of new PushdownTransition. |
rEv | Event of new PushdownTransition. |
rX2 | End state of new PushdownTransition. |
rPop | Vector of Stack symbol names to be popped when transitioning |
rPush | Vector of Stack symbol names to be pushed when transitioning |
- Returns
- True, if the transition was new to the generator
Definition at line 1912 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition |
( |
Idx |
x1, |
|
|
Idx |
ev, |
|
|
Idx |
x2, |
|
|
const std::vector< std::string > & |
rPop, |
|
|
const std::vector< std::string > & |
rPush |
|
) |
| |
XXX NEW ! Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and stack symbols in rPop and rPush. (Note: necessary for parsing .dot files)
- Parameters
-
rX1 | Start state of new PushdownTransition. |
rEv | Event of new PushdownTransition. |
rX2 | End state of new PushdownTransition. |
rPop | Vector of Stack symbol names to be popped when transitioning |
rPush | Vector of Stack symbol names to be pushed when transitioning |
- Returns
- True, if the transition was new to the generator
Definition at line 1907 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition |
( |
const std::string & |
rX1, |
|
|
const std::string & |
rEv, |
|
|
const std::string & |
rX2, |
|
|
const std::vector< Idx > & |
rPop, |
|
|
const std::vector< Idx > & |
rPush |
|
) |
| |
Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and stack symbols in rPop and rPush.
- Parameters
-
rX1 | Start state of new PushdownTransition. |
rEv | Event of new PushdownTransition. |
rX2 | End state of new PushdownTransition. |
rPop | Stack symbol vector to be popped when transitioning |
rPush | Stack symbol vector to be pushed when transitioning |
- Returns
- True, if the transition was new to the generator
Definition at line 1917 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition |
( |
const std::string & |
rX1, |
|
|
const std::string & |
rEv, |
|
|
const std::string & |
rPop, |
|
|
const std::string & |
rPush, |
|
|
const std::string & |
rX2 |
|
) |
| |
XXX: NEW Inserts new PushdownTransition constructed from parameters.
Performs consistency checks for x1, x2, ev and stack symbols in pop and push. Pop and Push vector are given as strings where stack symbol names written in squared brackets separated by comma
(Function specially to access from LuaFAUDES)
- Parameters
-
rX1 | Start state of new PushdownTransition. |
rEv | Event of new PushdownTransition. |
rPop | String of to be popped stack symbols when transitioning |
rPush | String of to be pushed stack symbols when transitioning |
rX2 | End state of new PushdownTransition. |
- Returns
- True, if the transition was new to the generator
Definition at line 1983 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Get the index of the stack bottom symbol.
- Returns
- index of the stack bottom symbol
Definition at line 1668 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolIndex |
( |
const std::string & |
rName | ) |
const |
Looks up stack symbol index for given name.
- Parameters
-
- Returns
- Stack symbol index or 0 for nonexistent
Definition at line 1623 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::string faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolName |
( |
Idx |
index | ) |
const |
Looks up stack symbol name for given index.
- Parameters
-
- Returns
- Stack symbol name
Definition at line 1598 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolName |
( |
Idx |
index, |
|
|
const std::string & |
rName |
|
) |
| const |
XXX:NEW Set new stack symbol name for existing index.
FAUDES_CHECKED checks if index exists in NameSet.
- Parameters
-
index | Index to edit |
rName | New name |
- Exceptions
-
Exception |
- index not in this set (id 60)
- index not found in SymbolTable (id 42)
- name already associated with another index (id 44)
|
Definition at line 1603 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::vector< Idx > faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolNamesToIndices |
( |
const std::vector< std::string > |
symbolnames | ) |
const |
XXX:NEW Converts a vector of stack symbol names to a vector of Idx.
- Parameters
-
symbols | the vector of stack symbol names |
- Returns
- vector of Idx
Definition at line 1757 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Returns stack symbol for given index.
- Parameters
-
- Returns
- Stack symbol object
Definition at line 1618 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Get stack symbol set as const reference.
- Returns
- mStackSymbols
Definition at line 1582 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StackSymbolSet::Iterator faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolsBegin |
( |
void |
| ) |
const |
Iterator to Begin() of mStackSymbols.
- Returns
- iterator to begin of mStackSymbols
Definition at line 1738 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StackSymbolSet::Iterator faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolsEnd |
( |
void |
| ) |
const |
Iterator to End() of mStackSymbols.
- Returns
- iterator to end of mStackSymbols
Definition at line 1743 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Get stack symbol set as pointer.
- Returns
- mStackSymbols
Definition at line 1587 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Number of stacks symbols in mStackSymbols.
- Returns
- Number of stack symbols in mStackSymbols
Definition at line 1577 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Converts a vector of stack symbols to a vector of Idx.
- Parameters
-
symbols | the vector of stack symbols |
- Returns
- vector of Idx
Definition at line 1747 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
XXX:NEW ! Get string of stack symbol for given index.
- Parameters
-
- Returns
- Stack symbol name or Idx:<idx> for nonexistent name
Definition at line 1714 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Get Pointer to mpStackSymbolTable.
- Returns
- Pointer mpStackSymbolTable
Definition at line 1536 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
XXX: NEW ! Return pretty printable state name (eg for debugging)
- Parameters
-
- Returns
- State name or Idx:<idx> for nonexistent name
Definition at line 1497 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::string faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::UniqueStackSymbolName |
( |
const std::string & |
rName | ) |
const |
XXX NEW Get unique stack symbole name.
- Parameters
-
- Returns
- string The unique name
Definition at line 1730 of file pd_pdgenerator.h.
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
The documentation for this class was generated from the following file:
libFAUDES 2.28c
--- 2016.09.30
--- c++ api documentaion by doxygen
|