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
130 * Technical Detail: Since symbolic state names are optional, states may alternatively be represented
132 * was that states are indexed consecutively starting from 1. This convention produces nice and human-readable output.
133 * However, it requires a re-indexing when writing the generator. As of libFAUDES 2.20j, the token format was extended to
134 * allow for explicit symbol table entries in the format "symbolic_state_name#index". Whether or not re-indexing
135 * is applied can be configured via ReindexOnWrite(bool). The default is not to re-index. If you want to read your token
139 * Technical Detail: The generator name, the alphabet and the state set are optional. The generator
140 * name defaults to "generator"; the alphabet and the state set are extracted from the transition relation.
141 * Furthermore, there alternative short labels "A" for "Alphabet", "S" for "States" etc. are accepted.
142 * This short format has been introduced in 2.24e and is meant for embedding data concisely into luafaudes scripts.
197 * is optionally attached to individual states, events, transitions, or globally to the generator.
204 * implemented for plain generators will accept attributed generators as arguments. Such algorithms may
205 * occasionally inspect or set attributes using the abstract interface and C++ dynamic casts. For
395 virtual void Version(const std::string& rPattern,const std::string& rReplacement, vGenerator& rResGen) const;
2367 * True if resulting generator contains at least one initial state and at least one marked state.
2395 * True if resulting generator contains at least one initial state and at least one marked state.
2496 * re-indexed output to e.g. a string, you must set up the map by calling SetMinStateIndexMap().
3052 virtual void DoWrite(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const;
3070 virtual void DoDWrite(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const;
3102 virtual void DoXWrite(TokenWriter& rTw, const std::string& rLabel="",const Type* pContext=0) const;
3224 void XWriteStateSet(TokenWriter& rTw, const StateSet& rStateSet, const std::string& rLabel="") const;
libFAUDES 2.24g --- 2014.09.15 --- c++ api documentaion by doxygen |