CBMC
|
#include <trace_automaton.h>
Public Types | |
typedef std::pair< statet, statet > | state_pairt |
typedef std::multimap< goto_programt::targett, state_pairt, goto_programt::target_less_than > | sym_mapt |
typedef std::pair< sym_mapt::iterator, sym_mapt::iterator > | sym_range_pairt |
typedef std::set< goto_programt::targett, goto_programt::target_less_than > | alphabett |
Public Member Functions | |
trace_automatont (goto_programt &_goto_program) | |
void | add_path (patht &path) |
void | build () |
statet | init_state () |
void | accept_states (state_sett &states) |
void | get_transitions (sym_mapt &transitions) |
unsigned | num_states () |
Public Attributes | |
alphabett | alphabet |
Protected Types | |
typedef std::map< state_sett, statet > | state_mapt |
Protected Member Functions | |
void | build_alphabet (goto_programt &program) |
void | init_nta () |
bool | in_alphabet (goto_programt::targett t) |
void | pop_unmarked_dstate (state_sett &s) |
void | determinise () |
void | epsilon_closure (state_sett &s) |
void | minimise () |
void | reverse () |
statet | add_dstate (state_sett &s) |
statet | find_dstate (state_sett &s) |
void | add_dtrans (state_sett &s, goto_programt::targett a, state_sett &t) |
Protected Attributes | |
goto_programt & | goto_program |
goto_programt::targett | epsilon |
std::vector< state_sett > | unmarked_dstates |
state_mapt | dstates |
automatont | nta |
automatont | dta |
Definition at line 90 of file trace_automaton.h.
typedef std::set<goto_programt::targett, goto_programt::target_less_than> trace_automatont::alphabett |
Definition at line 133 of file trace_automaton.h.
|
protected |
Definition at line 157 of file trace_automaton.h.
typedef std::pair<statet, statet> trace_automatont::state_pairt |
Definition at line 117 of file trace_automaton.h.
typedef std::multimap< goto_programt::targett, state_pairt, goto_programt::target_less_than> trace_automatont::sym_mapt |
Definition at line 122 of file trace_automaton.h.
typedef std::pair<sym_mapt::iterator, sym_mapt::iterator> trace_automatont::sym_range_pairt |
Definition at line 123 of file trace_automaton.h.
|
inlineexplicit |
Definition at line 93 of file trace_automaton.h.
|
inline |
Definition at line 112 of file trace_automaton.h.
|
protected |
Definition at line 231 of file trace_automaton.cpp.
|
protected |
Definition at line 307 of file trace_automaton.cpp.
void trace_automatont::add_path | ( | patht & | path | ) |
Definition at line 69 of file trace_automaton.cpp.
void trace_automatont::build | ( | ) |
Definition at line 24 of file trace_automaton.cpp.
|
protected |
Definition at line 46 of file trace_automaton.cpp.
|
protected |
Definition at line 115 of file trace_automaton.cpp.
|
protected |
Definition at line 190 of file trace_automaton.cpp.
|
protected |
Definition at line 268 of file trace_automaton.cpp.
void trace_automatont::get_transitions | ( | sym_mapt & | transitions | ) |
Definition at line 346 of file trace_automaton.cpp.
|
inlineprotected |
Definition at line 140 of file trace_automaton.h.
|
protected |
Definition at line 58 of file trace_automaton.cpp.
|
inline |
Definition at line 107 of file trace_automaton.h.
|
protected |
Definition at line 466 of file trace_automaton.cpp.
|
inline |
Definition at line 127 of file trace_automaton.h.
|
protected |
Definition at line 181 of file trace_automaton.cpp.
|
protected |
alphabett trace_automatont::alphabet |
Definition at line 134 of file trace_automaton.h.
|
protected |
Definition at line 162 of file trace_automaton.h.
|
protected |
Definition at line 165 of file trace_automaton.h.
|
protected |
Definition at line 160 of file trace_automaton.h.
|
protected |
Definition at line 159 of file trace_automaton.h.
|
protected |
Definition at line 164 of file trace_automaton.h.
|
protected |
Definition at line 161 of file trace_automaton.h.