spot
1.2.4
|
Translate an LTL formula into an optimized spot::tgba. More...
#include <tgbaalgos/translate.hh>
Public Types | |
typedef postprocessor::output_type | output_type |
typedef postprocessor::output_pref | output_pref |
typedef postprocessor::optimization_level | optimization_level |
Public Member Functions | |
translator (ltl::ltl_simplifier *simpl, const option_map *opt=0) | |
translator (bdd_dict *dict, const option_map *opt=0) | |
translator (const option_map *opt=0) | |
void | set_type (output_type type) |
void | set_pref (output_pref pref) |
void | set_level (optimization_level level) |
const tgba * | run (const ltl::formula *f) |
Convert f into an automaton. More... | |
const tgba * | run (const ltl::formula **f) |
Convert f into an automaton, and update f. More... | |
Protected Types | |
enum | { Any = 0, Small = 1, Deterministic = 2, Complete = 4 } |
Protected Member Functions | |
void | setup_opt (const option_map *opt) |
void | build_simplifier (bdd_dict *dict) |
const tgba * | run (const tgba *input_disown, const ltl::formula *f) |
Return the optimized automaton and delete input_disown. More... | |
const tgba * | do_simul (const tgba *input, int opt) |
const tgba * | do_ba_simul (const tgba *input, int opt) |
const tgba * | do_degen (const tgba *input) |
Translate an LTL formula into an optimized spot::tgba.
This class implements a three-step translation:
Method set_type() may be used to specify the type of automaton produced (TGBA, BA, Monitor). The default is TGBA.
Method set_pref() may be used to specify whether small automata should be prefered over deterministic automata.
Method set_level() may be used to specify the optimization level.
The semantic of these three methods is inherited from the spot::postprocessor class, but the optimization level is additionally used to select which LTL simplifications to enable.
|
inherited |
Return the optimized automaton and delete input_disown.
const tgba* spot::translator::run | ( | const ltl::formula * | f) |
Convert f into an automaton.
The formula f is simplified internally, but it is not not destroyed (this is the responsibility of the caller).
const tgba* spot::translator::run | ( | const ltl::formula ** | f) |
Convert f into an automaton, and update f.
The formula *f
is destroyed, and replaced by the simplified version, which should be destroyed by the caller.