spot  1.1.3
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
spot::translator Class Reference

Translate an LTL formula into an optimized spot::tgba. More...

#include <tgbaalgos/translate.hh>

Inheritance diagram for spot::translator:
Inheritance graph
Collaboration diagram for spot::translator:
Collaboration graph

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 tgbarun (const ltl::formula *f)
 Convert f into an automaton. More...
 
const tgbarun (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 tgbarun (const tgba *input_disown, const ltl::formula *f)
 Return the optimized automaton and delete input_disown. More...
 
const tgbado_simul (const tgba *input, int opt)
 
const tgbado_ba_simul (const tgba *input, int opt)
 
const tgbado_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_simplifiersimpl_
 
ltl::ltl_simplifiersimpl_owned_
 
int comp_susp_
 
int early_susp_
 
int skel_wdba_
 
int skel_simul_
 

Detailed Description

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.

Member Typedef Documentation

Constructor & Destructor Documentation

spot::translator::translator ( ltl::ltl_simplifier simpl,
const option_map opt = 0 
)
inline

References setup_opt().

spot::translator::translator ( bdd_dict dict,
const option_map opt = 0 
)
inline

References build_simplifier(), and setup_opt().

spot::translator::translator ( const option_map opt = 0)
inline

References build_simplifier(), and setup_opt().

spot::translator::~translator ( )
inline

References simpl_owned_.

Member Function Documentation

void spot::translator::build_simplifier ( bdd_dict dict)
protected

Referenced by translator().

const tgba* spot::postprocessor::do_ba_simul ( const tgba input,
int  opt 
)
protectedinherited
const tgba* spot::postprocessor::do_degen ( const tgba input)
protectedinherited
const tgba* spot::postprocessor::do_simul ( const tgba input,
int  opt 
)
protectedinherited
const tgba* spot::postprocessor::run ( const tgba input_disown,
const ltl::formula f 
)
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.

void spot::translator::set_level ( optimization_level  level)
inline
void spot::translator::set_pref ( output_pref  pref)
inline
void spot::translator::set_type ( output_type  type)
inline
void spot::translator::setup_opt ( const option_map opt)
protected

Referenced by translator().

Member Data Documentation

int spot::postprocessor::ba_simul_
protectedinherited
int spot::translator::comp_susp_
private
bool spot::postprocessor::degen_cache_
protectedinherited
bool spot::postprocessor::degen_order_
protectedinherited
bool spot::postprocessor::degen_reset_
protectedinherited
int spot::translator::early_susp_
private
optimization_level spot::postprocessor::level_
protectedinherited
output_pref spot::postprocessor::pref_
protectedinherited
int spot::postprocessor::scc_filter_
protectedinherited
ltl::ltl_simplifier* spot::translator::simpl_
private
ltl::ltl_simplifier* spot::translator::simpl_owned_
private

Referenced by ~translator().

int spot::postprocessor::simul_
protectedinherited
int spot::postprocessor::simul_limit_
protectedinherited
int spot::translator::skel_simul_
private
int spot::translator::skel_wdba_
private
output_type spot::postprocessor::type_
protectedinherited

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

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Tue Jul 9 2013 14:04:34 for spot by doxygen 1.8.4