faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > Class Template Reference

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 TpdGeneratoroperator= (const TpdGenerator &rOtherGen)
 Assignment operator (uses copy) Note: you must reimplement this operator in derived classes in order to handle internal pointers correctly.
virtual TpdGeneratoroperator= (const vGenerator &rOtherGen)
 Assignment operator (uses copy)
 TpdGenerator (const std::string &rFileName)
 Construct from file.
TpdGeneratorNew (void) const
 Construct on heap.
TpdGeneratorCopy (void) const
 Construct copy on heap.
virtual const TypeCast (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)
SymbolTableStackSymbolTablep (void) const
 Get Pointer to mpStackSymbolTable.
void StackSymbolTablep (SymbolTable *pStackSymTab)
 Set StackSymbolTable.
StackSymbolSet NewStackSymbolSet (void) const
 Return a NameSet with generator's StackSymbolTable.
StackSymbolSetNewStackSymbolSetp (void) const
 Construct a stack symbol on heap.
Idx StackSymbolsSize (void) const
 Number of stacks symbols in mStackSymbols.
const StackSymbolSetStackSymbols (void) const
 Get stack symbol set as const reference.
StackSymbolSetStackSymbolsp (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< IdxStackSymbolsToIndices (const std::vector< StackSymbol > symbols) const
 Converts a vector of stack symbols to a vector of Idx.
std::vector< IdxStackSymbolNamesToIndices (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 PopPushSetPopPush (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 MergeAbstractMerge (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)
 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.
- Public Member Functions inherited from faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
 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 TcGeneratoroperator= (const TcGenerator &rOtherGen)
 Assignment operator (uses copy ) Note: you must reimplement this operator in derived classes in order to handle internal pointers correctly.
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.
- Public Member Functions inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
 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 TaGeneratorAssign (const TaGenerator &rGen)
 Copy from other TaGenerator (incl attributes)
virtual TaGeneratorAssign (const vGenerator &rGen)
 Copy from other Generator (try to maintain attributes)
virtual TaGeneratorAssign (const Type &rSrc)
 Copy from other faudes Type.
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 TaGeneratoroperator= (const TaGenerator &rOtherGen)
 Assignment operator (uses Copy(TaGenerator&) )
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 ATransSetTransRel (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.
const GlobalAttr & GlobalAttribute (void) const
 Get global attribute ref.
GlobalAttr * GlobalAttributep (void)
 Get global attribute pointer.
- Public Member Functions inherited from faudes::vGenerator
 vGenerator (void)
 Default constructor.
 vGenerator (const vGenerator &rOtherGen)
 Copy-constructror.
 vGenerator (const std::string &rFileName)
 Construct from file.
virtual ~vGenerator (void)
 Destructor.
virtual vGeneratorAssignWithoutAttributes (const vGenerator &rGen)
 Copy from other vGenerator, ignore attributes.
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.
SymbolTableEventSymbolTablep (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).
EventSetNewEventSetp (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 SymbolTableStateSymbolTable (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 StateSetInitStates (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 StateSetMarkedStates (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 GlobalAttribute (const Type &rAttr)
 Set 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.
- Public Member Functions inherited from faudes::Type
 Type (void)
 Constructor.
 Type (const Type &rType)
 Copy constructor.
virtual ~Type (void)
 Destructor.
virtual Typeoperator= (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.

Static Public Member Functions

static SymbolTableGlobalStackSymbolTablep (void)
 Get Pointer to global StackSymbolTable.

Private Member Functions

std::vector< std::string > ParseStackSymbolNames (const std::string &rStr) const
 Get stack symbols from given string.

Additional Inherited Members

- Public Types inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
typedef TaTransSet< TransAttr > ATransSet
 Convenience typdef for member transiton set.
- Protected Member Functions inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
virtual void NewCore (void)
 Allocate my heap members (attribute dependent types)
virtual void UpdateCore (void)
 Update my secondary pointers for new core.
- Static Protected Member Functions inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
static const TaNameSet
< EventAttr > & 
AlphabetTaGen (void)
 Static default alphabet prototype (incl.
static const TaIndexSet
< StateAttr > & 
StatesTaGen (void)
 Static default state set prototype (incl.
static const ATransSetTransRelTaGen (void)
 Static default transition relation prototype (incl.
static const GlobalAttr & GlobalTaGen (void)
 Static default global attribute prototype (configures global attribute type)
- Protected Attributes inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
TaNameSet< EventAttr > * pAlphabet
 Alphabet, pointer with actual attribute type.
TaIndexSet< StateAttr > * pStates
 State set, pointer with actual attribute type.
ATransSetpTransRel
 Transition relation, pointer with actual attribute type.
GlobalAttr * pGlobalAttribute
 Global attribute, pointer with actual attribute type.
- Static Protected Attributes inherited from faudes::vGenerator
static Idx msObjectCount = 0
 Number of generator objects.
static bool msStateNamesEnabledDefault = true
 Default for automatic statenames.
static bool msReindexOnWriteDefault = false
 Default for automatic statenames.

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 >
faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TpdGenerator ( void  )

Constructor.

Definition at line 1446 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TpdGenerator ( const TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rOtherGen)

Copy constructor.

Parameters
rOtherGen

Definition at line 1457 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TpdGenerator ( const vGenerator rOtherGen)

Copy constructor (no attributes)

Parameters
rOtherGen

Definition at line 1463 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TpdGenerator ( const std::string &  rFileName)

Construct from file.

Parameters
rFileNameName of file
Exceptions
Exception
  • file format errors (id 1, 50, 51, 52)

Definition at line 1472 of file pd_pdgenerator.h.

Member Function Documentation

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
virtual const Type* faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Cast ( const Type pOther) const
inlinevirtual

Type test.

Uses C++ dynamic cast to test whether the specified object casts to a PushdownGenerator.

Returns
TpdGenerator reference if dynamic cast succeeds, else NULL

Reimplemented from faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 116 of file pd_pdgenerator.h.

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
rX1Start state of new PushdownTransition.
rEvEvent of new PushdownTransition.
rPopString of to be popped stack symbols when transitioning
rPushString of to be pushed stack symbols when transitioning
rX2End state of new PushdownTransition.
Returns
True, if the transition was deleted from the generator

Definition at line 2039 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< StackSymbol > &  rPop,
const std::vector< StackSymbol > &  rPush 
)

Delete an exisiting PushdownTransition with the provided parameters.

Parameters
x1Start state of the PushdownTransition.
evEvent of the PushdownTransition.
x2End state of the PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack symbol vector to be pushed when transitioning
Returns
True, if the transition was deleted from the generator

Definition at line 1984 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
x1Start state of the PushdownTransition.
evEvent of the PushdownTransition.
x2End state of the PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack symbol vector to be pushed when transitioning
Returns
True, if the transition was deleted from the generator

Definition at line 1979 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
x1Start state of the PushdownTransition.
evEvent of the PushdownTransition.
x2End state of the PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack 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 ( 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
x1Start state of the PushdownTransition.
evEvent of the PushdownTransition.
x2End state of the PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack 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 ( 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
x1Start state of the PushdownTransition.
evEvent of the PushdownTransition.
x2End state of the PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack 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< std::string > &  rPop,
const std::vector< std::string > &  rPush 
)

XXX:NEW Delete an exisiting PushdownTransition with the provided parameters.

Parameters
x1Start state of the PushdownTransition.
evEvent of the PushdownTransition.
x2End state of the PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack 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 ( const Transition rTrans,
const std::vector< StackSymbol > &  rPop,
const std::vector< StackSymbol > &  rPush 
)

Delete an exisiting PushdownTransition with the provided parameters.

Parameters
rTransthe transition
rPopStack symbol vector to be popped when transitioning
rPushStack 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 ( 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
rTransthe transition
rPopStack symbol name vector to be popped when transitioning
rPushStack symbol name 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 >
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
rTransthe transition
rPopStack symbol vector to be popped when transitioning
rPushStack 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 >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ConsistentStackSymbol ( const StackSymbol rStackSymbol) const

Throw exception if stack symbol refers to stack symbol not in stack symbol set.

Exceptions
Exception
  • invalid stack symbol (id 1001)

Definition at line 2179 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ConsistentStackSymbol ( Idx  idx) const

Throw exception if stack symbol refers to stack symbol not in stack symbol set.

Exceptions
Exception
  • invalid stack symbol (id 1001)

Definition at line 2190 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< StackSymbol > &  rVector) const

Throw exception if vector of stack symbols contains stack symbols not in generators stack symbol set.

Exceptions
Exception
  • invalid stack symbol (id 1001)

Definition at line 2201 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
Exception
  • invalid stack symbol (id 1001)

Definition at line 2216 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > * faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Copy ( void  ) const
virtual

Construct copy on heap.

Constructs a TpdGenerator on heap.

Returns
new Generator

Reimplemented from faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1550 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DelStackSymbol ( Idx  index)

Delete stack symbol from generator by index.

Parameters
indexIndex of stack symbol
Returns
True if stack symbol did exist

Definition at line 1663 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
rNameName of stack symbol
Returns
True if stack symbol did exist

Definition at line 1669 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DelStackSymbols ( const StackSymbolSet rStackSymbols)

Delete a set of stack symbols from generator.

Parameters
rStackSymbolsStackSymbolSet containing stack symbols to remove

Definition at line 1675 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DfaState ( Idx  index) const

Return the dfaState attribute of a state.

Parameters
indexthe index of the state

Definition at line 2281 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
rFileNameFile to parse
Exceptions
Exception
  • IO errors (id 2)

Definition at line 2503 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

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. See also vGenerator::GraphWrite().

Parameters
rFileNameFile to write
Exceptions
Exception
  • IO errors (id 2)

Reimplemented from faudes::vGenerator.

Definition at line 2494 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,
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
rFileNameFile to write
printInfoPrinting contained informations (eg. Alphabet, Stack symbols etc.)
lrCreate graph from left to right
Exceptions
Exception
  • IO errors (id 2)

Definition at line 2301 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< StackSymbol > &  rVector) const

Throw exception if vector of stack symbols is empty.

Exceptions
Exception
  • invalid stack symbol (id 1001)

Definition at line 2231 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
Exception
  • invalid stack symbol (id 1001)

Definition at line 2242 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::string faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::EventStr ( Idx  idx) const

XXX: NEW ! Return pretty printable event name (eg for debugging)

Parameters
idxindex
Returns
Event name or Idx:<idx> for nonexistent name

Definition at line 1504 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsStackSymbol ( Idx  index) const

Test existence of stack symbol in mStackSymbols.

Parameters
indexStack symbol index
Returns
true / false

Definition at line 1683 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
rNameStack symbol name
Returns
True if stack symbol exists

Definition at line 1688 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
rX1name of Predecessor state
rEvname of Event
rX2name of Successor state
Returns
true / false

Reimplemented from faudes::vGenerator.

Definition at line 2044 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

Test for transition given by x1, ev, x2.

Parameters
x1Predecessor state
evEvent
x2Successor state
Returns
true / false

Reimplemented from faudes::vGenerator.

Definition at line 2049 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

Test for transition.

Parameters
rTranstransition
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 >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition ( Idx  x1,
Idx  ev 
) const

Test for transition given by x1, ev.

Parameters
x1Predecessor state
evEvent
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 >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsTransition ( Idx  x1) const

Test for transition given by x1.

Parameters
x1Predecessor state
Returns
true / false

Reimplemented from faudes::vGenerator.

Definition at line 2064 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< Idx > &  pop,
const std::vector< Idx > &  push 
) const

XXX NEW ! Test for transition given by x1, ev, x2, pop, push.

Parameters
x1Predecessor state
evEvent
x2Successor state
rPopVector of stacksym indices to be popped
rPushVector of stacksym indices to be pushed
Returns
true / false

Definition at line 2069 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
x1Predecessor state
evEvent
x2Successor state
rPopVector of stacksym names to be popped
rPushVector of stacksym names to be pushed
Returns
true / false

Definition at line 2074 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< StackSymbol > &  rPop,
const std::vector< StackSymbol > &  rPush 
) const

XXX NEW ! Test for transition given by x1, ev, x2, pop, push.

Parameters
x1Predecessor state
evEvent
x2Successor state
rPopStack symbol vector to be popped
rPushStack symbol vector 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 ( 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
x1Name of predecessor state
evName of event
x2Name of successor state
rPopStack symbol vector to be popped
rPushStack symbol vector to be pushed
Returns
true / false

Definition at line 2084 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
x1Name of predecessor state
evName of event
x2Name of successor state
rPopVector of stacksym names to be popped
rPushVector of stacksym names 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< Idx > &  pop,
const std::vector< Idx > &  push 
) const

XXX NEW ! Test for transition given by x1, ev, x2, pop, push.

Parameters
x1Name of predecessor state
evName of event
x2Name of successor state
rPopVector of stacksym indices to be popped
rPushVector of stacksym indices 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 Transition rTrans,
const std::vector< StackSymbol > &  rPop,
const std::vector< StackSymbol > &  rPush 
) const

XXX NEW ! Test for transition given by transition, pop, push.

Parameters
rTransTransition
rPopVector of stacksymbols to be popped
rPushVector of stacksymbols 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 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
rTransTransition
rPopVector of stacksym names to be popped
rPushVector of stacksym names to be pushed
Returns
true / false

Definition at line 2104 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
rTransThe transition
rPopStack symbol vector to be popped
rPushStack symbol vector 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 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
rX1Start state of new PushdownTransition.
rEvEvent of new PushdownTransition.
rPopString of to be popped stack symbols when transitioning
rPushString of to be pushed stack symbols when transitioning
rX2End state of new PushdownTransition.
Returns
True, if the transition was deleted from the generator

Definition at line 2124 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
indexIndex to find
Returns
StackSymbolSet::Iterator to stack symbol index

Definition at line 1694 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
rNameStack symbol name of index to find
Returns
StackSymbolSet::Iterator to stack symbol index

Definition at line 1699 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
SymbolTable * faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::GlobalStackSymbolTablep ( void  )
static

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 1521 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InjectStackSymbols ( const StackSymbolSet newstacksymbols)

Overwrites mStackSymbols with new stack symbols without consistency check.

Parameters
newstacksymbolsNew stack symbols that are written to mStackSymbols

Definition at line 1582 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsLambdaStackSymbol ( )

XXX: NEW Add lambda stack symbol to generator or return existing one.

Returns
index of lambda stack symbol

Definition at line 2154 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
rNameName of the stack symbol to add
Returns
New unique index

Definition at line 1618 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsStackSymbol ( const StackSymbol rSymbol)

Add stack symbol to generator.

An entry in the mpStackSymbolTable will be made if stack symbol is new.

Parameters
rSymbolThe stack symbol to add
Returns
New unique index

Definition at line 1623 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsStackSymbols ( const StackSymbolSet rStackSymbolSet)

Add new named stack symbols to generator.

Parameters
rStackSymbolSetStackSymbolSet

Definition at line 1628 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 1757 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsEventLambda ( Idx  index) const

determine if the event associated with the given index is lambda

Parameters
indexindex of an event
Returns
true if the associated event is lambda, else false

Definition at line 2170 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsStackSymbolLambda ( Idx  index) const

determine if the stack symbol associated with the given index is lambda

Parameters
indexindex of a stack symbol
Returns
true if the associated stack symbol is lambda, else false

Definition at line 2162 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const MergeAbstract * faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Merge ( Idx  index) const

Return the merge attribute of a state.

Parameters
indexthe index of the state

Definition at line 2265 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > * faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::New ( void  ) const
virtual

Construct on heap.

Constructs a TpdGenerator on heap.

Returns
new Generator

Reimplemented from faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1537 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::NewPdGen ( void  ) const

Construct on stack.

Constructs a TpdGenerator on stack.

Returns
new Generator

Definition at line 1558 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StackSymbolSet faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::NewStackSymbolSet ( void  ) const

Return a NameSet with generator's StackSymbolTable.

Returns
New empty StackSymbolSet on stack
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StackSymbolSet* faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::NewStackSymbolSetp ( void  ) const

Construct a stack symbol on heap.

Returns
Pointer to new empty StackSymbolSet on heap
template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
virtual TpdGenerator& faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::operator= ( const TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rOtherGen)
inlinevirtual

Assignment operator (uses copy) Note: you must reimplement this operator in derived classes in order to handle internal pointers correctly.

Parameters
rOtherGenOther generator

Definition at line 69 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
virtual TpdGenerator& faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::operator= ( const vGenerator rOtherGen)
inlinevirtual

Assignment operator (uses copy)

Parameters
rOtherGenOther generator

Reimplemented from faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 77 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 1912 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const PopPushSet & faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::PopPush ( const Transition rTrans) const

Get the pop/push set attached to this transition.

Parameters
rTransthe transition
Returns
the pop/push set

Definition at line 2131 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
PopPushSet::const_iterator faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::PopPushBegin ( const Transition rTrans) const

Get an iterator to the beginning of the pop/push set attached to this transition.

Parameters
rTransthe transition
Returns
iterator to the beginning of the pop/push set

Definition at line 2144 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
PopPushSet::const_iterator faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::PopPushEnd ( const Transition rTrans) const

Get an iterator to the end of the pop/push set attached to this transition.

Parameters
rTransthe transition
Returns
iterator to the end of the pop/push set

Definition at line 2149 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
stateNamethe name of the state to mark
dfaIndexthe index of the DFA state

Definition at line 2270 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetDfaState ( Idx  index,
Idx  dfaIndex 
)

Marks a state as being derived from the intersection with a DPA.

Parameters
indexthe index of the state to mark
dfaIndexthe index of the DFA state

Definition at line 2276 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetMerge ( const std::string &  stateName,
MergeAbstract rMerge 
)

Marks a state as being merged from other data type by setting mpMerge.

Parameters
stateNamethe name of the state to mark
rMergethe merged state

Definition at line 2254 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetMerge ( Idx  index,
MergeAbstract rMerge 
)

Marks a state as being merged from other data type by setting mpMerge.

Parameters
indexthe index of the state to mark
rMergethe merged state

Definition at line 2260 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
rNameName of the stack bottom symbol to add
Returns
Stack bottom symbol index

Definition at line 1633 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetStackBottom ( const StackSymbol rSymbol)

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
rSymbolThe stack bottom symbol to add
Returns
Stack bottom symbol index

Definition at line 1640 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetStackBottom ( const Idx  idx)

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
idxThe index of the stack bottom symbol to add
Returns
Stack bottom symbol index

Definition at line 1647 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 
)

Add a transition to generator by indices.

States and event must already exist!

Define FAUDES_CHECKED for consistency checks.

Parameters
x1Predecessor state index
evEvent index
x2Successor state index
Returns
True, if the transition was new the generator
Exceptions
Exception
  • state or event not in generator (id 95)

Reimplemented from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1813 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 
)

Add a transition to generator by names.

Statename and eventname must already exist!

Parameters
rX1Predecessor state name
rEvEvent name
rX2Successor state name
Returns
True, if the transition was new the generator
Exceptions
Exception
  • state or event not in generator (id 95)
  • state name not known (id 90)
  • event name not known (id 66)

Reimplemented from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1807 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::SetTransition ( const Transition rTransition,
const TransAttr &  rAttr 
)

Add a transition with attribute to generator.

States and event must already exist!

Define FAUDES_CHECKED for consistency checks.

Parameters
rTransitiontransition
rAttrattribute
Returns
True, if the transition was new the generator

Reimplemented from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 1818 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< StackSymbol > &  rPop,
const std::vector< StackSymbol > &  rPush 
)

Inserts new PushdownTransition constructed from parameters.

Performs consistency checks for x1, x2, ev and all stack symbols in rPop and rPush.

Parameters
rTransnew transition
rPopStack symbol vector to be popped when transitioning
rPushStack symbol vector to be pushed when transitioning
Returns
True, if the transition was new to the generator

Definition at line 1823 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
rTransnew transition
rPopStack symbol vector to be popped when transitioning
rPushStack symbol vector to be pushed when transitioning
Returns
True, if the transition was new to the generator

Definition at line 1862 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
rTransnew transition
rPopStack symbol vector to be popped when transitioning
rPushStack symbol vector to be pushed when transitioning
Returns
True, if the transition was new to the generator

Definition at line 1827 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< 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
x1Start state of new PushdownTransition.
evEvent of new PushdownTransition.
x2End state of new PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack symbol vector to be pushed when transitioning
Returns
True, if the transition was new to the generator

Definition at line 1853 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
x1Start state of new PushdownTransition.
evEvent of new PushdownTransition.
x2End state of new PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack symbol vector to be pushed when transitioning
Returns
True, if the transition was new to the generator

Definition at line 1858 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
rX1Start state of new PushdownTransition.
rEvEvent of new PushdownTransition.
rX2End state of new PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack symbol vector to be pushed when transitioning
Returns
True, if the transition was new to the generator

Definition at line 1867 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
rX1Start state of new PushdownTransition.
rEvEvent of new PushdownTransition.
rX2End state of new PushdownTransition.
rPopVector of Stack symbol names to be popped when transitioning
rPushVector of Stack symbol names to be pushed when transitioning
Returns
True, if the transition was new to the generator

Definition at line 1902 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
rX1Start state of new PushdownTransition.
rEvEvent of new PushdownTransition.
rX2End state of new PushdownTransition.
rPopVector of Stack symbol names to be popped when transitioning
rPushVector of Stack symbol names to be pushed when transitioning
Returns
True, if the transition was new to the generator

Definition at line 1897 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
rX1Start state of new PushdownTransition.
rEvEvent of new PushdownTransition.
rX2End state of new PushdownTransition.
rPopStack symbol vector to be popped when transitioning
rPushStack symbol vector 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 &  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
rX1Start state of new PushdownTransition.
rEvEvent of new PushdownTransition.
rPopString of to be popped stack symbols when transitioning
rPushString of to be pushed stack symbols when transitioning
rX2End state of new PushdownTransition.
Returns
True, if the transition was new to the generator

Definition at line 1973 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackBottom ( ) const

Get the index of the stack bottom symbol.

Returns
index of the stack bottom symbol

Definition at line 1658 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
rNameStack symbol name
Returns
Stack symbol index or 0 for nonexistent

Definition at line 1613 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
indexStack symbol index
Returns
Stack symbol name

Definition at line 1588 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
indexIndex to edit
rNameNew 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 1593 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
symbolsthe vector of stack symbol names
Returns
vector of Idx

Definition at line 1747 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StackSymbol faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolObj ( Idx  index) const

Returns stack symbol for given index.

Parameters
indexStack symbol index
Returns
Stack symbol object

Definition at line 1608 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const StackSymbolSet & faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbols ( void  ) const

Get stack symbol set as const reference.

Returns
mStackSymbols

Definition at line 1572 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 1728 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 1733 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StackSymbolSet * faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolsp ( void  )

Get stack symbol set as pointer.

Returns
mStackSymbols

Definition at line 1577 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolsSize ( void  ) const

Number of stacks symbols in mStackSymbols.

Returns
Number of stack symbols in mStackSymbols

Definition at line 1567 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::vector< Idx > faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolsToIndices ( const std::vector< StackSymbol symbols) const

Converts a vector of stack symbols to a vector of Idx.

Parameters
symbolsthe vector of stack symbols
Returns
vector of Idx

Definition at line 1737 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::string faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolStr ( Idx  idx) const

XXX:NEW ! Get string of stack symbol for given index.

Parameters
rNameStack symbol name
Returns
Stack symbol name or Idx:<idx> for nonexistent name

Definition at line 1704 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
SymbolTable * faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolTablep ( void  ) const

Get Pointer to mpStackSymbolTable.

Returns
Pointer mpStackSymbolTable

Definition at line 1526 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StackSymbolTablep ( SymbolTable pStackSymTab)

Set StackSymbolTable.

Parameters
pStackSymTabPointer SymbolTable

Definition at line 1531 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::string faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StateStr ( Idx  idx) const

XXX: NEW ! Return pretty printable state name (eg for debugging)

Parameters
idxindex
Returns
State name or Idx:<idx> for nonexistent name

Definition at line 1487 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TransRelSize ( void  ) const

Get number of transitions including pop-push-pairs.

Returns
number of transitions

Reimplemented from faudes::vGenerator.

Definition at line 1796 of file pd_pdgenerator.h.

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
rNameThe name prefix
Returns
string The unique name

Definition at line 1720 of file pd_pdgenerator.h.

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TpdGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Valid ( void  )
virtual

Check if generator is valid.

Returns
Success

Reimplemented from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 2286 of file pd_pdgenerator.h.


The documentation for this class was generated from the following file:

libFAUDES 2.26g --- 2015.08.17 --- c++ api documentaion by doxygen