22 #include "common_sys.hh"
27 #include "parseaut/public.hh"
29 #include "twaalgos/stats.hh"
30 #include "twaalgos/sccinfo.hh"
31 #include "twaalgos/gtec/gtec.hh"
32 #include "twaalgos/word.hh"
33 #include "twaalgos/isdet.hh"
34 #include "common_file.hh"
38 enum automaton_format_t {
49 extern automaton_format_t automaton_format;
51 extern const char* opt_name;
53 extern const struct argp aoutput_argp;
56 extern char F_doc[32];
57 extern char L_doc[32];
60 extern const struct argp aoutput_io_format_argp;
61 extern const struct argp aoutput_o_format_argp;
64 int parse_opt_aoutput(
int key,
char* arg,
struct argp_state* state);
67 enum stat_style { no_input, aut_input, ltl_input };
78 stat_style input = no_input)
81 if (input == aut_input)
93 if (input != ltl_input)
107 print(
const spot::const_parsed_aut_ptr& haut,
108 const spot::const_twa_graph_ptr& aut,
110 const char* filename,
int loc,
double run_time)
112 filename_ = filename ? filename :
"";
113 if (loc >= 0 &&
has(
'L'))
115 std::ostringstream os;
117 location_ = os.str();
121 if (loc < 0 &&
has(
'L'))
123 std::ostringstream os;
125 location_ = os.str();
131 haut_states_ = s.states;
132 haut_edges_ = s.edges;
133 haut_trans_ = s.transitions;
138 haut_states_ = s.states;
139 haut_edges_ = s.edges;
143 auto n = haut->aut->get_named_prop<std::string>(
"automaton-name");
147 haut_name_.val().clear();
150 haut_states_ = haut->aut->num_states();
153 haut_acc_ = haut->aut->acc().num_sets();
160 std::ostringstream os;
161 os << haut->aut->get_acceptance();
162 haut_gen_acc_ = os.str();
168 auto n = aut->get_named_prop<std::string>(
"automaton-name");
172 aut_name_.val().clear();
179 auto run = res->accepting_run();
183 std::ostringstream out;
184 w.print(out, aut->get_dict());
185 aut_word_ = out.str();
189 aut_word_.val().clear();
214 std::ostringstream name;
216 std::ostringstream outputname;
218 std::map<std::string, std::unique_ptr<output_file>> outputfiles;
225 print(
const spot::twa_graph_ptr& aut,
228 const char* filename =
nullptr,
232 const spot::const_parsed_aut_ptr& haut =
nullptr);
An infinite word stored as a lasso.
Definition: word.hh:29
Definition: sccinfo.hh:27
twa_sub_statistics sub_stats_reachable(const const_twa_ptr &g)
Compute sub statistics for an automaton.
std::ostream & print(const const_twa_graph_ptr &aut, formula f=nullptr, double run_time=-1.)
print the configured statistics.
emptiness_check_ptr couvreur99(const const_twa_ptr &a, option_map options=option_map())
Check whether the language of an automate is empty.
prints various statistics about a TGBA
Definition: stats.hh:77
Definition: formater.hh:29
std::ostream & print(const spot::const_parsed_aut_ptr &haut, const spot::const_twa_graph_ptr &aut, spot::formula f, const char *filename, int loc, double run_time)
print the configured statistics.
Definition: common_aoutput.hh:107
prints various statistics about a TGBA
Definition: common_aoutput.hh:74
Definition: common_aoutput.hh:211