ChangeLog 153 KB
Newer Older
1
2
3
4
2004-10-08  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* doc/Doxyfile.in: Upgrade to Doxygen 1.3.9.

5
6
7
8
9
2004-09-27  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/sanity/style.test: Suggest using "x->y", not "(*x).y".
	* src/tgbaalgos/tarjan_on_fly.cc: Fix.

10
11
2004-09-23  Alexandre Duret-Lutz  <adl@src.lip6.fr>

12
13
14
15
16
17
	* src/sanity/style.test: Suggest ++i over i++ when it does not
	matter, for consistency.
	* src/tgbaalgos/tarjan_on_fly.cc, iface/gspn/ssp.cc,
	src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/reductgba_sim.cc,
	src/tgbaalgos/minimalce.cc, src/tgba/tgbareduc.cc: Adjust.

18
19
20
21
	* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): New unobs argument.
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Handle unobs.
	* src/tgbatest/ltl2tgba.cc (syntax, main): New -U option.

22
23
2004-09-21  Alexandre Duret-Lutz  <adl@src.lip6.fr>

24
25
26
27
28
	* src/tgbaalgos/colordfs.hh, src/tgbaalgos/minimalce.cc,
	src/tgbaalgos/minimalce.hh, src/tgbaalgos/nesteddfs.hh,
	src/tgbaalgos/tarjan_on_fly.hh, src/tgbatest/ltl2tgba.cc: Rename
	emptyness_search to emptiness_search.

29
30
31
32
33
34
35
36
37
38
	* src/sanity/style.test: Warn about places where size() is used
	instead of empty().
	* src/misc/bddalloc.cc (bdd_allocator::extend): Use empty() rather
	than size() when checking emptiness of lists.
	* src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/minimalce.cc,
	src/ltlvisit/basicreduce.cc, src/ltlvisit/reduce.cc,
	src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/ltl2tgba_fm.cc,
	src/misc/minato.cc: Likewise.
	* src/ltlast/multop.cc (multop::instance): Call ->size() only once.

39
40
2004-09-20  Alexandre Duret-Lutz  <adl@src.lip6.fr>

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
41
42
43
44
45
46
	Update to SWIG 1.3.22.
	* wrap/python/libpy.c: Delete.
	* wrap/python/swigpy.i: New file.
	* wrap/python/Makefile.am (swigpy_wrap.c): Build this from swigpy.i
	and use it instead of libpy.c.

47
48
	* INSTALL, lbtt/INSTALL: New upstream version.

49
50
2004-09-14  Thomas Martinez  <martinez@src.lip6.fr>

martinez's avatar
martinez committed
51
52
53
54
55
56
57
58
	* src/tgbatest/emptchk.test
	src/tgbaalgos/tarjan_on_fly.hh,
	src/tgbaalgos/tarjan_on_fly.cc,
	src/tgbaalgos/nesteddfs.hh,
	src/tgbaalgos/nesteddfs.cc,
	src/tgbaalgos/minimalce.hh,
	src/tgbaalgos/minimalce.cc: To correct a bug.

59
60
	* src/ltltest/reduc.test (FICH): bad file name.

martinez's avatar
martinez committed
61
62
2004-09-13  Thomas Martinez  <martinez@src.lip6.fr>

63
64
65
	* src/tgbaalgos/nesteddfsgen.hh src/tgbaalgos/nesteddfsgen.cc:
	New algorithm for emptiness check.

martinez's avatar
martinez committed
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
	* src/tgbatest/spotlbtt.test,
	src/tgbatest/reductgba.cc,
	src/tgbatest/ltl2tgba.cc:
	Add option for reduction of TGBA.

	* src/tgbatest/emptchk.test, src/tgbaalgos/Makefile.am,
	src/tgbaalgos/tarjan_on_fly.hh, src/tgbaalgos/tarjan_on_fly.cc,
	src/tgbaalgos/nesteddfs.hh, src/tgbaalgos/nesteddfs.cc,
	src/tgbaalgos/minimalce.hh, src/tgbaalgos/minimalce.cc,
	src/tgbaalgos/colordfs.hh, src/tgbaalgos/colordfs.cc:
	Remove some bugs.

	src/tgbaalgos/gtec/ce.cc:
	Modification of construction of counter example.

	* src/tgbaalgos/reductgba_sim.hh src/tgbaalgos/reductgba_sim.cc,
	src/tgbaalgos/reductgba_sim_del.cc,
	src/tgba/tgbareduc.hh, src/tgba/tgbareduc.cc:
	Modification for delayed simulation.


martinez's avatar
martinez committed
87
88
89
90
91
92
93
94
95
96
97
2004-08-23  Thomas Martinez  <martinez@src.lip6.fr>

	* src/tgbaalgos/tarjan_on_fly.hh,
	src/tgbaalgos/tarjan_on_fly.cc,
	src/tgbaalgos/nesteddfs.hh,
	src/tgbaalgos/nesteddfs.cc,
	src/tgbaalgos/minimalce.hh,
	src/tgbaalgos/minimalce.cc,
	src/tgbaalgos/colordfs.hh,
	src/tgbaalgos/colordfs.cc: four new algorithms for emptyness check.

martinez's avatar
martinez committed
98
	* src/tgbaalgos/gtec/ce.hh,
martinez's avatar
martinez committed
99
100
101
	src/tgbaalgos/gtec/ce.cc: Adapt the counter exemple for the ce
	object in minimalce.hh.

martinez's avatar
martinez committed
102
	* src/tgbatest/ltl2tgba.cc,
martinez's avatar
martinez committed
103
104
105
106
107
108
109
110
111
	src/tgbatest/emptchk.test,
	src/tgbaalgos/Makefile.am: Add files for emptyness-check.

2004-08-23  Thomas Martinez  <martinez@src.lip6.fr>

	* src/tgbaalgos/reductgba_sim_del.cc: Restrict to degeneralize automata.
	* src/tgba/tgbareduc.hh: src/tgba/tgbareduc.cc: Merge transition
	for scc reduce.

112
113
2004-08-13  Alexandre Duret-Lutz  <adl@src.lip6.fr>

114
115
	* configure.ac, NEWS: Bump version to 0.0y.

116
117
	* configure.ac, NEWS: Bump version to 0.0x.

118
119
2004-08-12  Alexandre Duret-Lutz  <adl@src.lip6.fr>

120
121
122
	* doc/Doxyfile.in (GENERATE_TAGFILE): Build spot.tag.
	* doc/Makefile.am (dist_pkgdata_DATA): Add spot.tag.

123
124
	* src/tgbatest/ltl2tgba.cc (syntax): Typo.

125
126
127
	* doc/Doxyfile.in (STRIP_FROM_PATH): Strip @srcdir@ so its
	does not appear when listing mainpage.dox.

128
129
130
131
132
2004-08-11  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh:
	Typos in Doxygen comments.

133
134
2004-08-10  Alexandre Duret-Lutz  <adl@src.lip6.fr>

135
136
137
138
	* src/ltlvisit/apcollect.hh: Fix include guard.  Report from Denis.
	* src/sanity/includes.test: Include files twice to check include
	guards.

139
140
141
	* src/tgbatest/ltl2tgba.cc (main): Fix another gcc warning in case
	assert() is disabled.

142
143
144
	* src/Makefile.am (nodist_EXTRA_libspot_la_SOURCES): New variable,
	to force C++ linking.

145
146
147
	* iface/gspn/ltlgspn.cc: Fix a gcc warning in case assert() is
	disabled.

148
149
2004-08-09  Alexandre Duret-Lutz  <adl@src.lip6.fr>

150
151
152
153
154
	* src/ltlvisit/apcollect.cc, src/ltlvisit/apcollect.hh: New files,
	based on code from <Denis.Poitrenaud@lip6.fr>.
	* src/ltlvisit/Makefile.am (libltlvisit_la_SOURCES, ltlvisit_HEADERS):
	Add them.

155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
	* iface/gspn/common.cc, iface/gspn/common.hh,
	src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
	src/ltlparse/fmterror.cc, src/ltlparse/public.hh,
	src/ltlvisit/dotty.cc, src/ltlvisit/dotty.hh,
	src/ltlvisit/dump.cc, src/ltlvisit/dump.hh,
	src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh,
	src/misc/escape.cc, src/misc/escape.hh, src/tgba/bdddict.cc,
	src/tgba/bdddict.hh, src/tgba/bddprint.cc, src/tgba/bddprint.hh,
	src/tgbaalgos/dotty.cc, src/tgbaalgos/dotty.hh,
	src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh,
	src/tgbaalgos/neverclaim.cc, src/tgbaalgos/neverclaim.hh,
	src/tgbaalgos/save.cc, src/tgbaalgos/save.hh,
	src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh,
	src/tgbaparse/fmterror.cc, src/tgbaparse/public.hh: Include <iosfwd>
	in headers, and prefer <ostream> in the body whenever possible.
	* src/sanity/style.test, HACKING: Check and document this.

172
173
174
175
176
177
178
	* src/ltlast/allnodes.hh, src/ltlast/atomic_prop.hh,
	src/ltlast/binop.hh, src/ltlast/constant.hh,
	src/ltlast/formula.hh, src/ltlast/multop.hh,
	src/ltlast/predecl.hh, src/ltlast/refformula.hh,
	src/ltlast/unop.hh, src/ltlast/visitor.hh: Use \file to introduce
	each file.

179
180
181
	* doc/Doxyfile.in (STRIP_FROM_INC_PATH): Define, so that the
	`#include' references are correct.

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
182
183
	* README: Update.

184
185
	* m4/gccoptim.m4: Compute optimization flags for CXX too.

186
187
	* m4/ndebug.m4: Update CPPFLAGS, not CFLAGS.

188
189
190
191
	* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Document all
	parameters.
	* src/tgbaalgos/ltl2tgba_lacim.hh (ltl_to_tgba_lacim): Likewise.

192
193
194
195
196
197
2004-08-07  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* configure.ac: Call AC_PROG_CC and AM_PROG_CC_C_O.
	* wrap/python/Makefile.am (_buddy_la_LDFLAGS): Move libspotswigpy.la ...
	(_buddy_la_LIBADD): ... here.

198
199
200
201
2004-08-02  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* lbtt/: Merge lbtt 1.1.2.

202
203
204
205
2004-07-30  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* lbtt/: Merge lbtt 1.1.1.

206
207
208
209
2004-07-26  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* doc/Doxyfile.in: Update for Doxygen 1.3.8.

210
211
212
213
214
2004-07-23  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* configure.ac: Call AC_LIBTOOL_WIN32_DLL
	* src/Makefile.am (libspot_la_LDFLAGS): Add -no-undefined.

215
216
2004-07-22  Alexandre Duret-Lutz  <adl@src.lip6.fr>

217
218
219
	* src/tgbatest/explicit.test: Do not use `-i', it's not needed
	and it is wrong to put it after `-e'.  Caught by Denis too.

220
221
222
	* src/ltltest/reduc.test: Use `test a = b' not `test a == b'.
	Reported by <Denis.Poitrenaud@lip6.fr> (failure on Cygwin).

223
224
225
226
227
228
2004-07-20  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/defs.in (VALGRIND): Specify --tool=memcheck for
	compatibility with valgrind 2.1.x.
	* src/ltltest/defs.in (VALGRIND): Likewise.

229
230
2004-07-16  Alexandre Duret-Lutz  <adl@src.lip6.fr>

231
232
233
	* m4/gccwarn.m4: Do not check nor use -Wstrict-prototypes.
	g++-3.4 complains it makes no sense in C++.

234
235
	* iface/gspn/ssp.cc: Typos.

236
237
238
239
	* iface/gspn/gspn.cc (tgba_succ_iterator_gspn::tgba_succ_iterator_gspn):
	Set size_ to 1 when stuttering is needed, so that done() does not
	return true immediately.

240
241
242
243
2004-07-12  Alexandre Duret-Lutz  <adl@src.lip6.fr>

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

244
245
2004-07-09  Alexandre Duret-Lutz  <adl@src.lip6.fr>

246
247
248
	* src/tgba/state.hh (state_ptr_equal, state_ptr_hash): Fix Doxygen
	example.

249
250
251
252
	* src/tgbaalgos/reductgba_sim.hh (parity_game_graph_delayed,
	reduc_tgba_sim): Fix warnings about Doxygen comment.
	* src/ltlvisit/reduce.hh (reduce): Likewise.

253
254
255
256
	* doc/footer.html: New file, link to RefDocComments on the wiki.
	* doc/Doxyfile.in (HTML_FOOTER): Use footer.html.
	* doc/Makefile.am (EXTRA_DIST): Add footer.html.

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
257
258
	* THANKS: Fill in.

259
260
	* src/tgbatest/ltl2baw.pl: Do not use -T anymore.  Fix comments.

261
262
2004-07-08  Alexandre Duret-Lutz  <adl@src.lip6.fr>

263
264
265
266
267
268
269
270
271
272
273
274
	lbtt 1.1.0 supports TGBAs, use that and remove old workarounds.
	* src/tgbaalgos/lbtt.cc (state_acc_pair, state_acc_pair_equal,
	state_acc_pair_hash, acp_seen_map, todo_set, seen_map, fill_todo
	lbtt_reachable): Remove.
	(nonacceptant_lbtt_bfs): Rename as ...
	(lbtt_bfs): ... this, and adjust to output acceptance conditions
	on transitions.
	(nonacceptant_lbtt_reachable): Rename as ...
	(lbtt_reachable): ... this.
	* src/tgbaalgos/lbtt.hh (nonacceptant_lbtt_reachable): Delete.
	* src/tgbatest/ltl2tgba.cc: Suppress option "-T".

275
276
277
278
279
	Patch from Heikki Tauriainen <heikki.tauriainen@hut.fi>.
	* src/tgbaalgos/gtec/ce.cc (counter_example::counter_example): Do
	not parenthesize the type after the new operator (g++ 3.4 complains).
	* src/tgbaalgos/dupexp.cc (dupexp_iter::process_state,
	dupexp_iter::declare_state): Use this->automata_instead of
Alexandre Duret-Lutz's avatar
typos    
Alexandre Duret-Lutz committed
280
281
	automata_.  Local protected member automata_ inherited from
	template base class must be prefixed or g++ 3.4 will not look it
282
283
	up (conforming to 14.6.2.3).

284
285
2004-07-07  Alexandre Duret-Lutz  <adl@src.lip6.fr>

286
287
288
289
	* lbtt/: Merge lbtt 1.1.0.
	* src/tgbatest/spotlbtt.test: Adjust config file syntax to
	please lbtt 1.1.0.

290
291
292
293
294
	* src/tgbaalgos/gtec/gtec.hh (emptiness_check_shy::find_state): Add
	comments.
	* iface/gspn/ssp.cc (emptiness_check_shy_ssp::find_state): Likewise.
	Soheib and I had a hard time figuring why we did this...

295
296
297
298
299
300
301
302
303
2004-07-02  Thomas Martinez  <martinez@src.lip6.fr>

	* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh,
	src/tgbaalgos/reductgba_sim.cc,	src/tgbaalgos/reductgba_sim.hh,
	src/tgbaalgos/reductgba_sim_del.cc: Remove some comments.

	* src/tgbatest/ltl2tgba.cc, src/tgbatest/reductgba.cc: Adjust ...
	* src/tgbatest/spotlbtt.test: More test (delayed simulation)

304
305
2004-06-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>

306
307
	* configure.ac, NEWS: Bump version to 0.0w.

308
309
	* configure.ac, NEWS: Bump version to 0.0v.

martinez's avatar
martinez committed
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
2004-06-28  Thomas Martinez  <martinez@src.lip6.fr>

	* src/tgbatest/reduccmp.test: Bug.

	* src/tgbatest/reductgba.test: More Test.

	* src/tgbatest/ltl2tgba.cc: Adjust ...
	* src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/reductgba_sim.hh,
	src/tgbaalgos/reductgba_sim.cc: try to optimize.

	* src/tgba/tgbareduc.hh, src/tgba/tgbareduc.cc: Scc reduction
	and we remove some acceptance condition in scc which are not accepting.
	* src/ltlvisit/syntimpl.cc : Some case wasn't detect.
	* src/ltlvisit/basicreduce.cc: Case FGa || FGb = F(Ga | Gb) added.
	* src/ltltest/syntimpl.test: More Test.
	* src/ltltest/syntimpl.cc: Put the formula in negative normal form.

327
328
329
330
2004-06-28  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* buddy/: Merge buddy-2-3.

331
332
333
334
335
2004-06-25  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/ltl2tgba.cc (main): Degeneralize before
	the simulations.

336
337
338
339
340
341
342
343
2004-06-23  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/ltlvisit/tostring.cc (is_bare_word): New function.
	(to_string_visitor::visitor(const atomic_prop*)): Use is_bare_word
	to better check which atomic proposition need to be quoted.
	* src/ltlparse/ltlscan.ll: Do not allow identifiers starting with F_
	or G_.
	* src/ltltest/equals.test, src/ltltest/tostring.test: More tests.
344

345
346
347
348
	* src/tgba/tgbatba.cc (tgba_tba_proxy::format_state): Use
	bdd_format_accset to print the acceptance condition part of the state.
	That produces more readable output.

349
	* wrap/python/cgi/ltl2tgba.in: Add "Formula Simplications" options.
350
	* wrap/python/spot.i: Wrap src/ltlvisit/reduce.hh.
351

352
353
354
355
356
357
358
359
360
	* src/ltlvisit/simpfg.cc, src/ltlvisit/simpfg.hh: New files,
	extracted from ...
	* src/ltlvisit/lunabbrev.cc: ... this one, which now work as documented
	again.
	* src/ltlvisit/reduce.cc, src/ltlvisit/syntimpl.cc: Adjust to call
	simplify_f_g() in addition to unabbreviate_logic().
	* src/ltlvisit/Makefile.am (ltlvisit_HEADERS, libltlvisit_la_SOURCES):
	Add simpfg.cc and simpfg.hh.

361
362
363
364
365
366
	* src/ltlvisit/reducform.hh, src/ltlvisit/reducform.cc: Rename to ...
	* src/ltlvisit/reduce.hh, src/ltlvisit/reduce.cc: ... this, to match
	the function name.
	* ltltest/equals.cc, ltltest/reduc.cc, ltlvisit/Makefile.am,
	tgbatest/ltl2tgba.cc, tgbatest/reductgba.cc: Adjust filenames.

367
368
369
	* src/ltlvisit/basicreduce.cc (basic_reduce_visitor::visit(binop*)):
	Factorize.

370
371
372
373
374
375
376
377
	* src/ltlvisit/basicreduce.hh: New file, extracted from ...
	* src/ltlvisit/reducform.hh: ... here.
	* src/ltlvisit/basereduc.cc: Rename as ...
	* src/ltlvisit/basicreduce.cc: ... this, to match the function name.
	* src/ltlvisit/Makefile.am (ltlvisit_HEADERS, libltlvisit_la_SOURCES):
	Adjust filenames.
	* src/ltlvisit/reducform.cc: Adjust includes.

378
379
380
	* src/ltlvisit/lunabbrev.hh: Revert superfluous change from
	2004-05-10.

381
382
383
384
385
386
387
2004-06-22  Thomas Martinez  <martinez@src.lip6.fr>

	* src/ltlvisit/reducform.cc, src/tgba/tgbareduc.cc,
	src/tgbaalgos/reductgba_sim.cc, src/tgbaalgos/reductgba_sim.hh
	src/tgbaalgos/reductgba_sim_del.cc, src/tgbatest/reduccmp.test,
	src/tgbatest/reductgba.cc: 80 columns and style.

388
389
390
391
2004-06-22  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/sanity/style.test: Typo.

392
393
394
395
396
397
398
399
400
2004-06-22  Thomas Martinez  <martinez@src.lip6.fr>

	* src/tgbatest/ltl2tgba.cc, src/tgbaalgos/reductgba_sim_del.cc,
	src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/reductgba_sim.cc:
	bug in delayed simulation.

	* src/tgbatest/reduccmp.test, src/tgbatest/reductgba.test,
	src/tgba/tgbareduc.cc: bug in scc reduction.

401
402
403
404
405
406
2004-06-21  Thomas Martinez  <martinez@src.lip6.fr>

	* src/tgbatest/reductgba.test, src/tgba/tgbareduc.cc:
	There is bug in reduction with scc.
	* src/tgbatest/reduccmp.test: More test.

407
408
2004-06-17  Thomas Martinez  <martinez@src.lip6.fr>

409
	* src/tgbatest/reductgba.test: Wrong test are removed.
410

411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
2004-06-17  Thomas Martinez  <martinez@src.lip6.fr>

	* src/tgbatest/spotlbtt.test: We don't check the post-reduction
	with scc and delayed simulation.

	* src/tgbatest/ltl2tgba.cc: Adjust parameters.
	* src/tgbatest/reductgba.cc, src/tgbatest/Makefile.am: More Test.
	* src/tgbaalgos/reductgba_sim_del.cc: Not finish, lot of bugs.
	* src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/reductgba_sim.cc:
	Remove some useless comments.
	* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh: Bug in SCC.

	* src/ltlvisit/reducform.cc: Correct some bug for multop.
	* src/ltltest/reduc.cc: Thinko
	* src/ltltest/equals.cc: Reduction compare

427
428
429
430
431
2004-06-17  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* iface/gspn/ssp.cc (emptiness_check_shy_ssp::find_state): Free s.
	This fixes a memory leak observed by Soheib Baarir.

432
433
434
435
436
2004-06-16  Thomas Martinez  <martinez@src.lip6.fr>

	* src/tgbatest/reductgba.cc, src/tgbatest/reductgba.test: Test for
	reduction of tgba.

437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
2004-06-15  Thomas Martinez  <martinez@src.lip6.fr>

	* src/tgbatest/ltl2tgba.cc: Add some option for the reduction of
	automata.
	* src/tgbatest/spotlbtt.test, src/tgbatest/Makefile.am: Add some
	test for reduction of automata.
	* src/tgbaalgos/reductgba_sim_del.cc, src/tgbaalgos/reductgba_sim.cc,
	src/tgbaalgos/reductgba_sim.hh: Compute some simulation relation
	to reduce a tgba.
	* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh: A implementation
	of tgba for the reduction.
	* src/tgbaalgos/Makefile.am, src/tgba/Makefile.am:
	Add the reduction of automata.
	* src/ltlvisit/syntimpl.cc, src/ltlvisit/basereduc.cc:
	Lot of mistake are corrected.
	* src/ltlvisit/syntimpl.hh, src/ltlvisit/reducform.cc,
	src/ltlvisit/reducform.hh, src/ltltest/reduc.cc: Adjust.
	* src/ltltest/equals.cc, src/ltltest/reduccmp.test,
	src/ltltest/Makefile.am: Add a test for reduction.

457
458
2004-06-02  Alexandre Duret-Lutz  <adl@src.lip6.fr>

459
460
461
462
463
464
465
466
467
468
469
	* iface/gspn/common.cc, iface/gspn/common.hh: Remove the
	class gspn_environment, and move it to ...
	* src/ltlenv/declenv.cc, src/ltlenv/declenv.hh: .. this new file
	as class declarative_environment.
	* src/ltlenv/Makefile.am (ltlenv_HEADERS): Add declenv.hh.
	(libltlenv_la_SOURCES): Add declenv.cc.
	* iface/gspn/dottygspn.cc, iface/gspn/dottyssp.cc,
	iface/gspn/gspn.cc, iface/gspn/gspn.hh, iface/gspn/ltlgspn.cc,
	iface/gspn/ssp.cc, iface/gspn/ssp.hh: Adjust references
	to declarative_environment.

470
471
472
473
474
475
	* HACKING, src/sanity/style.test: NULL is not portable, prohibit it.
	* iface/gspn/ssp.cc, src/ltltest/reduc.cc, src/ltltest/syntimpl.cc,
	src/ltlvisit/basereduc.cc, src/ltlvisit/reducform.cc,
	src/ltlvisit/syntimpl.cc: Use 0 instead of NULL.

2004-06-01  Alexandre Duret-Lutz  <adl@src.lip6.fr>
476
477
478
479
480
481
482
483
484
485
486
487

	* src/ltltest/inf.cc, src/ltltest/inf.test: Rename as ...
	* src/ltltest/syntimpl.cc, src/ltltest/syntimpl.test: ... these.
	* src/ltltest/Makefile.am: Adjust.
	* src/ltlvisit/forminf.cc: Rename as...
	* src/ltlvisit/syntimpl.cc: ... this.
	* src/ltlvisit/syntimpl.hh: New file with definitions extracted
	from ...
	* src/ltlvisit/reducform.hh: ... this one.
	* src/ltlvisit/Makefile.am, src/ltlvisit/reducform.cc: Adjust.

2004-05-30  Alexandre Duret-Lutz  <adl@src.lip6.fr>
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503

	* src/ltlvisit/forminf.cc (form_eventual_universal_visitor,
	inf_form_right_recurse_visitor, inf_form_left_recurse_visitor): Rename
	as ...
	(eventual_universal_visitor, inf_right_recurse_visitor,
	inf_left_recurse_visitor): ... these.
	(is_GF, is_FG): Move ...
	* src/ltlvisit/basereduc.cc (is_GF, is_FG): ... here, since they
	are only used here.
	(basic_reduce_form, basic_reduce_form_visitor): Rename as ...
	(basic_reduce, basic_reduce_visitor): ... these.
	* src/ltlvisit/reducform.cc (reduce_form_visitor): Rename as ...
	(reduce_visitor): ... this.
	* src/ltltest/inf.cc: Adjust calls.
	* src/sanity/style.test: Improve missing-space after coma detection.

504
505
2004-05-26  Alexandre Duret-Lutz  <adl@src.lip6.fr>

506
507
508
	* src/ltlvisit/reducform.cc (reduce_form_visitor::visit(constant)):
	Simplify.

509
510
511
512
513
514
515
	* src/ltlvisit/basereduc.cc, src/ltlvisit/reducform.cc: Use
	dynamic_cast instead of node_type_form_visitor, this is usually
	smaller.
	* src/ltlvisit/reducform.hh,
	src/ltlvisit/forminf.cc (node_type_form_visitor): Delete.
	* src/sanity/style.test: Two more checks.

516
517
2004-05-25  Alexandre Duret-Lutz  <adl@src.lip6.fr>

518
519
520
521
522
523
524
525
	* src/ltlvisit/formlength.cc: Rename as ...
	* src/ltlvisit/length.cc: ... this.
	* src/ltlvisit/length.hh: New file, extracted from ...
	* src/ltlvisit/reducform.hh: ... here.
	* src/ltlvisit/Makefile.am (ltlvisit_HEADERS): Add length.hh.
	(libltlvisit_la_SOURCES): Rename formlength.cc as length.cc.
	* src/ltltest/reduc.cc: Include length.hh.

526
527
528
529
530
531
532
533
	* src/ltlvisit/formlength.cc (length_form_vistor): Rename as ..
	(length_visitor): ... this.
	(form_length): Rename as ...
	(length): ... this.
	* src/ltlvisit/reducform.hh (form_length): Rename as ...
	(length): ... this.
	* src/ltltest/reduc.cc: Adjust.

534
535
536
	* src/ltlvisit/basereduc.cc, src/ltlvisit/formlength.cc: Remove
	useless includes.

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
537
538
	* AUTHORS: Update.

539
540
541
	* src/ltlvisit/reducform.hh: Update Doxygen comments for
	previous change.

542
543
544
545
546
547
548
549
	* src/ltlvisit/reducform.hh (option): Rename as ...
	(reduce_options): ... this, and use it as a bit field so
	option can be combined easily.
	(reduce): Adjust argument.
	(reduce_form): Remove, not needed anymore.
	* src/ltlvisit/reducform.cc, src/ltltest/reduc.cc,
	src/tgbatest/ltl2tgba.cc: Adjust.

550
551
552
553
	* src/sanity/style.test: Catch {.*{ and }.*}.
	* src/sanity/80columns.test: Untabify files.
	* iface/gspn/ltlgspn.cc, src/ltlvisit/basereduc.cc: Fix long lines.

554
555
556
	* src/ltlvisit/basereduc.cc, src/ltlvisit/reducform.cc,
	src/ltlvisit/forminf.cc: Remove superfluous spot::ltl:: prefixes.

557
558
	* wrap/python/cgi/ltl2tgba.in: Typos.

559
560
2004-05-24  Alexandre Duret-Lutz  <adl@src.lip6.fr>

561
562
563
	* src/sanity/style.test: Catch `;'-not-followed-by-space.
	* src/ltlvisit/reducform.cc, src/ltlvisit/forminf.cc: Fix style.

564
565
	* src/ltlvisit/reducform.hh: Fix some Doxygen comments.

566
567
	* src/tgbatest/ltl2tgba.cc (syntax): Keep options sorted.

568
569
570
	* src/sanity/Makefile.am (EXTRA_DIST): Distribute 80columns.test
	and style.test.

571
	* src/ltltest/Makefile.am (EXTRA_DIST): Distribute formulae.txt.
572
	* src/ltltest/formulae.txt: New file (2200 LTL formulea generated
573
574
575
576
	by Wring).
	* src/ltltest/formules.ltl: Delete.
	* src/reduc.test: Read formulae.txt.

577
578
579
580
581
582
583
584
585
2004-05-24  Soheib Baarir  <Souheib.Baarir@lip6.fr>

	* iface/gspn/ssp.hh (gspn_ssp_interface::gspn_ssp_interface): Add
	the `inclusion' flag.
	* iface/gspn/ssp.cc (gspn_ssp_interface::gspn_ssp_interface): Call
	inclusion_version when inclusion is set.
	* iface/gspn/ltlgspn.cc (main) [SSP]: Turn on inclusion for -e3,
	-e4, and -e5.

586
587
2004-05-21  Alexandre Duret-Lutz  <adl@src.lip6.fr>

588
589
590
591
592
593
594
595
596
597
598
	* iface/gspn/gspn.cc (tgba_gspn_private_): Define alive_prop,
	and dead_prop from the dead argument passed to the constructor.
	(tgba_succ_iterator_gspn): Stutter on dead transitions.
	(tgba_gspn::tgba_gspn): Hand dead to tgba_gspn_private_.
	(gspn_interface::gspn_interface): Hand dead to tgba_gspn.
	* iface/gspn/gspn.hh (gspn_interface::gspn_interface): Take a
	dead argument.
	* iface/gspn/ltlgspn.cc [!SSP]: Add a option -d to specify the
	dead property.
	* iface/gspn/udcseltl.test: Try option -d.

599
600
601
	* src/sanity/style.test: Check the iface/ tree too.
	* iface/gspn/gspn.cc, iface/gspn/ssp.cc: Fix style.

602
603
604
605
606
607
	* src/sanity/80columns.test: Check the iface/ tree too.
	* iface/gspn/dcswaveltl.test, iface/gspn/dcswavefm.test,
	iface/gspn/dcswaveeltl.test, iface/gspn/udcsltl.test,
	iface/gspn/udcseltl.test, iface/gspn/udcsfm.test,
	iface/gspn/udcsefm.test: Wrap to fit 80 columns.

608
609
610
611
612
613
2004-05-18  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* doc/Makefile.am (EXTRA_DIST, spot.html): Built the html
	documentation in $(srcdir) since it is distributed.
	* doc/Doxyfile.in (HTML_OUTPUT): Likewise.  Upgrade to Doxygen 1.3.7.

614
615
2004-05-17  Thomas Martinez  <martinez@src.lip6.fr>

616
617
	* src/ltlvisit/basereduc.cc, src/ltltest/inf.cc (main): Style.

618
619
620
621
622
623
	* src/ltlvisit/basereduc.cc (spot): 80 columns.
	* src/ltlvisit/reducform.cc (spot), src/ltltest/inf.cc,
	src/ltltest/reduc.cc (main), src/ltlvisit/reducform.hh,
	src/tgbatest/ltl2tgba.cc (main): More option.
	* src/ltltest/inf.test: More test.

624
625
2004-05-17  Alexandre Duret-Lutz  <adl@src.lip6.fr>

626
627
628
	* wrap/python/buddy.i: Define typemap for input_buf and use it
	for fdd_extdomain.  Define const_int_ptr and use it for fdd_vars.

629
630
631
632
633
634
635
	* src/misc/bddalloc.cc (bdd_allocator::varnum): Suppress.
	(bdd_allocator::bdd_allocator): Adjust.
	(bdd_allocator::extvarnum): Always call bdd_varnum(), so that
	it doesn't matter if the number of variable has been augmented
	externally.
	* src/misc/bddalloc.hh (bdd_allocator::varnum): Suppress.

636
637
	* src/ltlvisit/formlength.cc: Fix style to please sanity checks.

638
639
	* src/ltlvisit/lunabbrev.cc: Fix style to please sanity checks.

640
641
642
	* src/tgbaalgos/neverclaim.cc: Fix them.
	* sanity/style.test: Diagnose semicolons with leading spaces.

643
644
645
	* src/ltlvisit/forminf.cc: Fix style to please sanity checks.
	Also avoid node_type_form_visitor where a dynamic_cast is done.

646
647
2004-05-14  Alexandre Duret-Lutz  <adl@src.lip6.fr>

648
649
	* wrap/python/buddy.i: Preliminary bindings for FDD and BVEC.

650
651
652
	* ltltest/inf.cc, ltltest/reduc.cc, ltlvisit/reducform.cc: Fix style.
	* sanity/style.test: More tests.

653
654
655
	* src/tgbatest/ltl2tgba.cc (main): Fix style.
	* HACKING: Mention `else if'.

656
657
658
659
	* src/tgbaalgos/neverclaim.cc (never_claim_bfs): Do not output
	space before colon, and do not output the top-level formula using
	Spin's syntax.

660
661
2004-05-14  Thomas Martinez  <martinez@src.lip6.fr>

662
663
	* src/tgbatest/ltl2tgba.cc (main): Thinko.

664
665
666
667
668
669
	* src/ltlvisit/basereduc.cc (spot): Correct some mistakes.
	* src/ltlvisit/lunabbrev.cc (spot): Nothing change.
	* src/tgbatest/ltl2tgba.cc (main): More option to reduce
	formula.
	* src/tgbatest/spotlbtt.test: One more test.

670
671
2004-05-14  Alexandre Duret-Lutz  <adl@src.lip6.fr>

672
673
674
675
676
677
678
679
680
	* src/ltlvisit/tostring.cc (to_spin_string_visitor,
	to_string_visitor): Do not parenthesize the top-level formula.
	* tgbatest/explicit.test, tgbatest/explpro2.test,
	tgbatest/explpro3.test, tgbatest/explprod.test,
	tgbatest/readsave.test, tgbatest/tgbaread.test,
	tgbatest/tripprod.test: Adjust expected output.
	* sanity/style.test: Fix regexes to catch an error seen in
	tostring.cc.

681
682
683
684
	* src/tgbaalgos/gtec/gtec.cc (emptiness_check::remove_component):
	Do not try to erase state that are not found in H.
	Report from Soheib Baarir.

685
686
687
	* src/ltltest/reduc.test: Use ./defs and clean result.data.
	* src/ltltest/Makefile.am (CLEANFILES): Clean result.data.

688
689
690
691
692
693
694
695
696
697
2004-05-13  Thomas Martinez  <martinez@src.lip6.fr>

	* src/ltlvisit/Makefile.am: Copyright 2004.
	* src/ltltest/inf.test: More test.
	* src/ltlvisit/basereduc.cc, src/ltlvisit/forminf.cc (spot):
	Use dynamic_cast.
	* src/ltlvisit/reducform.cc, src/ltlvisit/reducform.hh,
	src/ltltest/reduc.test, src/ltltest/reduc.cc: Add an option
	to choose which rules applies to simplify the formula.

698
699
2004-05-13  Alexandre Duret-Lutz  <adl@src.lip6.fr>

700
701
	* src/ltltest/reduc.test: Typo.

702
703
704
705
706
707
708
709
710
711
	* src/ltlparse/ltlparse.yy (OP_POST_NEG, OP_POST_POS): New tokens.
	(subformula): Recognize `ATOMIC_PROP OP_POST_POS' and
	`ATOMIC_PROP OP_POST_NEG'.
	* src/ltlparse/ltlscan.ll: Introduce the not_prop start condition,
	to restrict the set of atomic propositions allowed in places
	where they are not expected.  Make `true' and `false' case insensitive.
	* src/ltltest/parse.test, src/ltltest/tostring.test: More cases.
	* src/ltlvisit/tostring.cc (to_string_visitor): Quote atomic
	propositions equal to "true" or "false".

712
713
2004-05-11  Alexandre Duret-Lutz  <adl@src.lip6.fr>

714
715
	* src/ltltest/Makefile.am (TESTS): Run inf.test and reduc.test last.

716
717
	* src/ltltest/reduc.test: POSIXify.

718
719
2004-05-10  Alexandre Duret-Lutz  <adl@src.lip6.fr>

720
721
722
723
724
725
726
727
728
729
	* src/sanity/style.test: New file.
	* src/sanity/Makefile.am (check-local): Run it.
	* src/ltlvisit/nenoform.cc, src/ltlvisit/tostring.cc,
	src/tgba/bdddict.cc, src/tgba/bddprint.cc, src/tgba/tgba.cc,
	src/tgba/tgbaproduct.cc, src/tgbaalgos/lbtt.cc,
	src/tgbaalgos/magic.cc, src/tgbaalgos/powerset.cc,
	src/tgbaalgos/reachiter.cc, src/tgbaalgos/gtec/ce.cc,
	src/tgbaalgos/gtec/gtec.cc, src/tgbatest/ltl2tgba.cc: Fix style
	issues reported by style.test.

730
731
732
733
734
	* src/ltltest/inf.cc, src/ltltest/inf.test, src/ltltest/reduc.test,
	src/ltlvisit/formlength.cc, src/ltlvisit/reducform.cc,
	src/ltlvisit/reducform.hh: Fix copyright year, these files were
	created in 2004.

735
736
737
738
739
740
741
742
743
744
	* src/sanity/80columns.test: New file.
	* src/sanity/Makefile.am (check-local): Run it.
	* src/ltltest/equals.test, src/ltltest/lunabbrev.test,
	src/ltltest/nenoform.test, src/ltltest/parseerr.test
        src/ltltest/tunabbrev.test, src/ltltest/reduc.cc,
	src/ltltest/tunabbrev.test, src/ltlvisit/forminf.cc,
	src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
	src/tgbatest/explprod.test, src/tgbatest/spotlbtt.test,
	src/tgbatest/tripprod.test: Wrap long lines.

745
746
2004-05-10  Thomas MARTINEZ  <martinez@abacus.lip6.fr>

747
748
	* src/tgbatest/ltl2tgba.cc (main): Add a option for reduce the formula.

749
750
751
752
753
754
755
756
757
758
759
760
	* src/ltltest/formules.ltl: A pattern of 2000 formulas.
	* src/ltltest/inf.test: Test some case of implies.
	* src/ltltest/inf.cc: Test some case of implies.
	* src/ltltest/reduc.test: Test reduction of a file of formula.
	* src/ltltest/reduc.cc: Test reduction of a formula.

	* src/ltlvisit/formlength.cc: Gives the lenght of a formula.
	* src/ltlvisit/forminf.cc: To know if a formula implies an other.
	* src/ltlvisit/basereduc.cc: Implement only basic reduction.
	* src/ltlvisit/reducform.cc: Implement reduction.
	* src/ltlvisit/reducform.hh: To reduce a formula.

761
762
2004-05-10  Alexandre Duret-Lutz  <adl@src.lip6.fr>

763
764
765
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Refine
	fair_loop_approximation when branching postponement is not used.

766
767
768
769
770
771
	Cache formula translations, and canonize formulae before doing
	branching postponement.
	* src/tgbaalgos/ltl2tgba_fm.cc (formula_canonizer): New class, with
	bits extracted from fill_dests and ltl_to_tgba_fm.
	(fill_dests, ltl_to_tgba_fm): Adjust to use formula_canonizer.

772
773
774
775
776
777
778
779
780
781
	* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Add argument
	fair_loop_approx.
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Implement the
	fair_loop_approx optimization.
	(ltl_promise_visitor, ltl_possible_fair_loop_visitor,
	possible_fair_loop_checker): New classes.
	* src/tgbatest/ltl2tgba.cc: Add the -L option.
	* src/tgbatest/spotlbtt.test: Exercise fair_loop_approx.
	* wrap/python/cgi/ltl2tgba.in: Make it an option.

782
783
784
785
786
787
788
789
790
791
792
2004-05-07  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Add argument
	branching_postponement.
	* src/tgbaalgos/ltl2tgba_fm.cc (fill_dests): New function, extracted
	from ltl_to_tgba_fm().
	(ltl_to_tgba_fm): Implement the branching_postponement optimization.
	* src/tgbatest/ltl2tgba.cc: Add the -p option.
	* src/tgbatest/spotlbtt.test: Exercise branching postponement.
	* wrap/python/cgi/ltl2tgba.in: Make it an option.

793
794
2004-05-04  Alexandre Duret-Lutz  <adl@src.lip6.fr>

795
796
797
	* src/tgbaalgos/ltl2tgba_fm.cc: Add a superfluous return to pacify
	some GCC version.  Report from Denis Poitrenaud.

798
799
	* wrap/python/cgi/ltl2tgba.in: Fix output HTML.

800
801
802
803
804
805
806
807
808
2004-05-03  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Clone and then
	free all formulae entered into canonical_succ, to avoid errors
	when a formula is entered into canonical_succ but not into
	formulae_seen.
	* src/tgbatest/ltl2tgba.test: Add a new test, and check with -f.
	Report from Thomas Martinez.

809
810
2004-04-23  Alexandre Duret-Lutz  <adl@src.lip6.fr>

811
812
	* configure.ac, NEWS: Bump version to 0.0u.

813
814
815
816
	* configure.ac, NEWS: Bump version to 0.0t.
	* HACKING: Update tools requirements.
	* src/sanity/Makefile.am (EXTRA_DIST): Distribute includes.test.

817
818
819
820
	* src/sanity/Makefile.am, src/sanity/includes.test: New files.
	* src/Makefile.am (SUBDIRS): Add sanity.
	* configure.ac: Output src/sanity/Makefile.in.

821
822
823
824
825
	* src/tgbatest/Makefile.am (check_PROGRAMS): Move ltl2tgba ...
	(noinst_PROGRAMS): ... here.
	* iface/gspn/Makefile.am (check_PROGRAMS): Rename as ...
	(noinst_PROGRAMS): ... this.

826
827
2004-04-22  Alexandre Duret-Lutz  <adl@src.lip6.fr>

828
	* src/tgbatest/explicit.test: Reorder bdd variables in output.
829
830
	Report from Denis Poitrenaud.

831
832
	* wrap/python/cgi/ltl2tgba.in: Print degeneralized statistics
	when show_never_claim.  Change the title to LTL-to-TGBA.
833
	Suggested by Denis Poitrenaud.
834

835
836
2004-04-21  Alexandre Duret-Lutz  <adl@src.lip6.fr>

837
838
839
	* wrap/python/cgi/ltl2tgba.in (print_footer): Make ltl2tgba.py's
	version a separate variable.

840
841
842
	* wrap/python/cgi/ltl2tgba.in: Pass the formula to
	never_claim_reachable, and cgi.escape its output.
	Lighten the color a bit.
843

844
845
846
	* src/tgbaalgos/gtec/ce.hh, src/misc/freelist.hh,
	src/tgba/bddprint.hh: Fix Doxygen comments.

847
848
849
850
851
852
853
	* src/tgbaalgos/neverclaim.hh (never_claim_reachable): Document
	arguments.
	* src/tgbaalgos/neverclaim.cc (never_claim_bfs::state_is_accepting):
	New method.
	(never_claim_bfs::get_state_label, never_claim_bfs::process_state):
	Use it.

854
855
856
	* wrap/python/cgi/ltl2tgba.in: Use darker color and introduce
	the new variable dot_bgcolor.

857
858
859
	* wrap/python/cgi/ltl2tgba.in (add_options): Revamp options output
	using this new function.

860
861
862
	* wrap/python/spot.i: Process tgbaalgos/neverclaim.hh.
	* wrap/python/cgi/ltl2tgba.in: Display the never claim on demand.

863
864
865
866
867
868
869
870
871
872
873
874
2004-04-21  Denis Poitrenaud  <dp@src.lip6.fr>

	* src/ltlvisit/tostring.hh (to_spin_string): New function.
	Convert a formula into a string parsable by Spin.
	* src/tgbaalgos/neverclaim.hh, src/tgbaalgos/neverclaim.cc: New files.
	Print the never claim in Spin format of a degeneralized TGBA.
	* src/tgbaalgos/Makefile.am: Add them.
	* src/tgbatest/ltl2tgba.cc: Add the option -N which outputs the
	never claim in Spin format of a degeneralized TGBA.
	* src/tgbatest/ltl2neverclaim.test: New file.
	* src/tgbatest/Makefile.am: Add it.

875
876
2004-04-20  Alexandre Duret-Lutz  <adl@src.lip6.fr>

877
878
879
880
	* src/ltltest/defs.in, src/tgbatest/defs.in: Correctly set exitcode
	when valgrind is not used.
	Reported by Denis Poitrenaud.

881
882
883
884
885
	* src/tgba/tgba.hh (tgba::succ_iter): Doco.
	* src/tgba/tgbatba.hh (tgba_tba_proxy::state_is_accepting): Document
	it.
	Reported by Denis Poitrenaud.

886
2004-04-17  Alexandre Duret-Lutz  <adl@src.lip6.fr>
887

888
889
890
	* iface/gspn/ltlgspn.cc (main) [SSP]: Use the standard
	counter-example computation for -e5 too.

891
892
893
894
	* iface/gspn/ltlgspn.cc (main) [!SSP]: Do not accept -e3, -e4, or -e5.
	(main) [SSP]: Use the standard counter-example computation
	for -e and -e1.

895
896
897
2004-04-15  Soheib Baarir  <Souheib.Baarir@lip6.fr>
	    Alexandre Duret-Lutz  <adl@src.lip6.fr>

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
898
899
900
901
902
903
904
905
906
	Rename EESRG as SSP.
	* iface/gspn/eesrg.cc, iface/gspn/eesrg.hh,
	iface/gspn/dottyeesrg.cc: Rename as ...
	* iface/gspn/ssp.cc, iface/gspn/ssp.hh, iface/gspn/dottyssp.cc:
	... these.  Adjust all classes and function names.
	* iface/gspn/ltlgspn.cc, iface/gspn/Makefile.am: Adjust all classes
	filenames and function names.
	* m4/gspnlib.m4: Define WITH_GSPN_SSP and LIBGSPNSSP_LDFLAGS.

907
908
909
910
911
912
913
914
915
916
917
918
919
920
	* src/tgbaalgos/gtec/nsheap.cc (numbered_state_heap_hash_map::find):
	Rewrite.
	(numbered_state_heap_hash_map::index): New functions.
	(numbered_state_heap_hash_map::filter): Delete.
	* src/tgbaalgos/gtec/nsheap.hh
	(numbered_state_heap_hash_map::index): New functions.
	(numbered_state_heap_hash_map::filter): Delete.
	* iface/gspn/eesrg.cc (numbered_state_heap_eesrg_semi::find,
	numbered_state_heap_eesrg_semi::index): Rewrite.
	(numbered_state_heap_eesrg_semi::filter): Remove.
	* src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/ce.cc:
	Adjust to use find() and index() instead of filter()..


921
922
923
924
925
926
927
928
929
930
931
	* iface/gspn/eesrg.cc (connected_component_eesrg::has_state):
	Free filtered states.
	(emptiness_check_shy_eesrg): New class.
	(emptiness_check_eesrg_shy): New function.
	* iface/gspn/eesrg.hh (emptiness_check_eesrg_shy): New function.
	* iface/gspn/ltlgspn.cc (main) [EESRG]: Handle -e3, -e4, and -e5.
	* * src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/gtec.cc
	(emptiness_check_shy::check): Move arc, num, succ_queue, and todo
	as attributes.
	(emptiness_check_shy::find_state): New virtual function.

932
933
934
935
936
937
938
939
940
941
942
943
944
945
2004-04-14  Soheib Baarir  <Souheib.Baarir@lip6.fr>
	    Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* iface/gspn/ltlgspn.cc (connected_component_eesrg,
	connected_component_eesrg_factory, numbered_state_heap_eesrg_semi,
	numbered_state_heap_eesrg_const_iterator,
	numbered_state_heap_eesrg_factory_semi): New classes.
	(emptiness_check_eesrg_semi, emptiness_check_eesrg_shy_semi,
	counter_example_eesrg): New functions.
	* iface/gspn/eesrg.hh (emptiness_check_eesrg_semi,
	emptiness_check_eesrg_shy_semi, counter_example_eesrg): New
	functions.
	* iface/gspn/ltlgspn.cc [EESRG]: Adjust to call these new functions.

946
947
948
949
950
951
952
953
2004-04-14  Soheib Baarir  <Souheib.Baarir@lip6.fr>

	* iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg,
	state_gspn_eesrg): Compute the array of all successors of the
	right state beforehand, pass it to Greatspn (left automata) at
	once, let it compute the resulting synchronized arcs, and iterate
	on that result.

954
955
2004-04-14  Alexandre Duret-Lutz  <adl@src.lip6.fr>

956
957
958
959
960
961
962
963
964
965
966
967
968
	* src/tgbaalgos/gtec/nsheap.hh (numbered_state_heap_factory,
	numbered_state_heap_hash_map_factory): New class.
	* src/tgbaalgos/gtec/nsheap.cc (numbered_state_heap_hash_map_factory):
	Implement it.
	* src/tgbaalgos/gtec/gtec.hh (emptiness_check::emptiness_check,
	emptiness_check_shy::emptiness_check_shy): Take a
	numbered_state_heap_factory argument.
	* tgbaalgos/gtec/status.hh
	(emptiness_check_status::emptiness_check_status): Likewise.
	(emptiness_check_status::h): Make it a numbered_state_heap*.
	* src/tgbaalgos/gtec/ce.cc, tgbaalgos/gtec/gtec.cc,
	tgbaalgos/gtec/status.cc: Adjust uses of ecs_->h.

969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
	* src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/emptinesscheck.cc:
	Delete and split into ...
	* src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh,
	src/tgbaalgos/gtec/explscc.cc, src/tgbaalgos/gtec/explscc.hh,
	src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
	src/tgbaalgos/gtec/nsheap.cc, src/tgbaalgos/gtec/nsheap.hh,
	src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh,
	src/tgbaalgos/gtec/status.cc, src/tgbaalgos/gtec/status.hh: ...
	these new files.
	* src/tgbaalgos/gtec/Makefile.am: New file.
	* src/tgbaalgos/Makefile.am (SUBDIRS, libtgbaalgos_la_LIBADD):
	Recurse into gtec and link gtec/libgtec.la.
	(tgbaalgos_HEADERS, libtgbaalgos_la_SOURCES): Remove emptinesscheck.hh
	and emptinesscheck.cc.
	* configure.ac: Output src/tgbalagos/gtec/Makefile.
	* iface/gspn/ltlgspn.cc, src/tgbatest/ltl2tgba.cc: Update includes.
	* README: Update tree description.

987
988
2004-04-13  Alexandre Duret-Lutz  <adl@src.lip6.fr>

989
	* src/tgbaalgos/emptinesscheck.hh (numbered_state_heap_const_iterator,
990
	numbered_state_heap, numbered_state_heap_hash_map): New classes.
991
	* src/tgbaalgos/emptinesscheck.cc
992
993
994
	(numbered_state_heap_hash_map_const_iterator): New class.
	(numbered_state_heap_hash_map): Implement it.

995
996
997
998
999
1000
1001
	* src/tgbaalgos/emptinesscheck.hh
	(explicit_connected_component_factory,
	connected_component_hash_set_factory): New classes.
	(counter_example::counter_example): Take an
	explicit_connected_component_factory factory argument.
	* src/tgbaalgos/emptinesscheck.cc: Adjust.

1002
1003
1004
1005
1006
1007
	* src/tgbaalgos/emptinesscheck.hh (explicit_connected_component):
	New class.
	(counter_example::connected_component_set): Rename as ...
	(connected_component_hash_set): ... this, and inherit from
	explicit_connected_component.
	(counter_example::accepting_path, counter_example::complete_cycle):
1008
1009
1010
	Take an explicit_connected_component argument instead of a
	connected_component_set.
	* src/tgbaalgos/emptinesscheck.cc: Adjust.
1011

1012
1013
1014
1015
1016
	* src/tgbaalgos/emptinesscheck.hh
	(counter_example::connected_component_set::has_state): Return
	a const state* and behave like h_filt.
	* src/tgbaalgos/emptinesscheck.cc: Adjust.

1017
1018
1019
1020
1021
1022
	* src/tgbaalgos/emptinesscheck.hh (emptiness_check::check2): Move
	into ...
	(emptiness_check_shy): This new subclass of emptiness_check.
	* src/tgbaalgos/emptinesscheck.cc, src/tgbatest/ltl2tgba.cc,
	iface/gspn/ltlgspn.cc: Adjust.

1023
1024
	* src/tgba/bdddict.hh (bdd_dict::annon_free_list): Hide from Swig.

1025
1026
1027
1028
1029
1030
	* src/tgbaalgo/semptinesscheck.hh (counter_example): New class,
	extracted from ...
	(emptiness_check): ... here.
	* src/tgbaalgos/emptinesscheck.cc, src/tgbatest/ltl2tgba.cc,
	iface/gspn/ltlgspn.cc: Adjust.

1031
1032
1033
	* wrap/python/Makefile.am ($(srcdir)/spot_wrap.cxx)
	($(srcdir)/buddy_wrap.cxx): Use -noruntime instead of -c.

1034
1035
1036
1037
1038
	* src/tgbaalgo/semptinesscheck.hh (emptiness_check_status): New class,
	extracted from ...
	(emptiness_check): ... here.
	* src/tgbaalgos/emptinesscheck.cc: Adjust.

1039
1040
1041
1042
1043
1044
	* src/tgbaalgo/semptinesscheck.hh (scc_stack): New class, extracted
	from ...
	(emptiness_check): ... here.
	(emptiness_check::root): Redefined as a scc_stack object.
	* src/tgbaalgos/emptinesscheck.cc: Adjust.

1045
1046
1047
1048
1049
2004-04-05  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaalgos/emptinesscheck.cc (emptiness_check::complete_cycle):
	Do not visit a state more than once.  Report from Soheib Baarir.

1050
1051
2004-03-25  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
	* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict): Reuse Acc and Var
	variables from a shared bdd_dict.  Register Next variables as
	anonymous variables.
	(translate_dict::translate_dict, translate_dict::~translate_dict,
	translate_dict::register_proposition,
	translate_dict::register_a_variable,
	translate_dict::register_next_variable,
	translate_dict::dump, translate_dict::var_to_formula,
	ltl_to_tgba_fm): Adjust.
	(translate_dict::dict): New attribute.
	(translate_dict::a_map, translate_dict::a_formula_map,
	translate_dict::var_map, translate_dict::var_formula_map): Delete.

1065
1066
1067
1068
1069
1070
1071
	* src/misc/freelist.cc (free_list::remove): Work around
	invalidated iterators.
	* tgba/bdddict.cc (unregister_variable): New methods,
	extracted from ...
	(bdd_dict::unregister_all_my_variables): ... here.
	* tgba/bdddict.hh (unregister_variable): Declare them.

1072
1073
2004-03-23  Alexandre DURET-LUTZ  <adl@src.lip6.fr>

1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
	* src/misc/freelist.hh (free_list::remove, free_list::insert): New
	methods.
	* src/misc/freelist.cc (free_list::register_n,
	free_list::releases_n): Rewrite using free_list::remove and
	free_list::insert.
	(free_list::remove, free_list::insert): New methods.
	* src/tgba/bdddict.hh (bdd_dict::register_anonymous_variables):
	New method.
	(bdd_dict::annon_free_list): New subclass.
	(bdd_dict::free_annonymous_list_of_type_of): New attribute.
	* src/tgba/bdddict.cc (bdd_dict::register_all_variables_of,
	bdd_dict::unregister_all_my_variables): Handle anonymous variables
	too.
	(bdd_dict::register_anonymous_variables,
	bdd_dict::annon_free_list::annon_free_list,
	bdd_dict::annon_free_list::extend): New methods.

1091
1092
1093
	* src/tgbaalgos/emptinesscheck.cc (emptiness_check::accepting_path)
	Fix handling of PATH when backtracking.  Report from Soheib Baarir.

1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
2004-03-18  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	Move the free_list management into a separate class for reuse.

	* src/misc/freelist.hh, src/misc/freelist.cc: New files.
	* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them.
	* src/misc/bddalloc.hh (bdd_allocator): Inherit from free_list and
	make dump_free_list visible.
	* src/misc/bddalloc.cc (bdd_allocator::allocate_variables): Move
	all the code into free_list::register_n() and
	bdd_allocator::extend(), and call the former.
	(bdd_allocator::release_variables): Move all the code into
	free_list::release_n() and call it.
	(bdd_allocator::extend): New method.
	* src/tgba/bdddict.cc (bdd_dict::dump): Call dump_free_list;

1110
1111
1112
1113
2004-03-09  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* configure.ac, NEWS: Bump version to 0.0s.

1114
1115
2004-03-08  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1116
1117
	* configure.ac, NEWS: Bump version to 0.0r.

1118
1119
1120
1121
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm) <exprop>: Do not
	blindly enumerate all combinations of atomic properties; initially
	set all_props to the set of all possibly satisfiable combinations.

1122
1123
2004-02-21  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1124
1125
1126
	* lbtt/src/Makefile.am (lbtt_translate_SOURCES): Fix leftover
	from 1.0.3 merge.

1127
1128
	* wrap/python/cgi/ltl2tgba.in: Process ltl2tgba.opt if it exists.

1129
1130
	* wrap/python/cgi/ltl2tgba.in: Color translators and their options.

1131
1132
2004-02-20  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1133
1134
	* wrap/python/cgi/ltl2tgba.in: Present the options in a table.

1135
1136
1137
1138
	* wrap/python/cgi/ltl2tgba.in: Remove the "print dot" options,
	add a "dot source" source behind each picture instead.  Do
	not run `dot' on big automata.

1139
1140
1141
1142
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Fix example
	in comment.  Skip false transitions, and do not compute
	sub-formulae reachable only via false transitions.

1143
1144
1145
1146
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Revert
	yesterday's change.  This optimization is NOT covered by exprop.
	In fact it could be generalized.

1147
1148
2004-02-19  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1149
1150
1151
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Remove the
	cond_for_true optimization.  It is covered by exprop.

1152
1153
1154
	* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator::current_state):
	Fix reference to Oddoux's thesis.

1155
1156
2004-02-16  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1157
1158
1159
1160
1161
1162
1163
1164
	* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Add the
	symb_merge argument.
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Likewise.
	* src/tgbatest/ltl2tgba.cc (main): Rename -fx as -x, and add -y
	to unset symb_merge.
	* wrap/python/cgi/ltl2tgba.in: Remove the exprop version
	of the FM translator, make exprop and symb_merge options.

1165
1166
1167
1168
1169
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_trad_visitor::visit) <unop::G>:
	suppress the GFy optimisation introduced on 2003-11-26, it is
	generalized by the identification of states with same symbolic
	rewriting introduced on 2004-02-02.

1170
1171
	* lbtt/: Merge lbtt 1.0.3.

1172
1173
1174
1175
1176
2004-02-13  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/ltl2baw.pl (END): Ensure LTL2TGBA is always
	closed.

1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
2004-02-11  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbatest/ltl2tgba.cc (syntax): Recognize "-" as input
	filename for the formula.  Merge the transitions of automata
	read with -X.
	* src/tgbatest/spotlbtt.test: Add many disabled algorithms.
	It is convenient to reuse the `config' file created by this
	test when making statistics.
	* src/tgbatest/ltl2baw.pl: New file.
	* src/tgbatest/Makefile.am (EXTRA_DIST): Add ltl2baw.pl.

1188
1189
2004-02-10  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1190
1191
1192
	* wrap/python/libpy.c: Update from Swig 1.3.21.
	* HACKING: Update versions.

1193
1194
1195
1196
1197
1198
1199
1200
1201
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Take an exprop
	argument.  Consider all possible combinations of propositions when
	generating arcs.  Suggested by Jean-Michel Couvreur.
	* src/tgbaalgos/ltl2tgba_fm.hh (ltl_to_tgba_fm): Adjust.
	* src/tgbatest/ltl2tgba.cc: Honor -fx.
	* src/tgbatest/spotlbtt.test: Exercise -fx.
	* wrap/python/cgi/ltl2tgba.in: Support Couvreur/FM with exploded
	properties.

1202
1203
2004-02-09  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1204
1205
	* src/ltlparse/ltlparse.yy: Typo.

1206
1207
1208
1209
1210
	* wrap/python/cgi/ltl2tgba.in: Use render_dot when
	showing formula.
	* wrap/python/cgi/README: Mention unique_id.

2004-02-08  Alexandre Duret-Lutz  <adl@src.lip6.fr>
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224

	This should help getting accurate statistics (on both the
	formula automaton and the synchronized product) from LBTT.
	Idea from Jean-Michel Couvreur.

	* src/tgbaalgos/lbtt.cc (nonacceptant_lbtt_bfs): New class.
	(nonacceptant_lbtt_reachable): New function.
	* src/tgbaalgos/lbtt.hh (nonacceptant_lbtt_reachable): New
	function.
	* src/tgbatest/ltl2tgba.cc (main): Call nonacceptant_lbtt_reachable
	if the -T option is used.
	* src/tgbatest/spotlbtt.test: Setup the -T variants, disabled by
	default.

1225
1226
2004-02-05  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1227
1228
	* src/tgbaalgos/lbtt.hh: Typos.

1229
1230
	* src/tgbatest/spotlbtt.test: Typo.

1231
1232
1233
1234
1235
1236
	* wrap/python/spot.i (unblock_signal): New function.
	* wrap/python/cgi/ltl2tgba.in (print_footer, alarm_handler)
	(reset_alarm): New functions.  Kill the script and its
	children if it runs for too long.
	(render_dot): Call reset_alarm.

1237
1238
2004-02-03  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1239
1240
	* configure.ac, NEWS: Bump version to 0.0q.

1241
1242
	* configure.ac, NEWS: Bump version to 0.0p.

1243
1244
1245
1246
	* wrap/python/cgi/ltl2tgba.in: Fix <table> setting to cope
	with IE, Safari, konqueror, ... None of these support
	rules="groups" frame="border" properly (Mozilla is OK).

1247
1248
1249
2004-02-02  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* wrap/python/cgi/ltl2tgba.in: Output a description of the syntax.
1250

1251
1252
1253
	* wrap/python/cgi/ltl2tgba.in: Import spot and redirect stderr
	to stdout early.

1254
1255
1256
	* wrap/python/cgi/ltl2tgba.in (print_stats): Compute and display
	the number of acceptance conditions.

1257
1258
1259
1260
1261
	* wrap/python/tests/bddnqueen.py, wrap/python/tests/interdep.py,
	wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltlparse.py,
	wrap/python/tests/ltlsimple.py: Specify coding system to
	accommodate newer Python versions.

1262
1263
1264
1265
1266
	* src/misc/bddalloc.hh: Make all methods public.
	* wrap/python/spot.i: Include misc/bddalloc.hh and misc/minato.hh.
	* wrap/python/tests/minato.py: New file.
	* wrap/python/tests/Makefile.am (TESTS): Add minato.py.

1267
1268
1269
1270
1271
1272
	* src/tgbatest/explicit.cc, src/tgbatest/explprod.cc,
	src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
	src/tgbatest/mixprod.cc, src/tgbatest/powerset.cc,
	src/tgbatest/readsave.cc, src/tgbatest/tgbaread.cc,
	src/tgbatest/tripprod.cc: Add missing copyright license.

1273
1274
1275
1276
	* wrap/python/cgi/ltl2tgba.in (render_dot): Render .png directly
	with dot, without using convert.
	* wrap/python/cgi/README: Do not mention convert.

1277
1278
1279
	* wrap/python/cgi/ltl2tgba.in (render_dot, render_automaton)
	(render_bdd): New functions, extracted from the rest of the code.

1280
1281
1282
1283
	* wrap/python/cgi/ltl2tgba.in (default_translator): Default
	to trans_fm.
	(translators): Show trans_fm before trans_lacim.

1284
1285
1286
1287
	* wrap/python/cgi/ltl2tgba.in (print_stats): New function.  Call
	it to display the size of the generalized and degeneralized
	automata.

1288
1289
1290
1291
1292
	* src/tgbalagos/stats.hh, src/tgbalagos/stats.cc: New files.
	* src/tgbalagos/Makefile.am: Add them.
	* wrap/python/spot.i: Include src/tgbalagos/dupexp.hh and
	src/tgbalagos/stats.hh

1293
1294
1295
1296
1297
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Identify states
	with identical successors.  This optimizes the translation
	of `a R (b R c)', for instance.
	* src/tgbatest/ltl2tgba.test: Add two new tests.

1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
	Hide the tgba_gspn and tgba_gspn_eesrg classes.  Offer the
	corresponding automaton via the automaton() method of the
	gspn_interface and gspn_eesrg_interface classes.

	* iface/gspn/gspn.hh (gspn_interface::gspn_interface): Take dict and
	env arguments.
	(gspn_interface::automaton): New method.
	(tgba_gspn): Move all the declaration ...
	* iface/gspn/gspn.cc (tgba_gspn): ... here.
	(gspn_interface::automaton): Implement it.
	* iface/gspn/eesrg.hh (gspn_eesrg_interface::gspn_eesrg_interface):
	Take dict and env arguments.
	(gspn_eesrg_interface::automaton): New method.
	(tgba_gspn_eesrg): Move all the declaration ...
	* iface/gspn/gspn.cc (tgba_gspn_eesrg): ... here.
	(gspn_eesrg_interface::automaton): Implement it.
	* iface/gspn/dottygspn.cc, iface/gspn/dottyeesrg.cc,
	iface/gspn/ltlgspn.cc: Adjust.

1317
1318
1319
1320
1321
2004-01-30  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/ltlvisit/tostring.cc: Fix output of F0, F1, G0, G1, X0, and X1.
	* src/ltltest/tostring.test: Test these.

1322
1323
2004-01-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
	* src/tgba/tgbaexplicit.cc (tgba_explicit::get_acceptance_condition):
	Do not treat true and false specially.  Otherwise it breaks
	translation of F(false).
	* src/tgbatest/explprod.test, src/tgbatest/tripprod.test: Do not
	use true as acceptance condition.

	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_trad_visitor): Use Acc[b] as
	acceptance condition for Fb, not Acc[Fb].

	After this change, degeneralized automata are 40% smaller
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
	in LBTT's statistics.

	* src/tgba/tgbatba.cc (state_tba_proxy): Store an iterator,
	pointing somewhere into the acceptance conditions list, instead of
	an acceptance condition.
	(state_tba_proxy::acceptance_iterator): New method.
	(tgba_tba_proxy_succ_iterator): Adjust to use iterators too.
	(tgba_tba_proxy_succ_iterator::current_state): If the current
	transition is in several consecutive acceptance steps after the
	expected one, advance many steps at once.
	(tgba_tba_proxy::tgba_tba_proxy): Build the acceptance cycle
	as a list, not a map.
	(tgba_tba_proxy::get_init_state, tgba_tba_proxy::succ_iter):
	Adjust.
	* src/tgba/tgbatba.hh (tgba_tba_proxy::acc_cycle_): Declare as
	a list, not a map.

1351
1352
2004-01-26  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1353
1354
1355
1356
1357
	* src/tgbaalgos/magic.cc (magic_search::~magic_search): Release
	all iterators on the stack.
	(magic_search::check): Release iterators that are popped off the
	stack.

1358
1359
	* src/tgbatest/explpro2.test: Fix reordering regex.

1360
1361
	* src/tgbatest/defs.in (run): Use libtool --mode=execute.

1362
1363
2004-01-23  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1364
1365
1366
1367
1368
1369
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Merge transitions
	with same destination and acceptance conditions directly, without
	calling a->merge_transition().  If one transitions goes to "True",
	subtract its conditions from all other transitions; this optimizes
	a U b.

1370
1371
1372
1373
1374
	* src/ltlast/refformula.hh (ref_formula::ref_count_): New method.
	* src/ltlast/refformula.cc (ref_formula::ref_count_): New method.
	* src/ltlast/atomic_prop.hh (atomic_prop::dump_instance): New method.
	* src/ltlast/atomic_prop.cc (atomic_prop::dump_instance): New method.

1375
1376
	* src/tgbaalgos/ltl2tgba_fm.cc: Typos in comments.

1377
1378
2004-01-13  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1379
1380
	* configure.ac, NEWS: Bump version to 0.0o.

1381
1382
1383
	* configure.ac: Bump version to 0.0n.
	* NEWS: Update.

1384
1385
1386
	* src/tgbaalgos/emptinesscheck.hh (emptiness_check::check,
	emptiness_check::check2): Document them.

1387
1388
1389
1390
2004-01-12  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* iface/gspn/ltlgspn.cc (main): Typo, use MIN_ARG.

1391
1392
2004-01-09  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1393
1394
1395
	* iface/gspn/dcswaveeltl.test, iface/gspn/udcsefm.test,
	iface/gspn/udcseltl.test: Exercize -e2.

1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
	* src/tgbaalgos/emptinesscheck.cc (emptiness_check::check2):
	New function, variant of emptiness_check::check().
	* src/tgbaalgos/emptinesscheck.hh (emptiness_check::check2):
	Likewise.
	* src/tgbatest/emptchk.test, src/tgbatest/emptchke.test: Exercize -e2.
	* src/tgbatest/ltl2tgba.cc: Support -e2, for emptiness_check::check2().
	* iface/gspn/Makefile.am [WITH_GSPN_EESRG] (check_PROGRAMS):
	Compile ltlgspn-eesrg instead of ltleesrg.
	(ltleesrg_SOURCES, ltleesrg_LDADD): Replace by...
	(ltlgspn_eesrg_SOURCES, ltlgspn_eesrg_LDADD, LIBGSPNESRG_LDFLAGS):
	... these.
	* iface/gspn/ltleesrg.cc: Delete.
	* iface/gspn/ltlgspn.cc [EESRG]: Support EESRG conditionally.
	Support -e2.

1411
1412
	* src/tgbaalgos/ltl2tgba_lacim.cc: Typo in comment.

1413
	* src/tgbaalgos/emptinesscheck.cc (emptiness_check::check): Typos
1414
1415
	in comments.

1416

1417
1418
1419
1420
1421
1422
1423
1424
	* m4/gspnlib.m4 (AX_CHECK_GSPNLIB): Do not warn about a missing
	library for eesrg.  Define the WITH_GSPN_EESRG conditional.
	* iface/gspn/Makefile.am (gspn_HEADERS, check_PROGRAMS): Add the
	eesrg items in condition WITH_GSPN_EESRG.
	(libspotgspneesrg_la_LIBADD, libspotgspneesrg_la_CPPFLAGS)
	(libspotgspneesrg_la_SOURCES): Define only in condition
	WITH_GSPN_EESRG.

1425
1426
1427
1428
1429
1430
1431
	* src/tgbaalgos/emptinesscheck.cc (emptiness_check::print_stats):
	New function.
	* src/tgbaalgos/emptinesscheck.hh (emptiness_check::print_stats):
	Likewise.
	* iface/gspn/ltlgspn.cc (main) <Couvreur>: Call print_stats().
	* iface/gspn/ltleesrg.cc (main): Likewise.

1432
1433
	* iface/gspn/ltlgspn.cc: Add option -P.

1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
2004-01-08  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	Run valgrind in test cases.
	* src/tgbatest/defs.in (VALGRIND, run): Define.
	* src/tgbatest/bddprod.test, src/tgbatest/dupexp.test,
	src/tgbatest/emptchk.test, src/tgbatest/emptchke.test,
	src/tgbatest/explicit.test, src/tgbatest/explpro2.test,
	src/tgbatest/explpro3.test, src/tgbatest/explprod.test,
	src/tgbatest/ltl2tgba.test, src/tgbatest/ltlprod.test,
	src/tgbatest/mixprod.test, src/tgbatest/readsave.test,
	src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test: Use run().

1446
1447
2004-01-06  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
	* iface/gspn/eesrg.cc (format_state): Do not rewrite \n's,
	just strip the last one.  Escaping must be done at output.
	* iface/gspn/gspm.cc (format_state): Likewise.
	* src/misc/escape.hh, src/misc/escape.cc: New files.
	* src/misc/Makefile.am: Add them.
	* src/tgba/bddprint.cc (bdd_format_accset): New function.
	* src/tgba/bddprint.hh (bdd_format_accset): New function.
	* src/tgbaalgos/dotty.cc (dotty_bfs::process_state):
	Escape the state name using escape_str().
	(dotty_bfs::process_link): Escape conditions and acceptance
	conditions using escape_str().
	* src/tgbaalgos/save.cc (save_bfs::start): Call print_acc().
	(save_bfs::print_acc): New function extracted from save_bfs::start().
	Escape each acceptance condition.
	(save_bfs::process_state): Use escape_str() and print_acc()

1464
1465
1466
1467
1468
1469
1470
1471
	* src/ltlvisit/tostring.cc
	(to_string_visitor::visit(const atomic_prop*)): Quote propositions
	that start with F, G, or X.
	* src/ltltest/tostring.test: Test quoted propositions.
	* src/tgbaalgos/save.cc (save_bfs::process_state): Escape " and \
	characters in formulae.
	* src/tgbatest/readsave.test: Test for this.

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

1474
1475
1476
1477
	* iface/gspn/eesrg.cc (tgba_gspn_eesrg::all_acceptance_conditions,
	tgba_gspn_eesrg::neg_acceptance_conditions): Forward to
	data_->operand.

1478
1479
1480
	* src/tgbaalgos/emptinesscheck.cc (emptiness_check::complete_cycle):
	Do not skip this computation if from == to but the period is empty.

1481
1482
1483
	* iface/gspn/eesrg.cc (state_gspn_eesrg::clone): Clone the right
	state.

1484
1485
1486
	* iface/gspn/ltleesrg.cc: Emptinesscheck the full product, not
	the control automaton.

1487
1488
1489
	* iface/gspn/eesrg.cc (tgba_gspn_eesrg::project_state): New method.
	* iface/gspn/eesrg.hh: Likewise.

1490
1491
2004-01-05  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1492
1493
1494
1495
1496
1497
	* src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh: New files.
	* src/tgbaalgos/Makefile.am: Add them.
	* src/tgbatest/powerset.cc: New file.
	* src/tgbatest/Makefile.am: Construct powerset and expldot from
	powerset.cc.

1498
1499
1500
1501
	* src/tgbaalgos/reachiter.cc (tgba_reachable_iterator::run)
	Reuse s->second to avoid a hash lookup.
	* src/tgbaalgos/save.cc (save_bfs::process_state): Delete dest.

1502
1503
1504
1505
1506
	* src/ltlparse/Makefile.am ($(FROM_LTLPARSE_YY_MAIN)):
	Use $(FROM_LTLPARSE_YY_MAIN), not $@, because $@ can contains
	VPATH and we do not want Bison to see absolute paths.
	* src/tgbaparse/Makefile.am ($(FROM_TGBAPARSE_YY_MAIN)): Likewise.

1507
1508
1509
1510
1511
	* src/ltltest/parseerr.test: Adjust.
	* src/ltlparse/ltlparse.yy: Simplify error handling now that Bison
	will call destructors.  Give each operator a full name, so that
	Bison uses it in error messages.

1512
1513
2003-12-30  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1514
1515
1516
1517
	* iface/gspn/ltleesrg.cc: New file.
	* iface/gspn/Makefile.am (check_PROGRAMS): Add ltleesrg.
	(ltleesrg_LDADD, ltleesrg_SOURCES): New variables.

1518
	* src/ltltest/defs.in (run): Rerun valgrind with --leak-check=yes.
1519
1520
	* src/ltlparse/ltlparse.yy: Add `%destructor's.

1521
1522
2003-12-29  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
	* src/ltltest/defs.in (run): New function, run valgrind.
	* src/ltltest/equals.test, src/ltltest/lunabbrev.test,
	src/ltltest/nenoform.test, src/ltltest/parse.test,
	src/ltltest/parseerr.test, src/ltltest/tostring.test,
	src/ltltest/tunabbrev.test, src/ltltest/tunenoform.test: Use run().
	* Makefile.am (EXTRA_DIST): Don't list the m4/*.m4 files,
	Automake 1.8 find them automatically.
	* configure.ac: Require Automake 1.8, in gnits mode, and check
	for valgrind.
	* THANKS: New empty file.

1534
1535
1536
1537
1538
	* doc/Doxyfile.in: Upgrade to Doxygen 1.3.5.  Build
	documentation for iface/.
	* dox/mainpage.dox: Fix reference to ltl_to_tgba.
	* src/ltlenv/environment.hh: Typo.

1539
1540
1541
1542
1543
1544
1545
1546
2003-12-03  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh
	(tgba_explicit::merge_transitions): New method.
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Factorize all
	variables (not just Next and A) when computing prime implicants,
	and then call merge_transitions().

1547
1548
2003-12-01  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1549
1550
	* configure.ac: Bump version to 0.0m.

1551
1552
1553
1554
	* configure.ac, NEWS: Bump version to 0.0l.
	* doc/Makefile.am ($(srcdir)/spotref.pdf): Do not assume spot.latex is
	in the srcdir.

1555
1556
2003-11-28  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1557
1558
1559
1560
1561
1562
1563
	* src/tgbaparse/tgbaparse.yy (cond_list): Simplify into...
	(condition): ... this.  We now accept only one condition, which
	is a formula.
	* src/tgba/tgbaexplicit.hh (tgba_explicit::add_neg_condition,
	tgba_explicit::get_condition): Remove, unused.
	* src/tgba/tgbaexplicit.cc: Likewise.

1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
	* iface/gspn/eesrg.cc, iface/gspn/eesrg.hh, iface/gspn/gspn.cc,
	iface/gspn/gspn.hh, src/tgba/bdddict.cc, src/tgba/bdddict.hh,
	src/tgba/bddprint.hh, src/tgba/succiter.hh,
	src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh,
	src/tgba/tgba.hh, src/tgba/tgbabddconcrete.cc,
	src/tgba/tgbabddconcrete.hh, src/tgba/tgbabddconcretefactory.cc,
	src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbabddcoredata.cc,
	src/tgba/tgbabddcoredata.hh, src/tgba/tgbaexplicit.cc,
	src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.cc,
	src/tgba/tgbaproduct.hh, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
	src/tgbaalgos/dotty.cc, src/tgbaalgos/dupexp.cc,
	src/tgbaalgos/emptinesscheck.cc, src/tgbaalgos/emptinesscheck.hh,
	src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh,
	src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_lacim.cc,
	src/tgbaalgos/save.cc, src/tgbatest/explicit.cc,
	src/tgbatest/ltl2tgba.cc, src/tgbaparse/tgbaparse.yy,
	wrap/python/tests/ltl2tgba.py:
	Rewrite `accepting condition' as `acceptance condition'.
	The symbols which have been renamed are:
	tgba::all_accepting_conditions
	tgba::neg_accepting_conditions
	succ_iterator::current_accepting_conditions
	bdd_dict::register_accepting_variable
	bdd_dict::register_accepting_variables
	bdd_dict::is_registered_accepting_variable
	tgba_bdd_concrete_factory::declare_accepting_condition
	tgba_bdd_core_data::accepting_conditions
	tgba_bdd_core_data::all_accepting_conditions
	tgba_explicit::declare_accepting_condition
	tgba_explicit::complement_all_accepting_conditions
	tgba_explicit::has_accepting_condition
	tgba_explicit::get_accepting_condition
	tgba_explicit::add_accepting_condition
	tgba_explicit::all_accepting_conditions
	tgba_explicit::neg_accepting_conditions
	state_tba_proxy::acceptance_cond
	accepting_cond_splitter

1602
1603
2003-11-26  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1604
1605
1606
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_trad_visitor::visit) <G>:
	Optimize translation of GFy.

1607
1608
1609
1610
1611
1612
1613
	* src/tgba/bddprint.cc (print_accset_handler, bdd_print_accset): New
	functions.
	* src/tgba/bddprint.cc (bdd_print_accset): Declare it.
	* src/tgbaalgos/dotty.cc (dotty_bfs::process_link): Use it.
	* src/tgbatest/tgbaread.test, src/tgbatest/explicit.test: Adjust
	expected output.

1614
1615
1616
1617
1618
2003-11-25  Alexandre Duret-Lutz  <adl@src.lip6.fr>

	* src/tgbaparse/tgbaparse.yy: Remove a random character.
	* src/tgba/formula2bdd.cc: Include cassert.

1619
1620
2003-11-24  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
	Explicit automata can now have arbitrary logic formula on their
	arcs.  ltl2tgba_fm benefits from this and join multiple arcs with
	the same destination and acceptance conditions.
	* src/tgba/formula2bdd.cc, src/tgba/formula2bdd.hh: New files.
	* src/tgba/Makefile.am (tgba_HEADERS, libtgba_la_SOURCES): Add them.
	* src/tgba/bddprint.cc, src/tgba/bddprint.hh (bdd_pring_formula,
	bdd_format_formula): New functions.
	* src/tgba/tgbaexplicit.hh (tgba_explicit::get_condition,
	tgba_explicit::add_condition, tgba_explicit::add_neg_condition,
	tgba_explicit::declare_accepting_condition,
	tgba_explicit::has_accepting_condition,
	tgba_explicit::get_accepting_condition,
	tgba_explicit::add_accepting_condition): Take a const formula*.
	* src/tgba/tgbaexplicit.cc (tgba_explicit::add_condition):
	Rewrite using formula_to_bdd.
	* src/tgbaalgos/dotty.cc (dotty_bfs::process_link): Use
	bdd_print_formula to display conditions.
	* src/tgbaalgos/save.cc (save_bfs::process_state): Likewise.
	* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict::bdd_to_formula):
	New function.
	(translate_dict::conj_bdd_to_atomic_props): Remove.
	(ltl_to_tgba_fm): Factor successors on accepting conditions
	and destinations, not conditions.  Use bdd_to_formula to translate
	the conditions.
	* src/tgbaparse/tgbaparse.yy: Expect conditions as a formula
	in a string, call the LTL parser for this.
	* src/tgbaparse/tgbascan.ll: Process \" and \\ escapes in
	strings.
	* src/tgbatest/emptchke.test, src/tgbatest/explicit.test,
	src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
	src/tgbatest/explprod.test, src/tgbatest/mixprod.test,
	src/tgbatest/readsave.test, src/tgbatest/tgbaread.test,
	src/tgbatest/tripprod.test: Adjust to new syntax for explicit
	automata.

1656
1657
1658
1659
1660
1661
1662
	* src/misc/minato.hh (minato_isop(bdd,bdd)): New constructor variant.
	(minato_isop::local_vars::vars): New attribute.
	(minato_isop::local_vars::local_vars): Add the vars arguments.
	(minato_isop::todo, minato_isop::cube, minato_isop::ret): Rename as ...
	(minato_isop::todo_, minato_isop::cube_, minato_isop::ret_): ... these.
	* src/misc/minato.cc: Adjust to factorize only variables in vars.

1663
1664
1665
	* m4/devel.m4: Fix quoting and simplify default setting of
	enable_devel.

1666
1667
2003-11-21  Alexandre Duret-Lutz  <adl@src.lip6.fr>

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
1668
1669
1670
	* AUTHORS: New file.
	* configure.ac (AM_INIT_AUTOMAKE): Remove `foreign' option.

Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
	* COPYING: New file.
	* Makefile.am, configure.ac, doc/Makefile.am, iface/Makefile.am,
	iface/gspn/Makefile.am, iface/gspn/common.cc,
	iface/gspn/common.hh, iface/gspn/dottyeesrg.cc,
	iface/gspn/dottygspn.cc, iface/gspn/eesrg.cc, iface/gspn/eesrg.hh,
	iface/gspn/gspn.cc, iface/gspn/gspn.hh, iface/gspn/ltlgspn.cc,
	src/Makefile.am, src/ltlast/Makefile.am, src/ltlast/allnodes.hh,
	src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh,
	src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/constant.cc,
	src/ltlast/constant.hh, src/ltlast/formula.cc,
	src/ltlast/formula.hh, src/ltlast/multop.cc, src/ltlast/multop.hh,
	src/ltlast/predecl.hh, src/ltlast/refformula.cc,
	src/ltlast/refformula.hh, src/ltlast/unop.cc, src/ltlast/unop.hh,
	src/ltlast/visitor.hh, src/ltlenv/Makefile.am,
	src/ltlenv/defaultenv.cc, src/ltlenv/defaultenv.hh,
	src/ltlenv/environment.hh, src/ltlparse/Makefile.am,
	src/ltlparse/fmterror.cc, src/ltlparse/ltlparse.yy,
	src/ltlparse/ltlscan.ll, src/ltlparse/parsedecl.hh,
	src/ltlparse/public.hh, src/ltltest/Makefile.am,
	src/ltltest/defs.in, src/ltltest/equals.cc,
	src/ltltest/equals.test, src/ltltest/lunabbrev.test,
	src/ltltest/nenoform.test, src/ltltest/parse.test,
	src/ltltest/parseerr.test, src/ltltest/readltl.cc,
	src/ltltest/tostring.cc, src/ltltest/tostring.test,
	src/ltltest/tunabbrev.test, src/ltltest/tunenoform.test,
	src/ltlvisit/Makefile.am, src/ltlvisit/clone.cc,
	src/ltlvisit/clone.hh, src/ltlvisit/destroy.cc,
	src/ltlvisit/destroy.hh, src/ltlvisit/dotty.cc,
	src/ltlvisit/dotty.hh, src/ltlvisit/dump.cc, src/ltlvisit/dump.hh,
	src/ltlvisit/lunabbrev.cc, src/ltlvisit/lunabbrev.hh,
	src/ltlvisit/nenoform.cc, src/ltlvisit/nenoform.hh,
	src/ltlvisit/postfix.cc, src/ltlvisit/postfix.hh,
	src/ltlvisit/tostring.cc, src/ltlvisit/tostring.hh,
	src/ltlvisit/tunabbrev.cc, src/ltlvisit/tunabbrev.hh,
	src/misc/Makefile.am, src/misc/bddalloc.cc, src/misc/bddalloc.hh,
	src/misc/bddlt.hh, src/misc/hash.hh, src/misc/minato.cc,
	src/misc/minato.hh, src/misc/version.cc, src/misc/version.hh,
	src/tgba/Makefile.am, src/tgba/bdddict.cc, src/tgba/bdddict.hh,
	src/tgba/bddprint.cc, src/tgba/bddprint.hh, src/tgba/public.hh,
	src/tgba/state.hh, src/tgba/statebdd.cc, src/tgba/statebdd.hh,
	src/tgba/succiter.hh, src/tgba/succiterconcrete.cc,
	src/tgba/succiterconcrete.hh, src/tgba/tgba.cc, src/tgba/tgba.hh,
	src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
	src/tgba/tgbabddconcretefactory.cc,
	src/tgba/tgbabddconcretefactory.hh,
	src/tgba/tgbabddconcreteproduct.cc,
	src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbabddcoredata.cc,
	src/tgba/tgbabddcoredata.hh, src/tgba/tgbabddfactory.hh,
	src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh,
	src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh,
	src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
	src/tgbaalgos/Makefile.am, src/tgbaalgos/dotty.cc,
	src/tgbaalgos/dotty.hh, src/tgbaalgos/dupexp.cc,
	src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptinesscheck.cc,
	src/tgbaalgos/emptinesscheck.hh, src/tgbaalgos/lbtt.cc,
	src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2tgba_fm.cc,
	src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.cc,
	src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/magic.cc,
	src/tgbaalgos/magic.hh, src/tgbaalgos/reachiter.cc,
	src/tgbaalgos/reachiter.hh, src/tgbaalgos/save.cc,
	src/tgbaalgos/save.hh, src/tgbaparse/Makefile.am,
	src/tgbaparse/fmterror.cc, src/tgbaparse/parsedecl.hh,
	src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy,
	src/tgbaparse/tgbascan.ll, src/tgbatest/Makefile.am,
	src/tgbatest/bddprod.test, src/tgbatest/defs.in,
	src/tgbatest/dupexp.test, src/tgbatest/emptchk.test,
	src/tgbatest/emptchke.test, src/tgbatest/explicit.test,
	src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
	src/tgbatest/explprod.test, src/tgbatest/ltl2tgba.test,
	src/tgbatest/ltlprod.test, src/tgbatest/mixprod.test,
	src/tgbatest/readsave.test, src/tgbatest/spotlbtt.test,
	src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test,
	wrap/Makefile.am, wrap/python/Makefile.am, wrap/python/buddy.i,
	wrap/python/spot.i, wrap/python/cgi/Makefile.am,
	wrap/python/cgi/ltl2tgba.in, wrap/python/tests/Makefile.am,
	wrap/python/tests/bddnqueen.py, wrap/python/tests/interdep.py,
	wrap/python/tests/ltl2tgba.py, wrap/python/tests/ltl2tgba.test,
	wrap/python/tests/ltlparse.py, wrap/python/tests/ltlsimple.py,
	wrap/python/tests/run.in: Add Copyright license.

1751
1752
	* src/misc/minato.cc: Include cassert.

1753
1754
1755
1756
	* src/misc/minato.cc, src/misc/minato.hh: New files.
	* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them.
	* src/tgbaalgos/ltl2tgba_fm.cc (ltl_to_tgba_fm): Use minato_isop.

1757
1758
2003-11-14  Alexandre Duret-Lutz  <adl@src.lip6.fr>

1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
	* src/ltltest/Makefile.am (AM_CXXFLAGS): New variable.
	* tgba/bdddict.hh (bdd_dict::register_propositions,
	bdd_dict::register_accepting_variables): New methods.
	* src/bdddict.cc: Likewise.
	* tgba/tgbaexplicit.cc (tgba_explicit::add_conditions,
	tgba_explicit::add_accepting_conditions): New methods.
	(tgba_explicit::get_init_state): Add an "empty" initial
	state to empty automata.
	* tgba/tgbaexplicit.hh: (tgba_explicit::add_conditions,
	tgba_explicit::add_accepting_conditions): New methods.
	* tgbaalgos/Makefiles.am (tgbaalgos_HEADERS, libtgbaalgos_la_SOURCES):
	Add dupexp.hh and dupexp.cc.
	* tgbaalgos/dupexp.hh, tgbaalgos/dupexp.cc: New files.
	* tgbatest/Makefile.am (AM_CXXFLAGS): New variable.
	(check_SCRIPTS): Add dupexp.test.
	(CLEANFILES): Add output1 and output2.
	* tgbatest/dupexp.test: New file.
	* tgbatest/ltl2tgba.cc: Handle -s and -S.
	* tgbatest/tgbaread.cc: Remove unused variable exit_code.