Limi
|
This automaton represents accepts exactly one word. More...
#include <list_automaton.h>
Public Member Functions | |
template<class InputIterator > | |
list_automaton (InputIterator first, InputIterator last, const printer_base< Symbol > &symbol_printer=printer< Symbol >()) | |
Constructs an automaton that accepts a specified word. More... | |
Public Member Functions inherited from Limi::automaton< unsigned, Symbol, list_automaton< Symbol > > | |
automaton (bool collapse_epsilon=false, bool no_epsilon_produced=false) | |
Constructor. More... | |
printer_base< unsigned > * | int_state_printer () const |
Optionally Implement Returns a printer for states. More... | |
printer_base< Symbol > * | int_symbol_printer () const |
Optionally Implement Returns a printer for symbols. More... | |
bool | int_is_final_state (const unsigned &state) const |
Implement This function determines if a specific state is final. More... | |
void | int_initial_states (State_vector &states) const |
Implement Returns the initial states. More... | |
void | int_successors (const unsigned &state, const Symbol &sigma, State_vector &successors) const |
Implement Returns the successor for a specific state. More... | |
void | int_next_symbols (const unsigned &state, Symbol_vector &symbols) const |
Implement Returns possible successor symbols for a state. More... | |
bool | int_is_epsilon (const Symbol &symbol) const |
Implement Determines if a symbol should be considered an epsilon transition. More... | |
bool | is_final_state (const unsigned &state) const |
This function determines if a specific state is final. More... | |
bool | is_final_state (const State_set &states) const |
Determines if one of the states is final. More... | |
void | initial_states (State_vector &states) const |
Returns the initial states. More... | |
void | initial_states (State_set &states) const |
Returns the initial states. More... | |
State_vector | initial_states () const |
Returns a set of initial states. More... | |
void | successors (const unsigned &state, const Symbol &sigma, State_vector &successors1) const |
Returns the successor for a specific state. More... | |
State_set | successors (const State_set &states, const Symbol &sigma) const |
Finds successors for a set of states. More... | |
void | successors (const State_set &states, const Symbol &sigma, State_set &successors1) const |
Returns successors for a set of states. More... | |
State_vector | successors (const unsigned &state, const Symbol &sigma) const |
Returns successors for a state. More... | |
void | next_symbols (const unsigned &state, Symbol_vector &symbols) const |
Returns possible successor symbols for a state. More... | |
Symbol_vector | next_symbols (const unsigned &state) const |
Returns possible successor symbols of a state. More... | |
void | next_symbols (const unsigned &state, Symbol_set &symbols) const |
Returns possible successor symbols of a state. More... | |
const printer_base< unsigned > & | state_printer () const |
Returns a printer for states. More... | |
const printer_base< Symbol > & | symbol_printer () const |
Returns a printer for symbols. More... | |
bool | is_epsilon (const Symbol &symbol) const |
Determines if a symbol should be considered an epsilon transition. More... | |
Additional Inherited Members | |
Public Attributes inherited from Limi::automaton< unsigned, Symbol, list_automaton< Symbol > > | |
bool | collapse_epsilon |
If true during exploration of the next state the epsilons will be fully explored. If false then epsilon transitions may be returned. | |
bool | no_epsilon_produced |
Indicates that the implementation of next_symbols(const State&,Symbol_set&) const will never produce epsilon transitions. | |
This automaton represents accepts exactly one word.
This class is derived from the Limi::automaton class and represents an automaton that accepts exactly one word that is specified as a list of symbols.
Symbol | the type of symbols in the word. |
|
inline |
Constructs an automaton that accepts a specified word.
The word is specified by iterators and copied to an internal vector. The trace must be epsilon-free.
first | An iterator to the first symbol of the word |
last | An iterator to the end of the word |
symbol_printer | The printer for the symbols of the word |