Introduce [=min..max] operator.

* src/ltlast/bunop.hh: Declare bunop::Equal
* src/ltlast/bunop.cc: Handle it.
* src/ltlparse/ltlparse.yy,
src/ltlparse/ltlscan.ll: Add rules for [=min..max].
* src/tgbaalgos/ltl2tgba_fm.cc: Handle bunop::Equal in
the translation.
* src/ltltest/equals.test: Test trivial identities
for [=min..max].
* src/tgbatest/ltl2tgba.test: Add new formulae to test.
This commit is contained in:
Alexandre Duret-Lutz 2010-10-14 18:51:34 +02:00
parent d7781bc4d6
commit 8d4a413a37
7 changed files with 236 additions and 91 deletions

View file

@ -139,3 +139,14 @@ run 0 ../equals '{a[+][*1..3]}' '{a[+]}'
run 0 ../equals '{a[*1..3][+]}' '{a[+]}'
run 0 ../equals '{[*2][+]}' '{[*2][+]}'
run 0 ../equals '{[+][*2]}' '{[*2..]}'
run 0 ../equals '{0[=2]}' '0'
run 0 ../equals '{0[=2..]}' '0'
run 0 ../equals '{0[=1..10]}' '0'
run 0 ../equals '{0[=0]}' '{[*]}'
run 0 ../equals '{0[=0..10]}' '{*}'
run 0 ../equals '{0[=0..]}' '{*}'
run 0 ../equals '{1[=0]}' '{[*0]}'
run 0 ../equals '{1[=1..2]}' '{[*1..2]}'
run 0 ../equals '{1[=..4]}' '{1[*..4]}'
run 0 ../equals '{b[=0]}' '{(!b)[*]}'