Limi
Public Member Functions | List of all members
Limi::list_automaton< Symbol > Class Template Reference

This automaton represents accepts exactly one word. More...

#include <list_automaton.h>

Inheritance diagram for Limi::list_automaton< Symbol >:
Inheritance graph
[legend]
Collaboration diagram for Limi::list_automaton< Symbol >:
Collaboration graph
[legend]

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.
 

Detailed Description

template<class Symbol>
class Limi::list_automaton< Symbol >

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.

Template Parameters
Symbolthe type of symbols in the word.

Constructor & Destructor Documentation

template<class Symbol >
template<class InputIterator >
Limi::list_automaton< Symbol >::list_automaton ( InputIterator  first,
InputIterator  last,
const printer_base< Symbol > &  symbol_printer = printer<Symbol>() 
)
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.

Parameters
firstAn iterator to the first symbol of the word
lastAn iterator to the end of the word
symbol_printerThe printer for the symbols of the word

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