spot
1.99.3
|
Classes | |
struct | spot::parsed_aut |
Temporary encoding of an omega automaton produced by the parser. More... | |
class | spot::automaton_stream_parser |
Typedefs | |
typedef std::pair < spot::location, std::string > | spot::parse_aut_error |
A parse diagnostic with its location. More... | |
typedef std::list < parse_aut_error > | spot::parse_aut_error_list |
A list of parser diagnostics, as filled by parse. More... | |
typedef std::shared_ptr < parsed_aut > | spot::parsed_aut_ptr |
typedef std::shared_ptr< const parsed_aut > | spot::const_parsed_aut_ptr |
Functions | |
SPOT_API parsed_aut_ptr | spot::dstar_parse (const std::string &filename, parse_aut_error_list &error_list, const bdd_dict_ptr &dict, ltl::environment &env=ltl::default_environment::instance(), bool debug=false) |
Build a spot::twa_graph_ptr from ltl2dstar's output. More... | |
SPOT_API std::ostream & | spot::kripke_save_reachable (std::ostream &os, const const_kripke_ptr &k) |
Save the reachable part of Kripke structure in text format. More... | |
SPOT_API std::ostream & | spot::kripke_save_reachable_renumbered (std::ostream &os, const const_kripke_ptr &k) |
Save the reachable part of Kripke structure in text format. More... | |
parsed_aut_ptr | spot::parse_aut (const std::string &filename, parse_aut_error_list &error_list, const bdd_dict_ptr &dict, ltl::environment &env=ltl::default_environment::instance(), bool debug=false) |
Build a spot::twa_graph from a HOA file or a neverclaim. More... | |
SPOT_API bool | spot::format_parse_aut_errors (std::ostream &os, const std::string &filename, parse_aut_error_list &error_list) |
Format diagnostics produced by spot::parse_aut. More... | |
SPOT_API std::ostream & | spot::print_dot (std::ostream &os, const const_twa_ptr &g, const char *options=nullptr) |
Print reachable states in dot format. More... | |
SPOT_API std::ostream & | spot::print_hoa (std::ostream &os, const const_twa_ptr &g, const char *opt=nullptr) |
Print reachable states in Hanoi Omega Automata format. More... | |
SPOT_API std::ostream & | spot::print_lbtt (std::ostream &os, const const_twa_ptr &g, const char *opt=nullptr) |
Print reachable states in LBTT's format. More... | |
SPOT_API std::ostream & | spot::print_never_claim (std::ostream &os, const const_twa_ptr &g, const char *opt=nullptr) |
Print reachable states in Spin never claim format. More... | |
typedef std::pair<spot::location, std::string> spot::parse_aut_error |
A parse diagnostic with its location.
typedef std::list<parse_aut_error> spot::parse_aut_error_list |
A list of parser diagnostics, as filled by parse.
SPOT_API parsed_aut_ptr spot::dstar_parse | ( | const std::string & | filename, |
parse_aut_error_list & | error_list, | ||
const bdd_dict_ptr & | dict, | ||
ltl::environment & | env = ltl::default_environment::instance() , |
||
bool | debug = false |
||
) |
Build a spot::twa_graph_ptr from ltl2dstar's output.
filename | The name of the file to parse. |
error_list | A list that will be filled with parse errors that occured during parsing. |
dict | The BDD dictionary where to use. |
env | The environment of atomic proposition into which parsing should take place. |
debug | When true, causes the parser to trace its execution. |
Note that the parser usually tries to recover from errors. It can return an non zero value even if it encountered error during the parsing of filename. If you want to make sure filename was parsed succesfully, check error_list for emptiness.
SPOT_API bool spot::format_parse_aut_errors | ( | std::ostream & | os, |
const std::string & | filename, | ||
parse_aut_error_list & | error_list | ||
) |
Format diagnostics produced by spot::parse_aut.
os | Where diagnostics should be output. |
filename | The filename that should appear in the diagnostics. |
error_list | The error list filled by spot::ltl::parse while parsing ltl_string. |
true
iff any diagnostic was output. SPOT_API std::ostream& spot::kripke_save_reachable | ( | std::ostream & | os, |
const const_kripke_ptr & | k | ||
) |
Save the reachable part of Kripke structure in text format.
The states will be named with the value returned by the kripke::format_state() method. Such a string can be large, so the output will not be I/O efficient. We recommend using this function only for debugging. Use kripke_save_reachable_renumbered() for large output.
SPOT_API std::ostream& spot::kripke_save_reachable_renumbered | ( | std::ostream & | os, |
const const_kripke_ptr & | k | ||
) |
Save the reachable part of Kripke structure in text format.
States will be renumbered with sequential number. This is much more I/O efficient when dumping large Kripke structures with big state names. The drawback is that any information carried by the state name is lost.
|
inline |
Build a spot::twa_graph from a HOA file or a neverclaim.
filename | The name of the file to parse. |
error_list | A list that will be filled with parse errors that occured during parsing. |
dict | The BDD dictionary where to use. |
env | The environment of atomic proposition into which parsing should take place. |
debug | When true, causes the parser to trace its execution. |
Note that the parser usually tries to recover from errors. It can return a non zero value even if it encountered error during the parsing of filename. If you want to make sure filename was parsed succesfully, check error_list for emptiness.
The specification of the HOA format can be found at http://adl.github.io/hoaf/
The grammar of neverclaim will not accept every possible neverclaim output. It has been tuned to accept the output of spin -f, ltl2ba, ltl3ba, and modella. If you know of some other tool that produce Büchi automata in the form of a neverclaim, but is not understood by this parser, please report it to spot@. lrde .epit a.fr
SPOT_API std::ostream& spot::print_dot | ( | std::ostream & | os, |
const const_twa_ptr & | g, | ||
const char * | options = nullptr |
||
) |
Print reachable states in dot format.
If assume_sba is set, this assumes that the automaton is an SBA and use double elipse to mark accepting states.
options | an optional string of letters, each indicating a different option. Presently the following options are supported: 'v' for vertical output, 'h' for horizontal output, 't' force transition-based acceptance, 'N' hide the name of the automaton, 'n' shows the name, 'c' uses circle-shaped states, 'a' shows the acceptance. |
SPOT_API std::ostream& spot::print_hoa | ( | std::ostream & | os, |
const const_twa_ptr & | g, | ||
const char * | opt = nullptr |
||
) |
Print reachable states in Hanoi Omega Automata format.
os | The output stream to print on. |
g | The automaton to output. |
opt | a set of characters each corresponding to a possible option: (i) implicit labels for complete and deterministic automata, (s) state-based acceptance, (t) transition-based acceptance, (m) mixed acceptance, (l) single-line output. |
SPOT_API std::ostream& spot::print_lbtt | ( | std::ostream & | os, |
const const_twa_ptr & | g, | ||
const char * | opt = nullptr |
||
) |
Print reachable states in LBTT's format.
g | The automata to print. |
os | Where to print. |
opt | if "t", force transition-based acceptance, otherwise, |
SPOT_API std::ostream& spot::print_never_claim | ( | std::ostream & | os, |
const const_twa_ptr & | g, | ||
const char * | opt = nullptr |
||
) |
Print reachable states in Spin never claim format.
os | The output stream to print on. |
g | The (state-based degeneralized) automaton to output. There should be only one acceptance condition, and all the transitions of a state should be either all accepting or all unaccepting. If your automaton does not satisfies these requirements, call degeneralize() first. |
opt | a string of option: 'c' to comment each state |