|   |  
  |  
||||||
| 
 |  
|||||||
| 
 cfl_generator.h   
Go to the documentation of this file. 
   51  * The faudes::vGenerator models the plain five-tupel G = (X, Sigma, Delta, X_0, X_m) to represent 
   63  * For read access, const refererences to sets are provided. In order to allow for consistency checks, 
   73  * is a fundamental distinction between both, which stems from the design choice to use generators 
   74  * as a tool to represent formal languages. From this perspective, events are global enteties while states 
   75  * are local to the respective generator. Any two events within libFAUDES are related while states only  
   85  * which is represented by one index. However, both machines may have a state "Idle" which indicates 
   96  * Generators inherit the standard token IO interface from the libFAUDES general purpose base Type,  
   97  * so you may use Read and Write functions for generators. The file-format consists of a generator  
   98  * section that includes one subsection for each core member. It is illustrated by the below example 
  129  * Technical Detail: Since symbolic state names are optional, states may alternatively be represented 
  131  * was that states are indexed consecutively starting from 1. This convention produces nice and human-readable output.  
  132  * However, it requires a re-indexing when writing the generator. As of libFAUDES 2.20j, the token format was extended to  
  133  * allow for explicit symbol table entries in the format "symbolic_state_name#index". Whether or not re-indexing 
  134  * is applied can be configured via ReindexOnWrite(bool). The default is not to re-index. If you want to read your token  
  138  * Technical Detail: The generator name, the alphabet and the state set are optional. The generator 
  139  * name defaults to "generator"; the alphabet and the state set are extracted from the transition relation.  
  140  * Furthermore, there alternative short labels "A" for "Alphabet", "S" for "States" etc. are accepted. 
  141  * This short format has been introduced in 2.24e and is meant for embedding data concisely into luafaudes scripts. 
  196  * is optionally attached to individual states, events, transitions, or globally to the generator. 
  203  * implemented for plain generators will accept attributed generators as arguments. Such algorithms may  
  204  * occasionally inspect or set attributes using the abstract interface and C++ dynamic casts. For 
  386   virtual void Version(const std::string& rPattern,const std::string& rReplacement, vGenerator& rResGen) const; 
 2340    *   True if resulting generator contains at least one initial state and at least one marked state. 
 2440    * re-indexed output to e.g. a string, you must set up the map by calling SetMinStateIndexMap(). 
 2453   void WriteStateSet(TokenWriter& rTw, const StateSet& rStateSet, const std::string& rLabel="") const; 
 2473   void XWriteStateSet(TokenWriter& rTw, const StateSet& rStateSet, const std::string& rLabel="") const; 
 3017   virtual void DoWrite(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const; 
 3035   virtual void DoDWrite(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const; 
 3067   virtual void DoXWrite(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const; 
 3286 extern FAUDES_API void Complete(const vGenerator& rGen, const EventSet& rSigmaO, vGenerator& rRes); 
 3317 extern FAUDES_API void SetIntersection(const vGenerator& rGenA, const vGenerator& rGenB, EventSet& rRes); 
 3327 extern FAUDES_API void SetUnion(const vGenerator& rGenA, const vGenerator& rGenB, EventSet& rRes); 
 3337 extern FAUDES_API void SetDifference(const vGenerator& rGenA, const vGenerator& rGenB, EventSet& rRes); 
 3355 extern FAUDES_API void ApplyRelabelMap(const RelabelMap& rMap, const vGenerator& rGen, vGenerator& rRes); 
Classes IndexSet, TaIndexSet. Classes NameSet, TaNameSet. Class SymbolTable. Class Token. Class TokenReader. Class TokenWriter. Classes Transition, TTransSet and TaTransSet. Definition: cfl_types.h:1055 Definition: cfl_types.h:1109 Definition: cfl_indexset.h:78 Definition: cfl_nameset.h:70 Definition: cfl_nameset.h:940 Definition: cfl_symboltable.h:61 TBaseSet< Transition, TransSort::X1EvX2 >::Iterator Iterator Definition: cfl_transset.h:273 Definition: cfl_tokenreader.h:64 Definition: cfl_tokenwriter.h:52 Definition: cfl_transset.h:57 Definition: cfl_types.h:246 Definition: cfl_generator.h:213 const EventSet * pAlphabetPrototype Definition: cfl_generator.h:2932 const AttributeVoid * pGlobalPrototype Definition: cfl_generator.h:2941 virtual bool UpdateAttributes(void) Definition: cfl_generator.h:1881 AttributeVoid * mpGlobalAttribute Definition: cfl_generator.h:2929 void TransRel(TransSetX1X2Ev &res) const static bool msReindexOnWriteDefault Definition: cfl_generator.h:2917 SymbolTable * mpEventSymbolTable Definition: cfl_generator.h:2905 void TransRel(TransSetEvX2X1 &res) const void TransRel(TransSetX2X1Ev &res) const const TransSet * pTransRelPrototype Definition: cfl_generator.h:2938 static bool msStateNamesEnabledDefault Definition: cfl_generator.h:2911 std::map< Idx, Idx > mMinStateIndexMap Definition: cfl_generator.h:2962 const StateSet * pStatesPrototype Definition: cfl_generator.h:2935 SymbolTable * mpStateSymbolTable Definition: cfl_generator.h:2902 void ReadTransRel(const std::string &rFileName) void SetDifference(const TBaseSet< T, Cmp > &rSetA, const TBaseSet< T, Cmp > &rSetB, TBaseSet< T, Cmp > &rRes) Definition: cfl_baseset.h:1149 void SetUnion(const TBaseSet< T, Cmp > &rSetA, const TBaseSet< T, Cmp > &rSetB, TBaseSet< T, Cmp > &rRes) Definition: cfl_baseset.h:1090 void SetIntersection(const TBaseSet< T, Cmp > &rSetA, const TBaseSet< T, Cmp > &rSetB, TBaseSet< T, Cmp > &rRes) Definition: cfl_baseset.h:1120 void AlphabetExtract(const vGenerator &rGen, EventSet &rRes) Definition: cfl_generator.cpp:4081 bool IsDeterministic(const vGenerator &rGen) Definition: cfl_generator.cpp:4014 Definition: cfl_agenerator.h:43 void ApplyRelabelMap(const RelabelMap &rMap, const vGenerator &rGen, vGenerator &rRes) Definition: cfl_generator.cpp:4132 libFAUDES 2.33l --- 2025.09.16 --- c++ api documentaion by doxygen  |