Use [*0] instead of #e, and support [*] in addition to *.

* src/ltlparse/ltlscan.ll: Recognize [*] as *, and use
[*0] instead of #e for the empty word.
* src/ltlast/binop.cc, src/ltlast/constant.cc,
src/ltlast/multop.cc, src/ltlast/multop.hh, src/ltlast/unop.cc,
src/ltlast/unop.hh, src/ltltest/consterm.test,
src/ltltest/equals.test: Adjust all occurrences of #e to [*0].
* src/tgbatest/ltl2tgba.test: Also use [*].
This commit is contained in:
Alexandre Duret-Lutz 2010-03-09 16:08:38 +01:00
parent 4e7233d9fa
commit 8b8633de8c
10 changed files with 41 additions and 42 deletions

View file

@ -120,8 +120,8 @@ namespace spot
// Some trivial simplifications.
switch (op)
{
// We have (0*) == (#e)
// (#e*) == (#e)
// We have (0*) == ([*0])
// ([*0]*) == ([*0])
case Star:
if (child == constant::false_instance()
|| child == constant::empty_word_instance())
@ -145,7 +145,7 @@ namespace spot
if (child == constant::false_instance()
|| child == constant::true_instance())
return child;
// F(#e) = G(#e) = 1
// F([*0]) = G([*0]) = 1
if (child == constant::empty_word_instance())
return constant::true_instance();
}
@ -192,7 +192,7 @@ namespace spot
if (child == constant::true_instance()
|| child == constant::false_instance())
return child;
// X(#e) = 1
// X([*0]) = 1
if (child == constant::empty_word_instance())
return constant::true_instance();
break;