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

@ -70,8 +70,8 @@ run 0 ../equals 'a & b ^ c | d' 'd | c ^ b & a'
run 0 ../equals 'FFG__GFF' 'F(F(G("__GFF")))'
# Trivial simplifications
run 0 ../equals '{0*}<>->a' '{#e}<>->a'
run 0 ../equals '{#e*}<>->a' '{#e}<>->a'
run 0 ../equals '{0*}<>->a' '{[*0]}<>->a'
run 0 ../equals '{[*0]*}<>->a' '{[*0]}<>->a'
run 0 ../equals '{Exp**}<>->a' '{Exp*}<>->a'
run 0 ../equals 'FF(Exp)' 'F(Exp)'
run 0 ../equals 'GG(Exp)' 'G(Exp)'
@ -79,8 +79,8 @@ run 0 ../equals 'F(0)' '0'
run 0 ../equals 'G(0)' '0'
run 0 ../equals 'F(1)' '1'
run 0 ../equals 'G(1)' '1'
run 0 ../equals 'F({#e}<>->1)' 'F({#e}<>->1)'
run 0 ../equals 'G({#e}<>->1)' 'G({#e}<>->1)'
run 0 ../equals 'F({[*0]}<>->1)' 'F({[*0]}<>->1)'
run 0 ../equals 'G({[*0]}<>->1)' 'G({[*0]}<>->1)'
run 0 ../equals 'F({1}<>->1)' '1'
run 0 ../equals 'G({1}<>->1)' '1'
run 0 ../equals '!1' '0'
@ -107,15 +107,15 @@ run 0 ../equals GGx Gx
run 0 ../equals GGGGGx Gx
run 0 ../equals '!!x' x
run 0 ../equals '!!!!!x' '!x'
run 0 ../equals '{#e;x}<>->1' '{x}<>->1'
run 0 ../equals '{x;#e}<>->1' '{x}<>-> 1'
run 0 ../equals '{#e;x;#e;#e}<>->1' '{x}<>->1'
run 0 ../equals '{#e;x;#e;x;#e}<>->1' '{x;x}<>->1'
run 0 ../equals '{x;x;x;#e;x;x}<>->1' '{x;x;x;x;x}<>->1'
run 0 ../equals '{[*0];x}<>->1' '{x}<>->1'
run 0 ../equals '{x;[*0]}<>->1' '{x}<>-> 1'
run 0 ../equals '{[*0];x;[*0];[*0]}<>->1' '{x}<>->1'
run 0 ../equals '{[*0];x;[*0];x;[*0]}<>->1' '{x;x}<>->1'
run 0 ../equals '{x;x;x;[*0];x;x}<>->1' '{x;x;x;x;x}<>->1'
run 0 ../equals '{x;0;x;x;x}<>->1' '0'
run 0 ../equals '{x;0;x;x;x}[]->1' '1'
run 0 ../equals '{0*;1}<>->x' 'x'
run 0 ../equals '{#e*;1}<>->x' 'x'
run 0 ../equals '{[*0]*;1}<>->x' 'x'
run 0 ../equals '{x;x}<>->FF(0)' '0'
run 0 ../equals '{x;x}<>->GX(1)' '{x;x}<>->1'
run 0 ../equals '{x;x}[]->GX(1)' '1'