Support non-overlapping concatenations operators []=> and <>=>.

* src/ltlparse/ltlscan.ll: Recognize "[]=>" (a.k.a "|=>") and "<>=>".
* src/ltlparse/ltlparse.yy: Support them by rewriting them using
"[]->" and "<>->".
* src/tgbatest/ltl2tgba.test: More tests.
This commit is contained in:
Alexandre Duret-Lutz 2010-03-10 15:47:04 +01:00
parent 4aa82ec762
commit 4bde130d38
3 changed files with 32 additions and 5 deletions

View file

@ -76,13 +76,14 @@ check_psl '{a;b}'
check_psl '{(a;b)*}'
check_psl 'G{(a;b)*}'
check_psl '{a*}[]->{b*}'
check_psl '{a*}[]=>{b*}'
check_psl '{a*&b}'
check_psl '{a*&b*}'
check_psl '{((!c;b*) & d);e}'
check_psl '{(a* & (c;b*) & d);e}'
# Example from "Beyond Hardware Verification" by Glazberg, Moulin, Orni,
# Ruah, Zarpas (2007).
check_psl '{1[*];req;ack;1}[]->{start;busy[*];done}'
check_psl '{1[*];req;ack}|=>{start;busy[*];done}'
# Make sure 'a U (b U c)' has 3 states and 6 transitions,
# before and after degeneralization.