spot
1.1.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) | |
~translator () | |
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 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) |
Protected Attributes | |
output_type | type_ |
output_pref | pref_ |
optimization_level | level_ |
bool | degen_reset_ |
bool | degen_order_ |
bool | degen_cache_ |
int | simul_ |
int | simul_limit_ |
int | scc_filter_ |
int | ba_simul_ |
Private Attributes | |
ltl::ltl_simplifier * | simpl_ |
ltl::ltl_simplifier * | simpl_owned_ |
int | comp_susp_ |
int | early_susp_ |
int | skel_wdba_ |
int | skel_simul_ |
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.
|
inline |
References setup_opt().
|
inline |
References build_simplifier(), and setup_opt().
|
inline |
References build_simplifier(), and setup_opt().
|
inline |
References simpl_owned_.
|
protected |
Referenced by translator().
|
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.
|
inline |
References spot::postprocessor::level_.
|
inline |
References spot::postprocessor::set_pref().
|
inline |
References spot::postprocessor::set_type().
|
protected |
Referenced by translator().
|
protectedinherited |
|
private |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
private |
|
protectedinherited |
Referenced by spot::postprocessor::set_level(), and set_level().
|
protectedinherited |
Referenced by spot::postprocessor::set_pref().
|
protectedinherited |
|
private |
|
private |
Referenced by ~translator().
|
protectedinherited |
|
protectedinherited |
|
private |
|
private |
|
protectedinherited |
Referenced by spot::postprocessor::set_type().