Accept more syntaxes as range specifications for [*], [=], and [->].

* src/ltlparse/ltlscan.ll (OP_SQBKT_SEP): Accept ":" and "to"
in addition to ".." and ",".
(OP_UNBOUNDED): Recognize "$" for the rule below.
* src/ltlparse/ltlparse.yy: Accept [OP1:$] as a synonym
for [OP1:], for people used to SVA's syntax.
* src/ltltest/equals.test: Test these syntaxes.
This commit is contained in:
Alexandre Duret-Lutz 2010-10-15 16:38:30 +02:00
parent 4fd4f83ed6
commit 754ff36b01
3 changed files with 22 additions and 13 deletions

View file

@ -127,13 +127,13 @@ run 0 ../equals '{a[*0]}' '{[*0]}'
run 0 ../equals '{a[*..]}' '{a[*]}'
run 0 ../equals '{a[*2..3][*4..5]}' '{a[*8..15]}'
run 0 ../equals '{a[*4..5][*2..3]}' '{a[*4..5][*2..3]}'
run 0 ../equals '{a[*2..3][*]}' '{a[*2..3][*]}'
run 0 ../equals '{a[*2:3][*]}' '{a[*2 to 3][*]}'
run 0 ../equals '{a[*1..3][*]}' '{a[*]}'
run 0 ../equals '{a[*][*2..3]}' '{a[*]}'
run 0 ../equals '{a[*..3][*2]}' '{a[*..6]}'
run 0 ../equals '{a[*..3][*..2]}' '{a[*..6]}'
run 0 ../equals '{a[*..3][*2..]}' '{a[*]}'
run 0 ../equals '{a[*..3][*2..]}' '{a[*]}'
run 0 ../equals '{a[*..3][*to2]}' '{a[*:6]}'
run 0 ../equals '{a[*..3][*2..$]}' '{a[*]}'
run 0 ../equals '{a[*..3][*2:]}' '{a[*]}'
run 0 ../equals '{a[*1..]}' '{a[+]}'
run 0 ../equals '{a[+][*1..3]}' '{a[+]}'
run 0 ../equals '{a[*1..3][+]}' '{a[+]}'
@ -147,15 +147,15 @@ 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[=1..2]}' '{[*1,2]}'
run 0 ../equals '{1[=..4]}' '{1[*..4]}'
run 0 ../equals '{b[=0]}' '{(!b)[*]}'
run 0 ../equals '{b[=0..]}' '{*}'
run 0 ../equals '{b[=0to$]}' '{*}'
run 0 ../equals '{0[->10..100];b}' '0'
run 0 ../equals '{0[->1..];b}' '0'
run 0 ../equals '{0[->0..100];b}' '{b}'
run 0 ../equals '{0[->0..];b}' '{b}'
run 0 ../equals '{0[->0,100];b}' '{b}'
run 0 ../equals '{0[->0..$];b}' '{b}'
run 0 ../equals '{1[->0];b}' '{b}'
run 0 ../equals '{1[->10,20];b}' '{[*10..20];b}'
run 0 ../equals '{1[->..];b}' '{[*1..];b}'