spot  1.2.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Modules | Classes | Typedefs | Enumerations | Functions
Input/Output of TGBA

Modules

 Decorating the dot output
 

Classes

struct  spot::dstar_aut
 Temporary encoding of an omega automaton produced by ltl2dstar. More...
 

Typedefs

typedef std::pair
< spot::location, std::string > 
spot::dstar_parse_error
 A parse diagnostic with its location. More...
 
typedef std::list
< dstar_parse_error > 
spot::dstar_parse_error_list
 A list of parser diagnostics, as filled by parse. More...
 
typedef std::pair
< spot::location, std::string > 
spot::neverclaim_parse_error
 A parse diagnostic with its location. More...
 
typedef std::list
< neverclaim_parse_error > 
spot::neverclaim_parse_error_list
 A list of parser diagnostics, as filled by parse. More...
 
typedef std::pair
< spot::location, std::string > 
spot::tgba_parse_error
 A parse diagnostic with its location. More...
 
typedef std::list
< tgba_parse_error > 
spot::tgba_parse_error_list
 A list of parser diagnostics, as filled by parse. More...
 

Enumerations

enum  dstar_type { Rabin, Streett }
 

Functions

SPOT_API dstar_aut * spot::dstar_parse (const std::string &filename, dstar_parse_error_list &error_list, bdd_dict *dict, ltl::environment &env=ltl::default_environment::instance(), bool debug=false)
 Build a spot::tgba_explicit from ltl2dstar's output. More...
 
SPOT_API bool spot::format_dstar_parse_errors (std::ostream &os, const std::string &filename, dstar_parse_error_list &error_list)
 Format diagnostics produced by spot::dstar_parse. More...
 
SPOT_API tgba * spot::nra_to_nba (const dstar_aut *nra)
 Convert a non-deterministic Rabin automaton into a non-deterministic Büchi automaton. More...
 
SPOT_API tgba * spot::nra_to_nba (const dstar_aut *nra, const state_set *ignore)
 Convert a non-deterministic Rabin automaton into a non-deterministic Büchi automaton. More...
 
SPOT_API tgba * spot::dra_to_ba (const dstar_aut *dra, bool *dba_output=0)
 Convert a deterministic Rabin automaton into a Büchi automaton, deterministic when possible. More...
 
SPOT_API tgba * spot::nsa_to_tgba (const dstar_aut *nra)
 Convert a non-deterministic Streett automaton into a non-deterministic tgba. More...
 
SPOT_API tgba * spot::dstar_to_tgba (const dstar_aut *dstar)
 Convert a Rabin or Streett automaton into a TGBA. More...
 
SPOT_API std::ostream & spot::kripke_save_reachable (std::ostream &os, const kripke *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 kripke *k)
 Save the reachable part of Kripke structure in text format. More...
 
SPOT_API tgba_explicit_string * spot::neverclaim_parse (const std::string &filename, neverclaim_parse_error_list &error_list, bdd_dict *dict, ltl::environment &env=ltl::default_environment::instance(), bool debug=false)
 Build a spot::tgba_explicit from a Spin never claim file. More...
 
SPOT_API bool spot::format_neverclaim_parse_errors (std::ostream &os, const std::string &filename, neverclaim_parse_error_list &error_list)
 Format diagnostics produced by spot::neverclaim_parse. More...
 
SPOT_API std::ostream & spot::dotty_reachable (std::ostream &os, const tgba *g, bool assume_sba=false, dotty_decorator *dd=0)
 Print reachable states in dot format. More...
 
SPOT_API std::ostream & spot::hoaf_reachable (std::ostream &os, const tgba *g, const ltl::formula *f=0, hoaf_acceptance acceptance=Hoaf_Acceptance_States, hoaf_alias alias=Hoaf_Alias_None, bool newlines=true)
 Print reachable states in Hanoi Omega Automata format. More...
 
SPOT_API std::ostream & spot::lbtt_reachable (std::ostream &os, const tgba *g, bool sba=false)
 Print reachable states in LBTT's format. More...
 
SPOT_API const tgba * spot::lbtt_parse (std::istream &is, std::string &error, bdd_dict *dict, ltl::environment &env=ltl::default_environment::instance(), ltl::environment &envacc=ltl::default_environment::instance())
 Read an automaton in LBTT's format. More...
 
SPOT_API std::ostream & spot::never_claim_reachable (std::ostream &os, const tgba *g, const ltl::formula *f=0, bool comments=false)
 Print reachable states in Spin never claim format. More...
 
SPOT_API std::ostream & spot::tgba_save_reachable (std::ostream &os, const tgba *g)
 Save reachable states in text format. More...
 
SPOT_API tgba_explicit_string * spot::tgba_parse (const std::string &filename, tgba_parse_error_list &error_list, bdd_dict *dict, ltl::environment &env=ltl::default_environment::instance(), ltl::environment &envacc=ltl::default_environment::instance(), bool debug=false)
 Build a spot::tgba_explicit from a text file. More...
 
SPOT_API bool spot::format_tgba_parse_errors (std::ostream &os, const std::string &filename, tgba_parse_error_list &error_list)
 Format diagnostics produced by spot::tgba_parse. More...
 

Detailed Description

Typedef Documentation

typedef std::pair<spot::location, std::string> spot::dstar_parse_error

A parse diagnostic with its location.

typedef std::list<dstar_parse_error> spot::dstar_parse_error_list

A list of parser diagnostics, as filled by parse.

typedef std::pair<spot::location, std::string> spot::neverclaim_parse_error

A parse diagnostic with its location.

typedef std::list<neverclaim_parse_error> spot::neverclaim_parse_error_list

A list of parser diagnostics, as filled by parse.

typedef std::pair<spot::location, std::string> spot::tgba_parse_error

A parse diagnostic with its location.

typedef std::list<tgba_parse_error> spot::tgba_parse_error_list

A list of parser diagnostics, as filled by parse.

Function Documentation

SPOT_API std::ostream& spot::dotty_reachable ( std::ostream &  os,
const tgba *  g,
bool  assume_sba = false,
dotty_decorator *  dd = 0 
)

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.

The dd argument allows to customize the output in various ways. See this page for a list of available decorators. If no decorator is specified, the dotty_decorator is used. labels the transitions are encoded in UTF-8.

SPOT_API tgba* spot::dra_to_ba ( const dstar_aut *  dra,
bool *  dba_output = 0 
)

Convert a deterministic Rabin automaton into a Büchi automaton, deterministic when possible.

See "Deterministic ω-automata vis-a-vis Deterministic Büchi Automata", S. Krishnan, A. Puri, and R. Brayton (ISAAC'94) for more details about a DRA->DBA construction.

We essentially apply this method SCC-wise. If an SCC is DBA-realizable, we duplicate it in the output, fixing just the acceptance states. If an SCC is not DBA-realizable, then we apply the more usual conversion from Rabin to NBA for this part.

If the optional dba_output argument is non-null, the pointed Boolean will be updated to indicate whether the returned Büchi automaton is deterministic.

SPOT_API dstar_aut* spot::dstar_parse ( const std::string &  filename,
dstar_parse_error_list &  error_list,
bdd_dict *  dict,
ltl::environment &  env = ltl::default_environment::instance(),
bool  debug = false 
)

Build a spot::tgba_explicit from ltl2dstar's output.

Parameters
filenameThe name of the file to parse.
error_listA list that will be filled with parse errors that occured during parsing.
dictThe BDD dictionary where to use.
envThe environment of atomic proposition into which parsing should take place.
debugWhen true, causes the parser to trace its execution.
Returns
A pointer to the tgba built from filename, or 0 if the file could not be opened.

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.

Warning
This function is not reentrant.
SPOT_API tgba* spot::dstar_to_tgba ( const dstar_aut *  dstar)

Convert a Rabin or Streett automaton into a TGBA.

This function calls dra_to_ba() or nsa_to_tgba().

SPOT_API bool spot::format_dstar_parse_errors ( std::ostream &  os,
const std::string &  filename,
dstar_parse_error_list &  error_list 
)

Format diagnostics produced by spot::dstar_parse.

Parameters
osWhere diagnostics should be output.
filenameThe filename that should appear in the diagnostics.
error_listThe error list filled by spot::ltl::parse while parsing ltl_string.
Returns
true iff any diagnostic was output.
SPOT_API bool spot::format_neverclaim_parse_errors ( std::ostream &  os,
const std::string &  filename,
neverclaim_parse_error_list &  error_list 
)

Format diagnostics produced by spot::neverclaim_parse.

Parameters
osWhere diagnostics should be output.
filenameThe filename that should appear in the diagnostics.
error_listThe error list filled by spot::ltl::parse while parsing ltl_string.
Returns
true iff any diagnostic was output.
SPOT_API bool spot::format_tgba_parse_errors ( std::ostream &  os,
const std::string &  filename,
tgba_parse_error_list &  error_list 
)

Format diagnostics produced by spot::tgba_parse.

Parameters
osWhere diagnostics should be output.
filenameThe filename that should appear in the diagnostics.
error_listThe error list filled by spot::ltl::parse while parsing ltl_string.
Returns
true iff any diagnostic was output.
SPOT_API std::ostream& spot::hoaf_reachable ( std::ostream &  os,
const tgba *  g,
const ltl::formula *  f = 0,
hoaf_acceptance  acceptance = Hoaf_Acceptance_States,
hoaf_alias  alias = Hoaf_Alias_None,
bool  newlines = true 
)

Print reachable states in Hanoi Omega Automata format.

Parameters
osThe output stream to print on.
gThe automaton to output.
fThe (optional) formula associated to the automaton. If given it will be output as a comment.
acceptanceForce the type of acceptance mode used in output.
aliasWhether aliases should be used in output.
newlinesWhether to use newlines in output.
SPOT_API std::ostream& spot::kripke_save_reachable ( std::ostream &  os,
const kripke *  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 kripke *  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.

SPOT_API const tgba* spot::lbtt_parse ( std::istream &  is,
std::string &  error,
bdd_dict *  dict,
ltl::environment &  env = ltl::default_environment::instance(),
ltl::environment &  envacc = ltl::default_environment::instance() 
)

Read an automaton in LBTT's format.

Parameters
isThe stream on which the automaton should be input.
errorA string in which to write any error message.
dictThe dictionary that should register the BDD variables used by the automaton built.
envThe environment of atomic proposition into which parsing should take place.
envaccThe environment of acceptance conditions into which parsing should take place.
Returns
the read tgba or 0 on error.
SPOT_API std::ostream& spot::lbtt_reachable ( std::ostream &  os,
const tgba *  g,
bool  sba = false 
)

Print reachable states in LBTT's format.

Parameters
gThe automata to print.
osWhere to print.
sbaAssume g is an SBA and use LBTT's state-based acceptance format (similar to LBT's format).
SPOT_API std::ostream& spot::never_claim_reachable ( std::ostream &  os,
const tgba *  g,
const ltl::formula *  f = 0,
bool  comments = false 
)

Print reachable states in Spin never claim format.

Parameters
osThe output stream to print on.
gThe (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.
fThe (optional) formula associated to the automaton. If given it will be output as a comment.
commentsWhether to comment each state of the never clause with the label of the g automaton.
SPOT_API tgba_explicit_string* spot::neverclaim_parse ( const std::string &  filename,
neverclaim_parse_error_list &  error_list,
bdd_dict *  dict,
ltl::environment &  env = ltl::default_environment::instance(),
bool  debug = false 
)

Build a spot::tgba_explicit from a Spin never claim file.

Parameters
filenameThe name of the file to parse.
error_listA list that will be filled with parse errors that occured during parsing.
dictThe BDD dictionary where to use.
envThe environment of atomic proposition into which parsing should take place.
debugWhen true, causes the parser to trace its execution.
Returns
A pointer to the tgba built from filename, or 0 if the file could not be opened.

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.

Warning
This function is not reentrant.
SPOT_API tgba* spot::nra_to_nba ( const dstar_aut *  nra)

Convert a non-deterministic Rabin automaton into a non-deterministic Büchi automaton.

SPOT_API tgba* spot::nra_to_nba ( const dstar_aut *  nra,
const state_set *  ignore 
)

Convert a non-deterministic Rabin automaton into a non-deterministic Büchi automaton.

This version simply ignores all states in ignore.

SPOT_API tgba* spot::nsa_to_tgba ( const dstar_aut *  nra)

Convert a non-deterministic Streett automaton into a non-deterministic tgba.

SPOT_API tgba_explicit_string* spot::tgba_parse ( const std::string &  filename,
tgba_parse_error_list &  error_list,
bdd_dict *  dict,
ltl::environment &  env = ltl::default_environment::instance(),
ltl::environment &  envacc = ltl::default_environment::instance(),
bool  debug = false 
)

Build a spot::tgba_explicit from a text file.

Parameters
filenameThe name of the file to parse.
error_listA list that will be filled with parse errors that occured during parsing.
dictThe BDD dictionary where to use.
envThe environment of atomic proposition into which parsing should take place.
envaccThe environment of acceptance conditions into which parsing should take place.
debugWhen true, causes the parser to trace its execution.
Returns
A pointer to the tgba built from filename, or 0 if the file could not be opened.

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.

Warning
This function is not reentrant.
SPOT_API std::ostream& spot::tgba_save_reachable ( std::ostream &  os,
const tgba *  g 
)

Save reachable states in text format.


Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Sat Dec 6 2014 12:28:44 for spot by doxygen 1.8.4