ChangeLog 250 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
2009-06-10  Guillaume Sadegh  <sadegh@lrde.epita.fr>

	During the complementation, transform the auxiliary Streett
	automaton into a TGBA instead of a TBA.

	* src/tgba/tgbacomplement.hh, src/tgba/tgbacomplement.cc:
	Adjust the transformation from Streett to Bchi to support
	generalized acceptance conditions.
	* src/tgbatest/complementation.cc: Improve output messages.
	* src/tgbatest/complementation.test: New tests.

12
13
2009-06-09  Guillaume Sadegh  <sadegh@lrde.epita.fr>

14
15
	* src/tgba/tgbacomplement.cc, src/tgbatest/complementation.cc:
	Fix style.
16

17
18
19
20
21
2009-06-07  Guillaume Sadegh  <sadegh@lrde.epita.fr>

	* src/tgba/tgbacomplement.cc (state_complement::hash): Improve
	the hash function.

22
23
24
25
26
27
2009-06-09  Damien Lefortier <dam@lrde.epita.fr>

	* src/eltlparse/eltlparse.yy: Fix a memory leak.
	* src/eltltest/nfa.cc: Adjust.
	* src/tgbaalgos/eltl2tgba_lacim.cc: Fix a memory leak.

28
29
30
31
32
33
34
2009-06-05  Guillaume Sadegh  <sadegh@lrde.epita.fr>

	Remove generated files that git follows.

        * INSTALL, lbtt/INSTALL, lbtt/doc/texinfo.tex: Do not track
	anymore these generated files.

35
36
37
38
39
40
41
42
43
44
45
46
47
48
2009-06-05  Guillaume Sadegh  <sadegh@lrde.epita.fr>

	Add an algorithm to complement Bchi automata.

	* src/tgba/tgbacomplement.hh, src/tgba/tgbacomplement.cc: New
	files. The complementation algorithm.
	* src/tgba/Makefile.am: Adjust.
	* src/tgbatest/complementation.test,
	src/tgbatest/complementation.cc: New files. Test suite for the
	complementation algorithm.
	* src/tgbatest/Makefile.am: Adjust.
	* src/tgbaalgos/Makefile.am: Reformat the header using 80
	columns.

49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
2009-06-05  Damien Lefortier <dam@lrde.epita.fr>

	Modify the ELTL parser to be able to support PSL operators.  Add a
	new keyword in the ELTL format: finish, which applies to an
	automaton operator and tells whether it just completed.

	* src/eltlparse/eltlparse.yy: Clean it. Add finish.
	* src/eltlparse/eltlscan.ll: Add finish.
	* src/formula_tree.cc, src/formula_tree.hh: New files. Define a
	small AST representing formulae where atomic props are unknown
	which is used in the ELTL parser.
	* src/ltlast/automatop.cc, ltlast/automatop.hh, ltlast/nfa.cc,
	ltlast/nfa.hh: Adjust.
	* src/ltlast/unop.cc, src/ltlast/unop.hh: Finish is an unop.
	* src/ltlvisit/basicreduce.cc, src/ltlvisit/nenoform.cc,
	src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
	src/ltlvisit/tostring.cc, src/ltlvisit/tunabbrev.cc,
	src/tgba/formula2bdd.cc, src/tgbaalgos/ltl2tgba_fm.cc,
	src/tgbaalgos/ltl2tgba_lacim.cc: Handle finish in switches.
	* src/tgbaalgos/eltl2tgba_lacim.cc: Translate finish.
	* src/tgbatest/eltl2tgba.test: More tests.

71
72
73
74
75
76
2009-06-02  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbatest/scc.test: Redirect stdout into file `stdout'
	instead of `out', to conform to other tests, and add a missing
	call to diff.

77
78
79
80
81
82
83
84
85
86
87
2009-06-02  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Introduce some experimental kripke classes to simplify writing
	interfaces.

	* src/kripke/Makefile.am, src/kripke/fairkripke.cc,
	src/kripke/fairkripke.hh, src/kripke/kripke.cc,
	src/kripke/kripke.hh: New files.
	* src/Makefile.am: Recurse into kripke and link libkripke.la.
	* configure.ac: Output src/kripke/Makefile.

88
89
90
91
92
93
94
95
96
2009-06-02  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbatest/scc.test: New file.
	* src/tgbatest/Makefile.am: Adjust.
	* src/tgbaalgos/scc.hh: More documentation.
	* src/tgbaalgos/scc.cc (scc_recurse): Fix computation of
	acc_paths and dead_paths.  Prevent recursions in states that
	have already been visited.

97
98
99
100
101
102
103
104
105
2009-05-31  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Lift the SCC computation off future_condition_collectors, into
	a new tgba_scc class.

	* src/tgba/futurecondcol.cc, src/tgba/futurecondcol.hh: Move
	all delegation functions and scc_map into ...
	* src/tgba/tgbascc.cc, src/tgba/tgbascc.hh: ... these new files.

106
107
108
109
110
111
112
113
114
115
2009-05-28  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Test "ltl2tgba -FC" and plug the memory leaks of scc_map.

	* src/tgbaalgos/scc.hh (scc_map::~scc_map): Declare it.
	* src/tgbaalgos/scc.cc (scc_map::~scc_map): Implement it.
	(scc_map::build_map): Delete duplicate states.
	* src/tbbatest/ltl2tgba.test: Run ltl2tgba -FV to catch
	memory leaks with valgrind.

116
117
118
119
120
121
122
123
124
2009-05-28  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Implement spot::future_conditions_collector.

	* src/tgba/futurecondcol.hh, src/tgba/futurecondcol.cc:
	New files.
	* src/tgba/Makefile.am: Adjust.
	* src/tgbatest/ltl2tgba.cc: Add option -FC.

125
126
127
128
129
2009-05-28  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbaalgos/scc.cc (dump_scc_dot): Use a bit vector instead of
	a map to track visited SCC since they are sequentially numbered.

130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
2009-05-28  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Number states using negative values and SCCs using nonnegative
	values.

	Before this change states were numbered using positive values and
	SCCs using negative values.  That meant the user had to work with
	negative values.  With this changes, the nonnegative values used
	to label SCCs can also directly be used as index in the scc_map_.

	* src/tgbaalgos/scc.hh (scc_map::scc_of_state,
	scc_map::cond_set_of, scc_map::acc_set_of, scc_map::states_of,
	scc_map::initial, scc_map::scc_type, scc_map::succ,
	scc_map::accepting): Adjust prototypes to take or return unsigned
	arguments.
	* src/tgbaalgos/scc.cc: Adjust prototypes of the above functions.
	(scc_map::build_map, scc_map::relabel_component): Number states
	using negative values, and SCCs using nonnegative values.
	(dump_scc_dot): Adjust to use nonnegative values.

150
151
152
153
154
155
156
157
158
159
160
161
162
2009-05-28  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Store the scc_map_ as a vector instead of a std::map.  There is no
	point in using a map since the SCC are numbered in sequence.

	* src/tgbaalgos/scc.hh (scc_map::relabel_component): Return the
	number of the SCC instead of taking it as argument.
	(scc_map::scc_num_): Delete this variable.  scc_map_.size() gives
	the same information.
	(scc_map::scc_map_type): Define using std::vector instead of
	std::map.
	* src/tgbaalgos/scc.cc: Adjust all uses.

163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
2009-05-28  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Keep track of conditions in SCC, and add a more verbose dump.

	* src/tgbaalgos/scc.hh (scc_map::scc_of_state,
	scc_map::cond_set_of, scc_map::acc_set_of, scc_map::states_of):
	New functions.
	(scc_map::scc::conds): New attribute.
	(dump_scc_dot): Take an optional VERBOSE argument.
	* src/tgbaalgos/scc.cc (scc_map::scc_of_state,
	scc_map::cond_set_of, scc_map::acc_set_of, scc_map::states_of):
	Implement these new functions.
	(dump_scc_dot): Display number of states, conditions and
	acceptance conditions, with VERBOSE is set.
	(build_map): Fill the new scc_map::scc::cond field.

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
179
180
181
182
183
184
185
2009-05-28  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbaalgos/scc.cc (scc_map::relabel_component): Make sure
	that the old label of each state is strictly positive.  The
	previous assertion (inherited from gtec) of "!= -1" is wrong,
	because all negative values are now used to number SCCs.

186
187
188
189
190
191
2009-05-26  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgba/tgba.hh (format_state): s/automata who/automata that/.
	* src/evtgba/evtgba.hh (format_state): Likewise.
	* src/evtgba/product.hh (format_state): Likewise.

192
193
194
195
196
197
198
199
200
201
202
203
204
205
2009-04-18  Damien Lefortier <dam@lrde.epita.fr>

	Extend the ELTL parser to support more complex aliases of
	automaton operators such as Strong=G(F($0))->G(F($1)) and
	G=R(false, $0).

	* src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll: Add
	support for more complex aliases.
	* src/eltltest/acc.cc, src/eltltest/acc.test: Adjust.
	* src/ltlast/nfa.cc, src/ltlast/nfa.hh (arity): Now returns an
	unsigned value.
	* src/tgbatest/eltl2tgba.test: Adjust.
	* src/tgbalagos/eltl2tgba_lacim.cc: Fix sanity.

206
207
208
209
210
211
212
213
214
2009-04-09  Guillaume SADEGH  <sadegh@lrde.epita.fr>

	Minor fixes to compile with GCC 4.4.

	* src/eltlparse/eltlparse.yy (subformula): Avoid a comparaison
	between a signed and an unsigned value.
	* src/ltlast/automatop.hh, src/ltlast/automatop.cc (nfa): Avoid
	a name clash with the `nfa' class.

215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
2009-04-08  Damien Lefortier <dam@lrde.epita.fr>

	Correct LaCIM for ELTL and make it work with LBTT.

	* src/eltlparse/eltlparse.yy: Adjust.
	* src/ltlast/automatop.cc, src/ltlast/automatop.hh,
	src/ltlvisit/clone.cc, src/ltlvisit/nenoform.cc: Clean the way we
	handle the negation of automaton operators.
	* src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh: Add an
	optional argument to output a fully parenthesized string.
	* src/tgbaalgos/eltl2tgba_lacim.cc: Fix it.
	* src/tgbatest/eltl2tgba.cc: Add a new option (-L) to read formulae
	from an LBTT-compatible file.
	* src/tgbatest/eltl2tgba.test: A new tests.
	* src/tgbatest/spotlbtt.test: Add LaCIM for ELTL.

231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
2009-04-04  Damien Lefortier <dam@lrde.epita.fr>

	Extend the ELTL parser to support basic aliases of automaton
	operators such as F=U(true,$0) or R=!U(!$0,!$1), and infix
	notation for binary automaton operators.

	* README: Document the ELTL directories.
	* src/eltlparse/eltlparse.yy, src/eltlparse/eltlscan.ll: Add
	support for aliases and infix notation.
	* src/eltlparse/public.hh, src/ltlast/nfa.cc, src/ltlast/nfa.hh:
	Clean them.
	* src/eltltest/acc.test, src/tgbatest/eltl2tgba.test: Add tests
	for the ELTL parser's extensions.
	* src/tgbatest/eltl2tgba.cc: Adjust.

246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
2009-03-26  Damien Lefortier <dam@lrde.epita.fr>

	Add support for ELTL (AST & parser), and an adaptation of LaCIM
	for ELTL.

        * configure.ac: Adjust for src/eltlparse/ and src/eltltest/
	directories, and call AX_BOOST_BASE.
	* m4/boost.m4: New file defining AX_BOOST_BASE([MINIMUM-VERSION]).
	* src/Makefile.am: Add eltlparse and eltltest.
	* src/eltlparse/: New directory.  Contains the ELTL parser.
	* src/eltltest/: New directory.  Contains tests related to
	ELTL (parser and AST).
	* src/ltlast/Makefile.am: Adjust for ELTL AST files.
	* src/ltlast/automatop.cc, src/ltlast/automatop.hh: New files.
	Represent automaton operators nodes used in ELTL ASTs.
	* src/ltlast/nfa.cc, src/ltlast/nfa.hh: New files.  Represent
	simple NFAs used internally by automatop nodes.
	* src/ltlast/allnode.hh, src/ltlast/predecl.hh,
	src/ltlast/visitor.hh: Adjust for automatop.
	* src/ltlvisit/basicreduce.cc, src/ltlvisit/clone.cc,
	src/ltlvisit/clone.hh, src/ltlvisit/contain.cc,
	src/ltlvisit/dotty.cc, src/ltlvisit/nenoform.cc,
	src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
	src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc,
	src/ltlvisit/tostring.cc: Because LTL and ELTL formulae share the
	same class hierarchy, LTL visitors need to handle automatop nodes
	to compile.  When it's meaningful the visitor applies on automatop
	nodes or simply assert(0) otherwise.
	* src/tgba/tgbabddconcretefactory.cc (create_anonymous_state),
	src/tgba/tgbabddconcretefactory.hh (create_anonymous_state): New
	function used by the LaCIM translation algorithm for ELTL.
	* src/tgbaalgos/Makefile.am: Adjust for eltl2tgba_lacim* files.
	* src/tgbaalgos/eltl2tgba_lacim.cc,
	src/tgbaalgos/eltl2tgba_lacim.hh: New files.  Implementation of
	the LaCIM translation algorithm for ELTL.
	* src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc:
	Handle automatop nodes in the translation by an assert(0).
	* src/tgbatest/Makefile.am: Adjust for eltl2tgba.* files.
	* src/src/tgbatest/eltl2tgba.cc, src/tgbatest/eltl2tgba.test: New
	files.

287
288
289
290
2009-03-25  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/evtgbaparse/evtgbaparse.yy: Stay on 80 columns.

291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
2009-03-25  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Update parsers to work with Bison 2.4.1.

	* HACKING: Mention that we require Bison >= 2.4 for developers.
	* src/evtgbaparse/evtgbaparse.yy, src/tgbaparse/tgbaparse.yy,
	src/ltlparse/ltlparse.yy: The sections "%{ ... %}" should now be
	renamed "%code requires { ... }" or "%code { ... }" depending on
	whether they should end up in the parser's header file or its cc
	file.  Also use %language, %locations, %defines, instead of
	command-line arguments.
	* src/evtgbaparse/Makefile.am, src/tgbaparse/Makefile.am,
	src/ltlparse/Makefile.am: Remove the --locations, --defines
	and --languages in the call to bison.  Add -Wall -Werror to
	catch more errors.
	Thanks to Akim Demaille <akim@lrde.epita.fr> for the help.

308
309
310
311
2009-03-25  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbaalgos/scc.hh: Add missing misc/hash.hh inclusion.

Alexandre Duret-Lutz's avatar
typo    
Alexandre Duret-Lutz committed
312
313
314
315
316
2009-02-23  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgba/tgbaproduct.cc (tgba_succ_iterator_product::first):
	Typo in comment.

Alexandre Duret-Lutz's avatar
typos    
Alexandre Duret-Lutz committed
317
318
319
320
2009-02-23  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgba/tgba.hh: Typos.

Alexandre Duret-Lutz's avatar
Typos    
Alexandre Duret-Lutz committed
321
322
323
324
325
2009-02-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgba/succiterconcrete.cc (tgba_succ_iterator_concrete::next):
	Typos.

326
327
328
329
330
331
2008-12-17  Guillaume SADEGH  <sadegh@lrde.epita.fr>
	Update to compile with GCC 4.4.0 (trunk).

	* src/tgba/tgbabddconcrete.cc (tgba_bdd_concrete::succ_iter):
	Rename `state' as `local_state'.

332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
2008-12-11  Guillaume SADEGH  <sadegh@lrde.epita.fr>

	Update to compile with the Intel compiler.

  	* m4/intel.m4: New file.
	* configure.ac: Update.
	* src/tgbaalgos/emptiness.cc (tgba_run): Modify s.s->clone() in
	i->s->clone().
	* src/misc/optionmap.hh, src/misc/optionmap.cc: Remove the extra
	`;' after the namespace.
        * src/tgbaalgos/tau03opt.cc
	(tau03_opt_search::add_new_state): Remove unreferenced method.
        * src/tgbaalgos/ltl2tgba_fm.cc
	(translate_dict::dump): Remove unreferenced method.
        * src/tgbaalgos/lbtt.cc
	(acceptance_cond_splitter::count): Remove unreferenced method.
        * src/tgba/tgbabddconcreteproduct.cc
	(tgba_bdd_product_factory::get_dict): Remove unreferenced method.
        * src/ltlvisit/syntimpl.cc
        (eventual_universal_visitor::recurse): Remove unreferenced method.
	* src/tgbaalgos/reductgba_sim.cc: Reindent.

354
355
356
357
358
359
360
361
362
363
2008-12-11  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Compute more statistics about SCCs.

	* src/tgbaalgos/scc.hh (scc_stats): Add new attributes:
	acc_scc, dead_scc, acc_paths, dead_paths.
	* src/tgbaalgos/scc.hh (scc_stats::dump): Display them.
	(build_scc_stats): Compute them.
	(scc_recurse_data, scc_recurse): New helper structure and function.

364
365
366
367
368
369
370
371
372
373
2008-12-11  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Fix tracking of SCCs on the search stack.

	* src/tgbaalgos/scc.hh (scc::arc_): Rename as ...
	(scc::arc_acc_): ... this.
	(scc::arc_cond_): New attribute.
	* src/tgbaalgos/scc.cc (build_map): Adjust and keep
	track of transitions between SCCs on the search stack.

374
375
376
377
378
379
380
2008-12-10  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbaalgos/scc.hh, src/tgbaalgos/scc.cc: New files.
	* src/tgbaalgos/Makefile.am: Add them.
	* src/tgbatest/ltl2tgba.cc (-k): Also call build_scc_stats().
	(-K): New option that dumps the SCCs for dot.

381
382
383
384
385
386
387
2008-12-05  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbatest/ltl2tgba.cc (-k): New option that calls
	stats_reachable(a).dump().
	* src/tgbaalgos/stats.cc, src/tgbaalgos/stats.hh:
	Add tgba_statistics::dump().

388
389
390
391
392
393
394
2008-08-29  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* bench/gspn-ssp/tools/modelgen-create: Remove and fold into ...
	* bench/gspn-ssp/tools/bench-create: ... this.
	* bench/gspn-ssp/Makefile.am: Update.
	* bench/gspn-ssp/bench.mk: Regen.

395
396
397
398
399
2008-08-29  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* bench/gspn-ssp/tools/defs.in (TMPDIR): New variable.
	* bench/gspn-ssp/tools/runbench: Use it.

400
401
402
403
404
405
2008-08-29  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* bench/gspn-ssp/tools/sum: Fix the order of stats in -e4.
	If the MAXLINES environment variable is defined, flush the page
	as needed.  Sort the models only once.

406
407
408
409
410
2008-08-27  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* bench/gspn-ssp/README: New file.
	* bench/gspn-ssp/Makefile.am (EXTRA_DIST): Distribute it.

411
412
413
414
415
416
417
418
419
420
421
2008-08-27  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* bench/gspn-ssp/tools/sum: Output WCSsym* and WCSasym* on
	separate lines.  Canonize the names used as keys to that
	WCSsymN appears always in the same column as WCSasymN.  Read the
	*.log files directly, we don't need the *.all files anymore.
	* bench/gspn-ssp/tools/collate: Delete.
	* bench/gspn-ssp/tools/Makefile.am: Adjust.
	* bench/gspn-ssp/tools/bench-create: Do not output rules to
	build *.all files.

422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
2008-08-26  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Build the benchmark in bench/gspn-ssp/ using makefiles, so we
	can run them easily in parallel using "make -j2".

	* bench/gspn-ssp/bench: Remove, it is now replaced by Makefile rules.
	* bench/gspn-ssp/benchaux: Remove, now implemented by...
	* bench/gspn-ssp/tools/runbench, bench/gspn-ssp/tools/collate:
	... these new files.
	* bench/gspn-ssp/defs.in: Use absolute filenames.
	* bench/gspn-ssp/gen: Remove, it is now replaced
	by tools/modelgen-create.
	* bench/gspn-ssp/sumall: Delete.
	* bench/gspn-ssp/templates/WCSsym/gen,
	bench/gspn-ssp/templates/bagrodia/gen,
	bench/gspn-ssp/templates/common,
	bench/gspn-ssp/templates/gen, bench/gspn-ssp/templates/predef/gen,
	* bench/gspn-ssp/Makefile.am: Inlucde modelgen.mk, bench.mk, as
	well as all the tools.
	* bench/gspn-ssp/bench.mk, bench/gspn-ssp/modelgen.mk: New
	files, generated by ...
	* bench/gspn-ssp/tools/bench-create,
	bench/gspn-ssp/tools/modelgen-create: ... these new files.
	* bench/gspn-ssp/sum: Rename as ...
	* bench/gspn-ssp/tools/sum: ... this, adjust for the new system,
	and keep track of the inclusion count created by the previous patch.

449
450
451
452
453
2008-08-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* iface/gspn/ssp.cc (numbered_state_heap_ssp_semi): Keep track
	of the number of inclusions detected.

454
455
456
457
458
459
460
461
462
463
464
465
466
2008-08-07  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* bench/gspn-ssp/Makefile.am, bench/gspn-ssp/trans2prop.pl: New files.
	* bench/gspn-ssp/config: Rename as bench/gspn-ssp/defs.in.
	* bench/Makefile.am (SUBDIRS): Add gspn-ssp.
	* configure.ac: Output bench/gspn-ssp/Makefile and bench/gspn-ssp/defs.
	* bench/gspn-ssp/bench: Include defs.

2008-08-07  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* bench/gspn-ssp/: New directory.  Contains some of the benches
	used in baarir.06.tr03, baarir.07.acsd, and baarir.07.msr.

467
468
469
470
471
472
2008-08-07  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* iface/gspn/ltlgspn.cc: New option: -e54.
	* iface/gspn/ssp.hh, iface/gspn/ssp.cc: Add the
	reversed_double_inclusion boolean for this.

473
474
475
476
477
478
2008-06-12  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* iface/nips/nipstest/dotty.test,
	iface/nips/nipstest/emptiness.test: Prefix bytecode filenames
	with $srcdir so the tests work in VPATH builds.

479
480
2008-06-11  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

481
482
483
	* iface/nips/dottynips.cc: Include ctsdlib for exit().
	* iface/nips/emptiness_check.cc: Likewise.

484
485
	* src/sanity/includes.test: Remove empty line at beginning of file.

486
487
488
489
490
491
492
493
494
495
496
497
498
2008-06-02  Guillaume SADEGH  <sadegh@lrde.epita.fr>

	Test suite for the NipsVM front-end.

	* iface/nips/nipstest/Makefile.am, iface/nips/Makefile.am,
	configure.ac, iface/nips/nipstest/emptiness.test,
	iface/nips/nipstest/dotty.test: Test suite for the NipsVM
	front-end.
	* iface/nips/emptiness_check.cc, iface/nips/dottynips.cc: `catch'
	don't throw anymore an exception, but exit with 1.
	* iface/nips/common.cc, iface/nips/nips.cc (nips_interface):
	Change messages of nips_exception.

499
500
501
502
2008-06-03  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/sanity/includes.test (INCDIR): Remove any trailing slash.

503
504
505
506
507
508
509
510
2008-06-03  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Install interfaces' headers in the spot/iface/ directory, not
	directly in the spot/ directory.

	* iface/gspn/Makefile.am (gspndir): Install in spot/iface/gspn/.
	* iface/nips/Makefile.am (nipsdir): Install in spot/iface/nips/.

511
512
2008-06-02  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
513
514
	* iface/nips/nips_vm/Makefile.am: Do not install NipsVM.

515
516
517
518
	* iface/nips/Makefile.am (empt_check_LDADD, dottynips_LDADD):
	Do not link libnipsvm.la here...
	(libspotnips_la_LIBADD): ... do it here.

519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
2008-05-29  Guillaume SADEGH  <sadegh@lrde.epita.fr>

	* iface/nips/nips.cc, iface/nips/nips.hh, iface/nips/common.cc,
	iface/nips/common.hh, iface/nips/Makefile.am: TGBA implementation
	with the NIPS library.
	* iface/nips/emptiness_check.cc: Emptiness check on a Promela
	interface.
	* iface/nips/dottynips.cc: Dot printer on the NIPS interface.
	* iface/nips/compile.sh: Add. Wrapper around nips compiler to
	compile Promela to NIPS bytecode.
	* iface/nips/nips_vm,iface/nips/nips_vm/bytecode.h,
	iface/nips/nips_vm/ChangeLog, iface/nips/nips_vm/COPYING,
	iface/nips/nips_vm/hashtab.c, iface/nips/nips_vm/hashtab.h,
	iface/nips/nips_vm/INSTALL, iface/nips/nips_vm/instr.c,
	iface/nips/nips_vm/instr.h, iface/nips/nips_vm/instr_step.c,
	iface/nips/nips_vm/instr_step.h,
	iface/nips/nips_vm/instr_tools.c,
	iface/nips/nips_vm/instr_tools.h,
	iface/nips/nips_vm/instr_wrap.c,
	iface/nips/nips_vm/instr_wrap.h,
	iface/nips/nips_vm/interactive.c,
	iface/nips/nips_vm/interactive.h, iface/nips/nips_vm/main.c,
	iface/nips/nips_vm/Makefile, iface/nips/nips_vm/Makefile.am,
	iface/nips/nips_vm/nips_asm_help.pl,
	iface/nips/nips_vm/nips_asm_instr.pl,
	iface/nips/nips_vm/nips_asm.pl,
	iface/nips/nips_vm/nips_disasm.pl, iface/nips/nips_vm/nipsvm.c,
	iface/nips/nips_vm/nipsvm.h, iface/nips/nips_vm/README,
	iface/nips/nips_vm/rt_err.c, iface/nips/nips_vm/rt_err.h,
	iface/nips/nips_vm/search.c, iface/nips/nips_vm/search.h,
	iface/nips/nips_vm/split.c, iface/nips/nips_vm/split.h,
	iface/nips/nips_vm/state.c, iface/nips/nips_vm/state.h,
	iface/nips/nips_vm/state_inline.h,
	iface/nips/nips_vm/state_parts.c,
	iface/nips/nips_vm/state_parts.h, iface/nips/nips_vm/timeval.h,
	iface/nips/nips_vm/tools.h: NIPS VM added to the SPOT
	distribution.
	* configure.ac, iface/Makefile.am: Build system updated for the
	NIPS front-end.

	* src/Makefile.am (_.cc): Fix for `make tags`.

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
561
562
563
564
565
566
567
568
569
570
571
572
573
2008-04-14  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Kill some FIXMEs.

	* src/ltlenv/environment.hh, src/ltlvisit/basicreduce.cc: Remove
	useless FIXMEs.
	* src/ltlvisit/reduce.cc (reduce_visitor::visit(binop)): Compute
	syntactic implications only when needed.
	* src/tgbaalgos/reductgba_sim_del.cc
	(build_recurse_successor_spoiler): Remplace the FIXME by an assert.
	* src/tgba/tgbareduc.cc: Reword some comments, discard old
	commented code.

574
575
576
577
578
579
580
2008-03-28  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/evtgbaparse/Makefile.am (AM_CXXFLAGS): Remove -Werror
	so we tolerate more flex versions.
	* src/ltlparse/Makefile.am (AM_CXXFLAGS): Likewise.
	* src/tgbaparse/Makefile.am (AM_CXXFLAGS): Likewise.

581
582
583
584
2008-03-25  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/misc/hash.hh: Second thinko in #if/#else.

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
585
586
587
588
2008-03-25  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/misc/hash.hh: Thinko in #if/#else.

589
590
591
592
2008-03-21  Damien Lefortier <dam@lrde.epita.fr>

	* src/misc/freelist.hh: Avoid <iostream> in headers, better use <iosfwd>.

593
594
595
596
597
2008-03-21  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbatest/ltl2tgba.cc, src/misc/hash.hh: Reformat the header
	using 80 columns.

598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
2008-03-14  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Make sure Spot compiles with g++-4.3.

	* src/ltlast/formula.hh (hash): Remove const from return type.
	This kills a g++-4.3 warning.
	* src/misc/hash.hh: Adjust to use unordered_set and unordered_map
	from TR1 when g++-4.3 is used.
	* src/evtgba/product.cc, src/ltltest/randltl.cc,
	src/ltlvisit/randomltl.cc, src/ltlvisit/tostring.cc,
	src/misc/freelist.hh, src/misc/optionmap.cc,
	src/tgba/tgbareduc.hh, src/tgbaalgos/gv04.cc,
	src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/randomgraph.cc,
	src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc,
	src/ltltest/equals.cc, src/ltltest/readltl.cc,
	src/ltltest/reduc.cc, src/ltltest/syntimpl.cc,
	src/ltltest/tostring.cc, src/tgbatest/ltlprod.cc,
	src/tgbatest/powerset.cc, src/tgbatest/explprod.cc,
	src/tgbatest/mixprod.cc, src/tgbatest/readsave.cc,
	src/tgbatest/reductgba.cc, src/tgbatest/tgbaread.cc,
	src/tgbatest/tripprod.cc, src/evtgbatest/product.cc,
	src/evtgbatest/readsave.cc, src/evtgbatest/ltl2evtgba.cc,
	src/evtgbatest/readsave.cc: Add missing includes.
	* src/tgbatest/explicit.test, src/tgbatest/explprod.test,
	src/tgbatest/explpro2.test, src/tgbatest/troprod.test,
	src/tgbatest/emptchk.test: Cope with different outputs.

625
626
627
2008-03-11  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* doc/Doxyfile.in (LATEX_HIDE_INDICES): Do not generate indices
Alexandre Duret-Lutz's avatar
typo    
Alexandre Duret-Lutz committed
628
	until Doxygen is fixed.  Doxygen 1.5.5 generates incorrect LaTeX
629
630
	code.

631
632
633
634
2008-02-27  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbaalgos/reachiter.hh: Typos in comments.

635
636
637
638
639
2008-02-22  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgba/tgbabddconcretefactory.hh (create_state):
	Clarify comments.

640
641
642
643
644
2008-02-01  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::dump_queue):
	Remove superfluous semicolon.

645
646
647
648
649
2008-01-10  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* src/tgbaalgos/reductgba_sim.cc (reduc_tgba_sim): Add two
	assert().  This patch has been lying in my tree since 2007-04-30.

650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
2008-01-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	This is something Soheib and I worked on back in July, but a
	intricate memory corruption bug prevented me to check the patch
	in.  It took me two days to realize why find_state() must do a
	double loop over the candidates to check for equality before
	checking for inclusion(s).

	* iface/gspn/ltlgspn.cc: New options, -e45 and -n.
	* iface/gspn/ssp.cc, iface/gspn/ssp.hh: Handle these.
	* src/tgbaalgos/gtec/gtec.cc (TRACE): Add some debugging traces.
	(couvreur99_check_shy::dump_queue): New function.
	* src/tgbaalgos/gtec/gtec.hh (couvreur99_check_shy::dump_queue):
	New function.

665
666
667
668
669
670
671
672
673
2007-11-29  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	Keep libtool's files under CVS so that we don't use the broken
	Debian versions installed in build hosts during automatic builds.

	* m4/libtool.m4: New file, from GNU Libtool 1.4.24.
	* tools/ltmain.sh: New file, from GNU Libtool 1.4.24.
	* HACKING: Installing Libtool is no longer required.

674
675
676
677
678
2007-11-22  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* m4/valgrind.m4: New file.
	* configure.ac: Use it.

679
680
681
682
683
2007-10-05  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	* wrap/python/cgi/ltl2tgba.in: Adjust to newer versions of swig.

2007-09-19  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
684
685
686
687
688

	* src/misc/bddalloc.cc (bdd_allocator::initialize):
	Disable the default GC handler.  Reported by
	Kristin Yvonne Rozier <kyrozier@cs.rice.edu>.

689
690
691
692
693
2007-07-26  Alexandre Duret-Lutz  <adl@gnu.org>

	* src/tgbatest/ltl2tgba.cc (main): Correctly destroy unobservable
	events.

694
695
2007-07-23  Alexandre Duret-Lutz  <adl@src.lip6.fr>

696
697
698
699
	* iface/gspn/ltlgspn.cc: New option -L.
	* iface/gspn/ssp.cc, iface/gspn/ssp.hh (gspn_ssp_interface)
	support for a new option "pushfront".

700
701
	* NEWS, configure.in: Bump version to 0.4a.

702
703
704
705
706
707
2007-07-17  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* NEWS, configure.in: Bump version to 0.4.
	* HACKING, INSTALL, doc/Doxyfile.in, lbtt/INSTALL: Update to newer
	tools.

708
709
710
711
712
713
714
715
2007-07-16  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* iface/gspn/ssp.cc (tgba_gspn_ssp_private_::~tgba_gspn_ssp_private_):
	Fix the declaration for GCC 4.1.2.
	* iface/gspn/gspn.cc (tgba_gspn_private_::~tgba_gspn_private_):
	Likewise.

2007-06-20  Alexandre Duret-Lutz  <adl@src.lip6.fr>
716
717
718

	* src/tgbatest/spotlbtt.test: Do not check -R1q -R1t -R2q -R2t.

719
2007-04-30  Alexandre Duret-Lutz  <adl@src.lip6.fr>
720

Alexandre Duret-Lutz's avatar
typo    
Alexandre Duret-Lutz committed
721
	* src/tgbatest/ltl2tgba.cc (main): Fix handling of -R1q -R1t -R2q -R2t.
722
723
724
725
	Add support for -r8/-fr8.

	* src/tgbatest/spotlbtt.test: Also check -R1q -R1t -R2q -R2t.

726
2007-04-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>
727
728
729
730
731
732

	* src/ltlvisit/reduce.cc (reduce): Repeat the reduction as
	long as the formula changes, it makes more sense when
	combining algorithm.  E.g. basic reductions can help language
	containment and vice-versa.

733
2007-04-20  Alexandre Duret-Lutz  <adl@src.lip6.fr>
734
735
736
737

	* src/tgbatest/spotlbtt.test: Disable formula rewriting during
	construction.

738
2007-04-19  Alexandre Duret-Lutz  <adl@src.lip6.fr>
739

740
741
742
743
744
745
746
	* src/ltltest/reduc.cc (main): More cases to test.
	* src/ltlvisit/basicreduce.cc (basic_reduce_visitor::visit):
	Simplify the formula again after FX->XF and GX->XG permutations.
	This is so that formulae like GFXXa become GFa and not just GFXa.
	* src/ltlvisit/contain.cc (reduce_tau03_visitor): Fix a typo
	in the rules for i|j or i&j, resulting in missing simplifications.

747
748
749
	* src/ltlvisit/contain.cc (reduce_tau03_visitor): Simplify the
	rules for "a U b" and "a R b", an implication check is enough.

750
2007-04-17  Alexandre Duret-Lutz  <adl@src.lip6.fr>
751
752
753
754
755

	* src/misc/bddalloc.cc (bdd_allocator::initialize): Call
	bdd_isrunning() and don't run bdd_init() if it has already been
	called.

756
2007-02-06  Alexandre Duret-Lutz  <adl@src.lip6.fr>
757
758
759
760
761

	* src/tgbaalgos/randomgraph.cc (random_graph): Fix the
	generation of the graph.  Some states had no successors or
	duplicate transitions because of that bug.

762
763
2006-08-30  Alexandre Duret-Lutz  <adl@src.lip6.fr>

764
765
	* HACKING: We need Bison 2.3.

766
767
768
	* evtgbaparse/evtgbaparse.yy, ltlparse/ltlparse.yy,
	tgbaparse/tgbaparse.yy: Fix Bison warnings about unset $$.

769
770
771
772
773
	* src/tgbaparse/Makefile.am (tgbaparse_HEADERS): Also
	install location.hh and position.hh, since we no longer share
	those of ltlvisit.
	* src/evtgbaparse/Makefile.am (evtgbaparse_HEADERS): Likewise.

774
775
776
777
778
2006-08-17  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/ltlparse/public.hh: Work around Bison 2.3 unique guards.

2006-08-16  Alexandre Duret-Lutz  <adl@src.lip6.fr>
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794

	* src/evtgbaparse/public.hh: Work around Bison 2.3 unique guards.
	* src/ltlvisit/reduce.hh, src/ltlvisit/reduce.hh:
	Add Reduce_Containment_Checks and Reduce_Containment_Checks_Stronger
	flags, and call reduce_tau03.
	* src/ltlvisit/contain.hh (reduce_tau03): Make "stronger" the
	default.
	* src/ltlvisit/contain.cc: Style.
	* src/ltltest/reduc.cc: Simplify using the reduce() interface
	instead of reduce_tau03.
	* src/tgbatest/ltl2tgba.cc: Likewise.  Add -fr5, -fr6, and -fr7
	options.
	* src/tgbatest/spotlbtt.test: Remove cases using "-c", since its
	current implementation is not always correct (and apparently
	reduces less than -fr7).

795
796
797
798
799
800
801
802
803
804
805
2006-08-01  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/evtgbatest/evtgbaparse.yy, src/evtgbaparse/evtgbascan.ll,
	src/evtgbaparse/parsedecl.hh, src/evtgbaparse/public.hh,
	src/ltlparse/fmterror.cc, src/ltlparse/ltlparse.yy,
	src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
	src/ltlparse/public.hh, src/tgbaparse/parsedecl.hh,
	src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy,
	src/tgbaparse/tgbascan.ll: Adjust for Bison 2.3.  Use %name-prefix
	instead of the "#define yy ... " kludge.

806
807
808
809
810
2006-07-24  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/ltlvisit/contain.hh, src/ltlvisit/contain.cc: Adjust to only
	check containment on demand.

811
812
2006-07-19  Alexandre Duret-Lutz  <adl@src.lip6.fr>

813
814
815
816
817
818
819
820
821
822
823
	* src/ltlvisit/contain.hh, src/ltlvisit/contain.cc (reduce_tau03):
	New function, performing LTL reduction a la tauriainen.03.a83.
	* src/ltltest/equals.cc, src/ltltest/reduc.cc: Add support for
	the new reduction.
	* src/ltltest/reduc.test: Cut the test in half, and additionally
	test the new reduction.
	* src/ltltest/reduccmp.test: Run on the new reduction.
	* src/ltltest/Makefile.am: Adjust.
	* src/tgbatest/ltl2tgba.cc: Add new options to apply the reduction.
	* src/tgbatest/spotlbtt.test: Use them.

824
825
826
827
828
829
830
831
832
833
834
835
	* src/tgba/tgbaproduct.cc: Fix computation of common acceptance
	conditions.

	* src/tgba/bdddict.cc, src/tgba/bdddict.cc (register_clone_acc):
	New function.
	* src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh: Use it to
	distinguish acceptance conditions that are identical in both
	operands.

	* src/tgbatest/explpro4.test: New file.
	* src/tgbatest/explpro2.test, src/tgbatest/Makefile.am: Adjust.

836
837
838
839
840
	* src/tgbaalgos/ltl2tgba_fm.cc (language_containment_checker): Move ...
	* src/ltlvisit/contain.cc, src/ltlvisit/contain.hh
	(spot::ltl::language_containment_checker): ... in these new files.
	* src/ltlvisit/Makefile.am: Adjust.

841
842
843
844
845
846
847
2006-07-18  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/misc/memusage.cc, src/misc/memusage.hh: New files.
	* src/misc/Makefile.am: Add them.
	* src/tgbaalgos/gtec/gtec.cc,
	src/tgbaalgos/gtec/gtec.hh: Add a "vmsize" statistic.

848
849
2006-07-14  Alexandre Duret-Lutz  <adl@src.lip6.fr>

850
851
852
853
854
855
856
857
858
	* src/tgba/bdddict.cc, src/tgba/bdddict.hh (free_annonymous_list_of):
	Rename as ...
	(free_anonymous_list_of): ... this, and correct their update on
	release.  Also correct yesterday's the correction (ahem!).
	(dump): Improve verbosity.
	* src/misc/freelist.cc (free_list::remove, free_list::insert): Fix
	longstanding thinkos.
	(free_list::free_count): New function.

859
860
861
	Merge this fix from proviso-branch:
	2006-05-22  Alexandre Duret-Lutz  <adl@src.lip6.fr>
	* src/misc/bddalloc.cc (bdd_allocator::bdd_allocator): Count the
862
863
	number of BDD variable after they have been allocated.  Otherwise
	the first bdd_dict() created was leaking BDD variable #1.
864

865
866
867
868
	* src/tgba/tgbabddconcrete.hh, src/tgba/tgbaexplicit.hh,
	src/tgba/tgbaproduct.hh, src/tgba/tgbareduc.hh, src/tgba/tgbatba.hh:
	Remove superfluous class qualifiers worrying gcc 4.1.2.

869
870
2006-07-13  Alexandre Duret-Lutz  <adl@src.lip6.fr>

871
872
873
874
875
876
877
878
	* src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_fm.cc
	(ltl_to_tgba_fm): Add a new option "containment_checks" to enable
	some language containment checks (via emptiness checks) during the
	translation.  This first attempt currently only use containment
	checks to merge states bisimulating each other.
	* src/tgbatest/ltl2tgba.cc: Bind this to option "-c".
	* src/tgbatest/spotlbtt.test: Check it.

879
880
881
882
883
884
	* src/tgba/bdddict.cc (bdd_dict::unregister_variable): Correctly
	call release_n(), not remove() to repopulated the freelist of
	anonymous BDD variables.  New code I'm working on triggered an
	assertion inside remove(), but I'm surprised this bug hadn't
	manifested before !

885
886
887
888
889
890
2006-06-13  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* iface/gspn/common.hh, iface/gspn/common.cc, iface/gspn/gspn.cc,
	iface/gspn/ltlgspn.cc, iface/gspn/dottygspn.cc, iface/gspn/ssp.cc,
	iface/gspn/dottyssp.cc: s/exeption/exception/g.

891
892
893
894
895
896
897
898
899
900
2006-04-05  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh:
	(couvreur99_check_shy_ssp): Add a onepass_ attribute to
	disable the "shyness", and do not increment pos before calling
	find_state since gspn's implementation uses it.
	* iface/gspn/ssp.cc: Enable "onepass_" for all "shy" variants,
	and also fix find_state for the case where onepass_ is
	disabled (but I do not yet know why the latter fix isn't enough).

901
902
2006-02-15  Alexandre Duret-Lutz  <adl@src.lip6.fr>

903
904
905
	* src/tgbaalgos/gtec/gtec.cc: Add a third level hash, to split
	each container into lists of states with identical formula states.

906
907
908
909
	* iface/gspn/ltlgspn.cc, src/tgbaalgos/gtec/gtec.cc,
	src/tgbaalgos/gtec/gtec.hh: New option (-e6) to disable
	inclusion check in the stack.

910
911
912
	* src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh:
	Count the number of removed components.

913
914
915
916
917
918
919
920
921
2006-02-14  Alexandre Duret-Lutz  <adl@src.lip6.fr>
	    Soheib Baarir  <Souheib.Baarir@lip6.fr>

	* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state,
	numbered_state_heap_ssp_semi): Implement a double hash_map using
	greatspn's new container() function.
	* iface/gspn/ssp.hh (gspn_ssp_interface): Add a doublehash option.
	* iface/gspn/ltlgspn.cc: Add option -1 to disable this optimization.

922
923
924
925
2006-02-11  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/ltl2tgba.cc: Pacify sanity.test.

926
927
2006-02-10  Alexandre Duret-Lutz  <adl@src.lip6.fr>

928
929
930
931
932
933
934
935
936
937
	* src/tgbaparse/public.hh (tgba_parse): Take two environments
	instead of one : one for the atomic propositions, and one
	for the acceptance conditions.  This way it's easy for
	the tools in iface/gspn/ to require some atomic proposition
	to be declared and allow any acceptance conditions (there is nothing
	to adjust in this files because of the default value of the argument).
	* src/tgbaparse/tgbaparse.yy: Adjust.
	* src/tgbatest/ltl2tgba.cc, src/tgbatest/readsave.cc,
	src/tgbatest/reductgba.cc, src/tgbatest/tgbaread.cc: Adjust calls.

938
939
940
	* src/tgbaparse/tgbaparse.yy (acc_decl): Diagnose acceptance
	conditions rejected by the environment.

941
942
943
944
	* iface/gspn/ltlgspn.cc (display_stats): New function.
	(main): Use it.
	* iface/gspn/ssp.cc: Add more counters for statistics.

945
946
947
948
949
	* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state): Correctly
	update the emptiness statistics.

	* m4/gspnlib.m4: Typo.

950
2006-02-05  Alexandre Duret-Lutz  <adl@src.lip6.fr>
951
952
953

	* iface/gspn/ssp.cc: Pacify sanity.test.

954
955
2006-02-03  Alexandre Duret-Lutz  <adl@src.lip6.fr>

Alexandre Duret-Lutz's avatar
typos    
Alexandre Duret-Lutz committed
956
	* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state): Typo.
957

958
959
960
961
962
963
964
965
966
967
2006-02-02  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::check):
	Reorganize this function so that syntactically there is only one
	loop over the successors, and not two.  Call reintroduce the call
	to couvreur99_check_shy::state_index(), needed by SSP, and
	suppress that to index_and_insert introduced on 2004-12-29.  Also
	split the "group" option in two: "group" and "group2".  "group2"
	is the equivalent of the older "group", while the new "group" is
	weaker and faster.
Alexandre Duret-Lutz's avatar
typos    
Alexandre Duret-Lutz committed
968
	(couvreur99_check_shy::find_state): Change prototype as needed by
969
970
971
972
	the algorithm.
	* src/tgbaalgos/gtec/gtec.hh: Adjust.
	* src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gtec/nsheap.cc
	(index_and_insert): Remove.
Alexandre Duret-Lutz's avatar
typos    
Alexandre Duret-Lutz committed
973
	* iface/gspn/ssp.cc (couvreur99_check_shy_ssp::find_state): Adjust
974
975
976
977
	to new prototype.
	* bench/emptchk/README, bench/emptchk/algorithms: Adjust references
	to group/group2.

978
979
980
981
2006-01-30  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* NEWS, configure.ac: Bump version to 0.3a.

982
983
984
985
2006-01-25  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* NEWS, README, configure.ac: Update for version 0.3.

986
987
988
989
990
2006-01-24  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* wrap/python/cgi/ltl2tgba.in: Fix degeneralisation and output of
	accepting runs.

991
2006-01-10  Alexandre Duret-Lutz  <adl@src.lip6.fr>
992
993
994
995
996

	* wrap/python/spot.i: Wrap spot::emptiness_check_instantiator.
	* wrap/python/cgi/ltl2tgba.in: Offers all 6 emptiness
	check algorithms, and a text box for options.

997
2006-01-05  Alexandre Duret-Lutz  <adl@src.lip6.fr>
998
999
1000
1001

	* src/tgbaalgos/ndfs_result.hxx (ndfs_result::construct_cycle):
	Initialize tmp to suppress a GCC 4.0.1 warning (seen on Darwin).

1002
1003
1004
1005
1006
1007
2006-01-03  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/defs.in (VALGRIND): Use --log-fd instead of
	--logfile-fd to please newer versions of Valgrind.
	* src/ltltest/defs.in, src/evtgbatest/defs.in: Likewise.

1008
1009
2005-09-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1010
1011
1012
	* src/ltlparse/ltlparse.yy (result): Do not assign to $$, it's useless.
	Suggested by Akim.

1013
1014
1015
1016
	* src/tgbatest/randtgba.cc: New option -H.
	* src/tgbaalgos/emptiness_stats.hh (unsigned_statistics_copy): New
	class.

1017
1018
1019
1020
2005-09-27  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/randtgba.cc: New option -S.

1021
1022
1023
1024
2005-09-23  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/lbtt.cc: Typo.

1025
1026
1027
1028
1029
2005-09-22  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/randtgba.cc (default_algos): Test the "ordering"
	heuristic.

1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
2005-09-20  Heikki Tauriainen  <heikki.tauriainen@tkk.fi>

	* src/tgbaalgos/tau03opt.cc: Include <vector>.
	(tau03_opt_search): Add option "ordering" (off by default).
	If enabled, initialize an explicit ordering for acceptance
	conditions into the new member "cond" (a vector of bdds).
	(project_acc): New helper function for projecting a set of
	acceptance conditions to a subset that maximizes the number
	of initial consecutive conditions covered by the set in the
	condition ordering.
	(dfs_blue): Implement the ordering heuristic.
	(dfs_red): Use a sentinel in condition_stack to avoid explicit
	checks for the stack's emptiness.
	Consider also the conditions in acc when checking for the
	completion of an accepting cycle.
	Fix the implementation of condition heuristic.
	Implement the ordering heuristic.
	Simplify the removal of elements from condition_stack (due to
	the way in which elements are pushed on the stack, there can
	be at most one element with a given depth in the stack at any
	one time).

1052
1053
1054
1055
1056
1057
2005-09-05  Heikki Tauriainen  <heikki.tauriainen@tkk.fi>

	* src/tgbaalgos/ndfs_result.hxx (ndfs_result::construct_prefix):
	Initialize tmp to suppress a GCC 4.0 warning.
	* src/ltltest/randltl.cc (main): Likewise with another variable.

1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
2005-09-05  Heikki Tauriainen  <heikki.tauriainen@tkk.fi>

	* src/ltlast/visitor.hh (visitor, const_visitor): Add empty
	virtual destructors.
	* src/tgba/tgbabddfactory.hh (tgba_bdd_factory): Likewise.
	* src/misc/hash.hh: Use the std namespace only with GCC 3.0,
	not with all compiler versions with minor version 0.
	* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator): Fix
	friend declaration of ::spot::tgba_tba_proxy.

1068
1069
1070
1071
2005-09-01  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/magic.hh: \fixme is not a doxygen command.  Use \bug.

1072
1073
2005-08-31  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1074
1075
	* README: Update lbtt references.

1076
1077
	* iface/gspn/ssp.cc: Typo in comment.

1078
1079
	* lbtt/: Merge lbtt 1.2.0.

1080
1081
1082
1083
1084
1085
2005-06-06  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/reductgba_sim_del.cc
	(parity_game_graph_delayed::get_relation): Disable for generalized
	automata, it's wrong.

1086
1087
2005-05-25  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1088
1089
1090
	* src/tgbaalgos/reductgba_sim_del.cc
	(parity_game_graph_delayed::nb_set_acc_cond): Simplify.

1091
1092
1093
1094
	* sanity/style.test: Catch misuses of Sgi::.
	* tgba/tgbareduc.hh, tgbaalgos/reductgba_sim.cc,
	tgbaalgos/reductgba_sim.hh, tgbaalgos/reductgba_sim_del.cc: Fix them.

1095
1096
1097
1098
2005-05-16  Denis Poitrenaud  <dp@src.lip6.fr>

	* src/ltlvisit/syntimpl.cc: Fix a typo.

1099
1100
1101
1102
2005-05-13  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/ltlvisit/syntimpl.cc: Fix detection of purely eventual formulae.

1103
1104
1105
1106
2005-05-12  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/ltl2tgba_fm.cc: Fix handling of fair_loop_approx.

1107
1108
2005-05-04  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1109
1110
1111
1112
1113
	* src/misc/hashfunc.hh (knuth32_hash): New function.
	* src/misc/hash.hh (ptr_hash): Use knuth32_hash.
	* src/tgba/tgbabddconcretefactory.hh (tgba_bdd_concrete_factory): Use
	ltl::formula_ptr_hash for acc_map_.

1114
1115
1116
1117
1118
1119
1120
	* src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_fm.cc: Add
	the reduce_ltl argument.
	* src/tgbatest/ltl2tgba.cc: Add options -fr1, -fr2, -fr3, and -fr4.
	* src/tgbatest/spotlbtt.test, bench/ltl2tgba/algorithms: Test -fr4.
	* bench/ltl2tgba/parseout.pl: Suppress Perl warnings on disabled
	algorithms.

1121
1122
1123
1124
1125
1126
2005-04-19  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* bench/ltl2tgba/README: More instructions.
	* bench/Makefile.am (SUBDIRS): Add ltl2tgba.
	* README: Mention bench/ltl2tgba.

1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
2005-04-15  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* bench/ltl2tgba/Makefile.am, bench/ltl2tgba/README,
	bench/ltl2tgba/algorithms, bench/ltl2tgba/big,
	bench/ltl2tgba/defs.in, bench/ltl2tgba/formulae.ltl,
	bench/ltl2tgba/known, bench/ltl2tgba/parseout.pl,
	bench/ltl2tgba/small: New files.
	* src/tgbatest/ltl2baw.pl: Move ...
	* bench/ltl2tgba/ltl2baw.in: ... here.
	* src/tgbatest/Makefile.am: Adjust.
	* configure.ac: Adjust.

1139
1140
1141
1142
1143
2005-04-14  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/ltl2tgba.cc (main): Delete the reduced automaton
	before the degeneralized automaton.

1144
1145
1146
1147
2005-04-13  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* doc/Makefile.am (doc, $(srcdir)/stamp): Ignore rm's errors.

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
1148
1149
1150
1151
2005-04-12  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* README: Typos.

1152
1153
1154
1155
2005-04-09  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* NEWS, configure.ac: Bump version to 0.2a.

1156
1157
2005-04-08  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1158
1159
	* NEWS, configure.ac: Bump version to 0.2.

1160
1161
1162
	* bench/emptchk/README: Mention
	http://spot.lip6.fr/wiki/EmptinessCheckOptions for the syntax.

1163
1164
2005-04-06  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1165
1166
1167
1168
	* src/tgbaparse/tgbaparse.yy (acc_list): Do not explicitly delete
	an undeclared acceptance condition.
	* src/tgbaalgos/save.cc (print_acc): Unquote atomic propositions.

1169
1170
1171
1172
1173
1174
	* bench/emptchk/Makefile.am: Create reduced versions of the graphs.
	* bench/emptchk/pml2tgba.pl: Add option -r.
	* bench/emptchk/pml-clserv.sh, bench/emptchk/pml-eeaean.sh:
	Also run on reduced graphs (this is fast).
	* bench/emptchk/README: Adjust.

1175
1176
1177
1178
1179
2005-02-23  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/ltlvisit/length.cc (length_visitor): Rewrite using
	postfix_visitor.

1180
1181
2005-02-22  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1182
1183
1184
	* src/tgbaalgos/tau03opt.cc (tau03_opt_search): Add options "weights"
	and "redweights" (on by default).

1185
1186
1187
	* src/tgbaalgos/tau03opt.cc (tau03_opt_search): Do not
	account for the size of condition_stack.

1188
1189
2005-02-20  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
	* src/sanity/style.test: Catch occurrences of "accepting condition".
	* bench/emptchk/ltl-human.sh, bench/emptchk/ltl-random.sh,
	src/sanity/style.test, src/tgba/bdddict.cc,
	src/tgba/succiterconcrete.hh, src/tgba/tgbabddcoredata.hh,
	src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh,
	src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh,
	src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
	src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh,
	src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
	src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
	src/tgbatest/dfs.test: Replace them by "acceptance condition".

1202
1203
1204
	* src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03.hh: Include
	misc/optionmap.hh.

1205
1206
2005-02-18  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1207
1208
	* bench/emptchk/README: Document the file `algorithms'.

1209
1210
1211
1212
	* src/tgbaalgos/tau03opt.cc (tau03_opt_search): Implement the
	"condition heuristic".  Suggested by Heikki Tauriainen.
	* src/tgbatest/randtgba.cc: Test it.

1213
1214
1215
1216
1217
1218
1219
1220
1221
	* src/tgbatest/randtgba.cc: Remplace the -O option by -A, reading
	all algorithms from a file.  Use the emptiness_check_instantiator
	syntax as name in the output.
	* bench/emptchk/defs.in: DEfine ALGORITHMS here.
	* bench/emptchk/ltl-human.sh, bench/emptchk/ltl-random.sh,
	bench/emptchk/pml-clserv.sh, bench/emptchk/pml-clserv.sh: Use
	$ALGORITHMS.
	* src/misc/timer.cc: Truncate long keys in display.

1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
	* src/tgbatest/ltl2tgba.cc: Simplify using
	emptiness_check_instantiator.
	* src/tgba/tgba.cc, src/tgba/tgba.hh
	(tgba::number_of_acceptance_conditions): Return an unsigned.
	* bench/emptchk/algorithms, bench/emptchk/README,
	src/tgbatest/emptchk.test, src/tgbatest/emptchke.test: Adjust
	references to algorithms.
	* bench/emptchk/pml-clserv.sh, bench/emptchk/pml-eeaean.sh: Quote
	variables properly.

1232
1233
2005-02-17  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1234
1235
1236
1237
1238
1239
	* src/tgbaalgos/emptiness.hh, src/tgbaalgos/emptiness.cc
	(emptiness_check_instantiator): New class.
	* src/misc/optionmap.hh (set (const option_map&)): New method.
	* src/tgbatest/randtgba.cc: Create every emptiness check via
	emptiness_check_instantiator.

1240
1241
1242
1243
1244
1245
	* src/tgbaalgos/emptiness.hh,
	src/tgbaalgos/emptiness.cc (emptiness_check::safe): New method.
	* src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
	src/tgbaalgos/se05.hh, src/tgbaalgos/se05.cc: Implement it.
	* src/tgbatest/randtgba.cc: Simplify.

1246
1247
1248
1249
1250
	* src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc,
	src/tgbaalgos/se05.hh, src/tgbaalgos/se05.cc: Provide wrapper
	functions that read the hash-map size from a "bsh" option.
	* src/tgbatest/randtgba.cc: Simplify.

1251
1252
1253
1254
1255
1256
1257
1258
1259
	* src/misc/optionmap.hh, src/misc/optionmap.cc
	(option_map::parse_options): Rewrite.  Do not modify the input
	string, allow !foo as a shorthand for foo=0, and support K and
	M suffixes for values.
	* src/tgbatest/randtgba.cc (cons_emptiness_check): Simplify.
	* wrap/python/spot.i: Process optionmap.hh.
	* wrap/python/tests/optionmap.py: New file.
	* wrap/python/tests/Makefile.am (TESTS): Add it.

1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
2005-02-16  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/misc/optionmap.cc, src/misc/optionmap.hh (option_map::get,
	option_map::set): Handle default values.
	(anonymous::to_int): Do not print anything.
	* src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh,
	src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
	src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
	src/tgbaalgos/ce.cc, src/tgbaalgos/ce.hh: Take an option_map in
	the constructor.
	* src/tgbaalgos/gtec.cc, src/tgbaalgos/gtec.hh: Likewise.  Handle
	the "poprem", "group", and "shy" options via the option_map.
	Supply a couvreur99() wrapper to the shy/non-shy variant.
	* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc,
	iface/gspn/ssp.cc: Adjust.

1276
1277
1278
1279
1280
1281
2005-02-08  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/randtgba.cc: Factorize more code using the
	unsigned_statistics interface.
	* bench/emptchk/README: Adjust description of output.

1282
1283
1284
1285
1286
1287
2005-02-07  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/sanity/style.test: Strip all strings before checking the
	file, so that strings are not checked for our C++ style.
	Reported by Denis (with a chainsaw).

1288
1289
1290
1291
2005-02-07  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/misc/optionmap.cc, src/misc/optionmap.hh: Typo (Hummm).

1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
2005-02-07  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/misc/optionmap.cc, src/misc/optionmap.hh (option_map): New class.
	* src/misc/Makefile.am: Add it.
	* src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh: Add option
	facilities to the classes emptiness_check and emptiness_result
	* src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
	src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh: Compute optionnaly
	accepting runs from stack.
	* src/tgbatest/randtgba.cc: Make this option public.

1303
1304
1305
1306
2005-02-05  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/misc/ltstr.hh: Include <functional>

1307
1308
2005-02-04  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1309
1310
1311
1312
1313
1314
	* src/tgbatest/randtgba.cc (stat_collector): New class, replacing...
	(ec_stat, acss_stat, ars_stat, print_ec_stats, print_acss_stats,
	print_ars_stats): ... these.
	* tgbaalgos/emptiness_stats.hh (unsigned_statistics): Make the
	map public.

1315
1316
1317
	* src/tgbaalgos/emptiness_stats.hh (unsigned_statistics::stats_map_):
	Use char_ptr_less_than.

1318
1319
1320
	* src/misc/ltstr.hh: New file.
	* src/misc/Makefile.am (misc_HEADERS): Add it.

1321
1322
1323
	* src/tgbaalgos/emptiness_stats.hh (unsigned_statistics::stats_map_):
	Use char* for keys, not std::string.

1324
1325
2005-02-03  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
	* tgbaalgos/emptiness_stats.hh (unsigned_statistics): New base
	class for ec_statistics and ars_statistics.
	(acss_statistics): Inherit from ars_statistics.
	* tgbaalgos/emptiness.cc, tgbaalgos/emptiness.hh:
	(emptiness_check::statistics, emptiness_check_result::statistics):
	New methods.
	* tgbatest/randtgba.cc: Adjust to use the above.
	* tgbaalgos/gv04.cc, tgbaalgos/ndfs_result.hxx, tgbaalgos/gtec/ce.cc,
	tgbaalgos/gtec/ce.hh: Do not inherit from ars_statistics if
	acss_statistics is used.

1337
1338
	* src/tgbaalgos/gtec/gtec.hh (couvreur99_check): Add pseudo code.

1339
1340
2005-02-02  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1341
1342
1343
	* src/tgbaalgos/randomgraph.cc (random_graph): Make sure n > 0.
	* src/tgbatest/randtgba.cc: Check the range of all arguments.

1344
1345
1346
1347
1348
1349
1350
1351
	* bench/emptchk/models/eeaean1.pml: New file, from schwoon.05.tacas.
	* bench/emptchk/Makefile.am: Distribute models/eeaean1.pml
	and build models/eeaean1.tgba.
	* bench/emptchk/pml-eeaean.sh: Check models/eeaean1.pml.
	* bench/emptchk/README: Adjust.
	* bench/emptchk/defs.in (RANDTGBA, LTL2TGBA): These tools are in
	the build tree, not the source tree...

1352
1353
1354
1355
1356
1357
	These tests are huge, and are obsoleted by randtgba-based checks,
	and by bench/emptchk/.
	* src/tgbatest/tba_samples_from_spin.test: Delete.
	* src/tgbatest/tba_samples_from_spin/: Delete.
	* src/tgbatest/Makefile.am: Adjust.

1358
1359
2005-02-01  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1360
1361
1362
1363
1364
1365
1366
1367
1368
	* src/evtgbaparse/evtgbaparse.yy, src/evtgbaparse/evtgbascan.ll,
	src/evtgbaparse/fmterror.cc, src/evtgbaparse/parsedecl.hh,
	src/evtgbaparse/public.hh, src/evtgbatest/product.cc,
	src/evtgbatest/readsave.cc, src/ltlparse/fmterror.cc,
	src/ltlparse/ltlparse.yy, src/ltlparse/parsedecl.hh,
	src/ltlparse/public.hh, src/tgbaparse/parsedecl.hh,
	src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy: Update
	to Bison 2.0.

1369
1370
	* bench/emptchk/pml2tgba.pl (usage): Correct description.  From Denis.

1371
1372
	* bench/emptchk/README: Timing info from Denis.

1373
1374
1375
	* src/tgbatest/randtgba.cc (main): Skip empty lines.
	(syntax): Categorize options.

1376
1377
2005-01-31  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1378
1379
1380
1381
1382
	* src/tgbatest/explicit.test, src/tgbatest/explpro2.test,
	src/tgbatest/explprod.test, src/tgbatest/tripprod.test,
	src/evtgbatest/explicit.test: Do not reorder the output.
	It's pointless since 2005-01-20.

1383
1384
	* configure.ac, NEWS: Bump version to 0.1a.

1385
1386
	* configure.ac, NEWS: Bump version to 0.1.

1387
1388
1389
1390
1391
1392
1393
1394
2005-01-30  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* bench/emptchk/Makefile.am (dist_noinst_SCRIPTS): Add pml-clserv.sh
	and pml-eeaean.sh.
	* bench/emptchk/ltl-human.sh: Typo in densities.
	Reported by Denis.

2005-01-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>
1395

1396
1397
	* doc/mainpage.dox: More text, and a link to "Modules".

1398
1399
1400
	* src/tgbatest/ltl2tgba.cc (main): Silence the "filename.tgba read"
	message if -0 is used.

1401
1402
	* bench/emptchk/formulae.ltl: New file.

1403
1404
	* src/tgbaalgos/gtec/gtec.hh (couvreur99_check): Document poprem.

1405
1406
	* bench/emptchk/README: Make clearer that spin is needed.

1407
1408
	* src/tgbatest/randtgba.cc (syntax): Missing std::endl.

1409
2005-01-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>
1410
1411
	    Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
	* bench/Makefile.am, bench/emptchk/Makefile.am,
	bench/emptchk/README, bench/emptchk/algorithms,
	bench/emptchk/defs.in, bench/emptchk/ltl-human.sh,
	bench/emptchk/ltl-random.sh, bench/emptchk/pml-clserv.sh,
	bench/emptchk/pml-eeaean.sh, bench/emptchk/pml2tgba.pl,
	bench/emptchk/models/cl3serv1.pml,
	bench/emptchk/models/cl3serv3.pml,
	bench/emptchk/models/clserv.ltl, bench/emptchk/models/eeaean.ltl,
	bench/emptchk/models/eeaean2.pml: New files.
	* README: Adjust.
	* configure.ac: Output bench/Makefile and bench/emptchk/Makefile.
	Check for PERL, and define the NEVER conditional.
	* Makefile.am (SUBDIRS) [NEVER]: Add bench.


1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
2005-01-28  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/emptiness_stats.hh: Make sure depth() >= 0.
	* src/tgbaalgos/gtec/gtec.hh (couvreur99_check, couvreur99_check_shy):
	Add the poprem option.
	* src/tgbaalgos/gtec/gtec.cc: Implement it.
	* src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh
	(scc_stack::rem, scc_stack::clear_rem,
	scc_stack::connected_component::rem): New.
	* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Add rem variants.

1438
1439
1440
1441
1442
1443
1444
2005-01-28  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbatest/dfs.test, src/tgbatest/emptchk.test,
	src/tgbatest/emptchke.test, src/tgbatest/ltl2tgba.cc,
	src/tgbatest/randtgba.cc, src/tgbatest/tba_samples_from_spin.test:
	Adjust names of emptiness check algorithms.

1445
1446
1447
1448
1449
1450
2005-01-27  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbaalgos/gtec/gtec.cc: Adjust statistics count to match
	how the algorithm will behave once remove_component() is revamped. From
	Alexandre.

1451
1452
1453
1454
1455
2005-01-27  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_cycle):
	More ref in comment.

1456
1457
1458
1459
1460
1461
1462
2005-01-26  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/gv04.cc, src/tgbaalgos/ndfs_result.hxx,
	src/tgbaalgos/gtec/ce.cc: Do not account for states that are
	computed but not visited by the BFS&DFS used to construct
	accepting runs.

1463
1464
1465
1466
1467
1468
1469
1470
2005-01-25  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbatest/randtgba.cc: Complete performance measurements.

	* src/tgbatest/ltl2tgba.cc: Typo.

	* src/tgbaalgos/magic.hh: Correct pseudo-code.

1471
1472
2005-01-24  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1473
1474
1475
	* src/tgbaalgos/tau03opt.hh, src/tgbaalgos/se05.hh: Correct
	pseudo-code.  From Denis.

1476
1477
1478
	* src/tgbaalgos/gtec/gtec.cc: Fake statistics count to match
	how the algorithm will behave once remove_component() is revamped.

1479
1480
1481
1482
1483
1484
	* src/tgbaalgos/emptiness_stats.hh (ars_statistics): Distinguish
	states visited to compute the prefix and those for the cycle.
	* src/tgbaalgos/gv04.cc, src/tgbaalgos/ndfs_result.hxx,
	src/tgbaalgos/gtec/ce.cc: Adjust.
	* src/tgbatest/randtgba.cc: Print both statistics.

1485
1486
1487
2005-01-24  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbatest/randtgba.cc, src/tgbatest/ltl2tgba.cc: Add options
1488
	dedicated to display of stats.
1489

1490
1491
1492
1493
2005-01-24  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/randtgba.cc: Some fixes from Denis for ratio stats.

1494
1495
2005-01-20  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1496
1497
1498
	* src/ltlast/formula.hh (formula_ptr_less_than): Two
	formulae with the same hash key are not necessary equal!

1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
	* src/ltlast/formula.hh (hash, dump, dump_, hash_key_): New members.
	(formula_ptr_less_than, formula_ptr_hash): New class.
	* src/ltlast/atomic_prop.cc, src/ltlast/binop.cc,
	src/ltlast/constant.cc, src/ltlast/formula.cc,
	src/ltlast/multop.cc, src/ltlast/unop.cc: Adjust to handle dump_.
	* src/ltlvisit/apcollect.cc, src/ltlvisit/apcollect.hh:
	Sort the set using formula_ptr_less_than.
	* src/ltlvisit/dump.cc: Simplify using ->dump().
	* src/tgbaalgos/ltl2tgba_fm.cc: Sort all maps to get deterministic
	results.

1510
1511
2005-01-18  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1512
1513
	* src/tgbaalgos/tau03opt.hh (explicit_tau03_opt_search): Doco.

1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
	* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::clear_todo,
	couvreur99_check_shy::check): Sum all successors in the
	todo stack AND all items on the stack.

2005-01-17  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/emptiness_stats.hh (ec_statistics::depth): New function.
	* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::clear_todo,
	couvreur99_check_shy::check): Count all successors in the
	todo stack rather than all items on the stack.

1525
1526
1527
1528
2005-01-13  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbatest/randtgba.cc: Close the formula file and remove a trace.

1529
1530
1531
1532
1533
1534
2005-01-13  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbatest/randtgba.cc: Add products with formulae issued of a file
	and more statistics.
	* src/tgbatest/readsave.test: Undo previous change.

1535
1536
1537
1538
2005-01-13  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbatest/readsave.test: Fix parameter of randtgba call.

1539
1540
1541
2005-01-12  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbatest/randtgba.cc: Add products with randomized formulae and
1542
	more statistics.
1543

1544
1545
1546
1547
1548
2005-01-11  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/gv04.cc (result): Implement the acss_statistics,
	and ars_statistics interfaces.

1549
1550
1551
1552
2005-01-11  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/ltltest/randltl.cc: Typo.

1553
1554
1555
1556
1557
1558
2005-01-11  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbaparse/tgbaparse.yy: Accept automaton without state.

	* src/ltltest/randltl.cc: Typo.

1559
1560
1561
1562
2005-01-10  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbatest/randtgba.cc: Typo.

1563
1564
2005-01-10  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1565
1566
	* src/tgbatest/ltl2tgba.cc: Typo.

1567
1568
	* src/tgbatest/randtgba.cc: Add option -P.

1569
1570
1571
1572
1573
2005-01-10  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbaalgos/tau03.cc: Typo.
	* src/tgbatest/ltl2tgba.cc: Add option -b.

1574
1575
1576
1577
1578
1579
1580
2005-01-07  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/ndfs_result.hxx (ndfs_result, acss_interface):
	Conditionally inherit from acss_statistics.
	* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/tau03.cc,
	src/tgbaalgos/tau03opt.cc: Define Has_Size in all heaps.

1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
2005-01-06  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/ltltest/randltl.cc: Include cassert.

	* src/tgbaalgos/ndfs_result.hxx: Implement the spot::acss_statistics
	interface.
	* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/tau03.cc,
	src/tgbaalgos/tau03opt.cc: Add to each heap class a method returning its
	size.

1591
1592
1593
1594
1595
2005-01-06  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/ltltest/randltl.cc: Add options -r and -u.
	* src/ltltest/reduc.test: Use randltl -u, and run it through valgrind.

1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
2005-01-05  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/ltlvisit/randomltl.cc, src/ltlvisit/randomltl.hh: New files.
	* src/ltlvisit/Makefile.am (ltlvisit_HEADERS,
	libltlvisit_la_SOURCES): Distribute them.
	* src/ltltest/randltl.cc: New file.
	* src/ltltest/Makefile.am (LDADD): Link with ../libspot.la directly.
	(noinst_PROGRAMS, randltl_SOURCES): New.
	(EXTRA_DIST, CLEANFILES): The list of random formulae is now generated.
	* src/ltltest/formulae.txt: Delete.
	* src/ltltest/reduc.test: Use randltl to generate formulae.
	* src/ltlvisit/length.cc (length_visitor): Fix computation
	of the length of multops.
	* src/ltlvisit/length.hh (length): Document the length of multops.

1611
1612
1613
1614
1615
2005-01-04  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/sanity/includes.test: Also check *.hxx files.
	* src/tgbaalgos/ndfs_result.hxx: Rename the include guard.

1616
1617
2005-01-03  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
	* doc/Doxyfile.in (FILE_PATTERNS): Remove *.hxx.
	* src/sanity/80columns.test, src/sanity/style.test: Process *.hxx files.
	* src/tgbaalgos/ndfs_result.hh: Rename as ..
	* src/tgbaalgos/ndfs_result.hxx: ... this, so it does not get
	documented (and so Doxygen do not complain).
	* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/tau03.cc,
	src/tgbaalgos/tau03opt.cc: Adjust include.
	* src/tgbaalgos/Makefile.am: Rename ndfs_result.hh as ndfs_result.hxx
	and do not install it, this is a private header.

1628
1629
1630
1631
	* src/tgbaalgos/emptiness.hh: Declare Doxygen group
	emptiness_check_stats.
	* src/tgbaalgos/emptiness_stats.hh: Use it.

1632
1633
1634
1635
1636
	* doc/Doxyfile.in: Update for Doxygen 1.4.0, set
	DOT_MULTI_TARGETS, and disable GROUP_GRAPH (it causes segfault).
	* src/tgbaparse/public.hh (format_tgba_parse_errors): Complete
	Doxygen comment.

1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
	* src/tgbaalgos/emptiness_stats.hh (ars_statistics): New class.
	* src/tgbaalgos/ndfs_result.hh (ndfs_result): Inherit from
	ars_statistics.
	(ndfs_result::dfs): Call inc_ars_states().
	(ndfs_result::test_path, ndfs_result::min_path): Update ars_statistics.
	* tgbaalgos/gtec/ce.hh (couvreur99_check_result): Inherit
	from ars_statistics.
	* tgbaalgos/gtec/ce.cc (shortest_path,
	couvreur99_check_result::accepting_cycle::scc_bfs):
	Update ars_statistics.
	* src/tgbatest/randtgba.cc: Display statistics about accepting run
	search.

1650
1651
	* src/tgbaalgos/bfssteps.hh (bfs_steps::finalize): Document.

1652
1653
1654
1655
1656
1657
1658
	* src/tgbaalgos/emptiness_stats.hh (accs_statistics): New class.
	* src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh
	(couvreur99_check_result): Inherit from acss_statistics.
	(couvreur99_check_result::acss_states): Implement it.
	* src/tgbatest/randtgba.cc: Display statistics about accepting cycle
	search space.

1659
1660
1661
	* src/tgbaalgos/ndfs_result.hh (construct_prefix): Do not call
	erase() after splice(), splice() already removes the elements.

1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
	* src/evtgba/evtgbaiter.hh, src/ltlast/formula.hh,
	src/ltlast/refformula.hh, src/ltlenv/defaultenv.hh,
	src/misc/bareword.hh, src/tgba/succiter.hh,
	src/tgba/tgbabddfactory.hh, src/tgba/tgbareduc.hh,
	src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptiness_stats.hh,
	src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh,
	src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/tau03opt.hh: Add
	or fix include guards.
	* src/sanity/includes.test: Check the presence of the include
	guard.

1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
2004-12-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gtec/nsheap.cc
	(index_and_insert): New function.
	* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::check): Rewrite.
	(couvreur99_check_shy::clear_todo): New method.
	* src/tgbaalgos/gtec/gtec.hh (couvreur99_check_shy::todo_item): New
	struct.
	* iface/gspn/ssp.cc (numbered_state_heap_ssp_semi::index_and_insert):
	New method.

1684
1685
1686
1687
1688
2004-12-20  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* doc/Doxyfile.in (EXCLUDE_SYMLINKS): Set to YES, since we have no
	legitimate symlink in our source tree.  Requested by Akim Demaille.

1689
1690
1691
1692
1693
1694
1695
2004-12-20  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbaalgos/ndfs_result.hh: Rewrite the computation of accepting
	runs.
	* src/tgbaalgos/bfssteps.hh, src/tgbaalgos/bfssteps.cc: Add the method
	finalize witch compute (by default) the traversed path.
	* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc: Fix a bug concerning
1696
	the heap used for bit state hashing version and adjust the prototype of
1697
	has_been_visited and pop_notify.
1698
1699
	* src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc: adjust the
	prototype of has_been_visited and pop_notify.
1700

1701
1702
1703
1704
2004-12-17  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/ndfs_result.hh: Include misc/hash.hh.

1705
1706
2004-12-16  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1707
	* src/tgbaalgos/reducerun.cc (reduce_run): Do not call erase() after
1708
	splice(), splice() already removes the elements.
1709
1710
1711
	* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run):
	Likewise.

1712
1713
1714
	* src/tgbatest/randtgba.cc: Add option -O, so we can profile each
	emptiness-check on its own.

1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
	* src/ltlparse/ltlscan.ll: Pass yyleng to the std::string constructor,
	so it doesn't have to compute it.
	* src/tgbaparse/tgbascan.ll: Likewise.
	(YY_USER_INIT, current_file): Remove, it is too costly to use
	yy::Location::filename in the current implementation
	of yy::Location (this attribute is duplicated for each token).
	Leaving it empty divides the parsing time by 3.
	* src/tgbaparse/fmterror.cc, src/tgbaparse/public.hh
	(format_tgba_parse_errors): Take the filename as argument.
	* src/tgbatest/explprod.cc, src/tgbatest/ltl2tgba.cc,
	src/tgbatest/mixprod.cc, src/tgbatest/powerset.cc,
	src/tgbatest/readsave.cc, src/tgbatest/reductgba.cc,
	src/tgbatest/tgbaread.cc, src/tgbatest/tripprod.cc,
	iface/gspn/dottyssp.cc, iface/gspn/ltlgspn.cc: Adjust calls
	to format_tgba_parse_errors.

1731
1732
2004-12-15  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1733
1734
1735
	* src/tgbaparse/tgbaparse.yy: Cache parsed formulae to speedup
	reading of TGBAs with lots of identical conditions.

1736
1737
1738
1739
1740
1741
1742
1743
	* src/tgba/bdddict.hh (bdd_dict) <fv_map, vf_map, ref_set,
	vr_map, free_annonymous_list_of_type>: Redeclare as std::map,
	instead of Sgi::hash_map.  It proved to be faster.
	* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict) <fv_map, vf_map>:
	Use the same definition as in bdd_dict.
	* tgbaalgos/reachiter.hh, tgbaalgos/replayrun.cc: Explicitly
	include misc/hash.hh.

1744
1745
1746
1747
1748
1749
1750
1751
	Adjust Swig rules for Swig 1.3.24 (and probably 1.3.23 too).
	Compiling the runtime in a separate modules is no longer required,
	and actually it does not work anymore...
	* wrap/python/swigpy.i: Remove.
	* wrap/python/Makefile.am (_swigpy.la): Remove all references.
	($(srcdir)/spot_wrap.cxx, $(srcdir)/buddy_wrap.cxx): Do not
	use -noruntime.

1752
1753
1754
1755
2004-12-14  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/ltl2tgba.cc: Add option -P.

1756
1757
1758
1759
2004-12-14  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbaalgos/ndfs_result.hh: Define the trace output stream.

1760
1761
1762
1763
1764
1765
1766
1767
1768
2004-12-13  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbaalgos/ndfs_result.hh: New file factorizing the computation of
	accepting runs for ndfs emptiness check algoritms.
	* src/tgbaalgos/Makefile.am: Add it.
	* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc,
	src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc: Remove the old
	result classes and use the new one.

1769
1770
2004-12-10  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
	* src/tgbaalgos/gtec/status.hh
	(couvreur99_check_status::cycle_seed): New attribute.
	* src/tgbaalgos/gtec/gtec.cc (couvreur99_check::check,
	couvreur99_check_shy::check): Fill cycle_seed.
	* src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/ce.cc:
	(couvreur99_check_result::accepting_run,
	couvreur99_check_result::accepting_cycle): Revamp to compute a
	cycle from the cycle_start, and then the shortest prefix to this
	cycle.

	* iface/gspn/ltlgspn.cc, iface/gspn/ssp.hh, iface/gspn/ssp.cc: Disable
	the functions that were using the interface I have just broken.

1784
1785
1786
1787
1788
1789
	* src/tgbaalgos/gtec/nsheap.hh (numbered_state_heap::find): Clarify
	comment.

	* src/tgba/tgbareduc.hh: Include tgbaalgos/gtec/nsheap.hh,
	not tgbaalgos/gtec/status.hh.

1790
1791
1792
1793
2004-12-10  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/misc/timer.cc, src/tgbatest/randtgba.cc: Format the statistics.

1794
1795
2004-12-10  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1796
1797
1798
	* src/tgbatest/emptchkr.test: Tune the "big degeneralized" test
	so it actually explore some accepting automata.

1799
1800
1801
1802
1803
1804
1805
1806
1807
	* src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/gtec.cc
	(couvreur99_check_shy::couvreur99_check_shy): Add the group option,
	and redefine todo as a list so it can be iterated over.
	* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Introduce
	couvreur99_shy- (for group=false) in addition to couvreur99_shy
	(for group=true).
	* iface/gspn/ssp.cc (couvreur99_check_ssp_shy_semi,
	couvreur99_check_ssp_shy): Use group=true;

1808
1809
1810
1811
	* src/tgbaalgos/randomgraph.cc (random_graph): Do not use the
	pointer of the state created as keys in sets; otherwise the graph
	created depends on the memory layout.

1812
1813
1814
1815
1816
2004-12-09  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgba/tgbaexplicit.cc (tgba_explicit::create_transition):
	Make sure to create the source state before the destination state.

1817
1818
1819
1820
1821
2004-12-08  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbaalgos/emptiness.cc: Suppress a horrible space before a ')'.

2004-12-08  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>
1822
1823
1824
1825

	* src/tgba/tgbaexplicit.hh, src/tgba/tgbaexplicit.cc
	(set_init_state): Return a pointer to the initial state.

1826
	* src/tgbaalgos/emptiness.hh, src/tgbaalgos/emptiness.cc
1827
	(tgba_run_to_tgba): New function.
1828
	* src/tgbatest/ltl2tgba.cc: Add option -G.
1829

1830
1831
2004-12-08  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1832
1833
	* src/tgbaalgos/replayrun.cc (replay_tgba_run): More comments.

1834
1835
1836
1837
1838
1839
	* src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh
	(tgba_explicit::create_transition(state*, const state*)): New function.
	* src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh:
	(random_graph): Revamp the algorithm to call rand() less often.
	* src/tgbatest/randtgba.cc: Add option -0 to easy profiling.

1840
1841
	* src/misc/random.hh: Add include guard.

1842
1843
2004-12-07  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1844
1845
1846
1847
1848
	* src/misc/random.hh (nrand, bmrand, prand): New functions.
	(barand): New class.
	* src/misc/random.cc (nrand, bmrand, prand): New functions.
	* wrap/python/spot.i: Process src/misc/random.hh.

1849
1850
1851
	* src/misc/timer.cc: Do not include cassert, then.

2004-12-07  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>
1852
1853
1854
1855
1856
1857

	* src/tgbaalgos/tau03opt.cc: Fix a memory leak in the computation of
	accepting runs

	* src/misc/timer.hh: Include cassert.

1858
1859
1860
1861
2004-12-01  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/misc/timer.cc: Include cassert.

1862
1863
1864
1865
1866
1867
1868
1869
2004-11-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/misc/timer.hh, src/misc/timer.cc: New files.
	* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them.
	* src/tgbatest/randtgba.cc: Use time_map to measure the algorithms.
	Add the -R option.
	* src/sanity/style.sh: Let me use `for (.*;;)'.

1870
1871
1872
1873
1874
2004-11-29  Denis Poitrenaud  <Denis.Poitrenaud@lip6.fr>

	* src/tgbaalgos/tau03opt.cc: Add a first version of the computation of
	accepting runs

1875
1876
2004-11-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1877
1878
1879
1880
1881
1882
1883
	* src/tgbaalgos/minimizerun.cc, src/tgbaalgos/minimizerun.hh
	(minimize_run): Rename as ...
	* src/tgbaalgos/reducerun.cc, src/tgbaalgos/reducerun.hh:
	(reduce_run): ... this.
	* src/tgbaalgos/Makefile.am, src/tgbatest/ltl2tgba.cc,
	src/tgbatest/randtgba.cc: Adjust all references.

1884
1885
1886
1887
	* src/tgbatest/emptchkr.test: Try degeneralized automata.
	* src/tgbatest/randtgba.cc (main): Pass the correct automaton to