Add back the '*' syntax for And.

This somehow revert changes from 2010-01-30 which killed this use of
star to make room for the Kleen star.  Here we only allow '*' in the
temporal formula, so that it can still be the Kleen star in SERE.  The
motivation for '*' available as And is better compatibility with Wring
and VIS.

* src/ltlparse/ltlscan.ll: Distinguish * from [*].
* src/ltlparse/ltlparse.yy: Allows * to be used as AND between
temporal formulae.
* src/ltltest/equals.test, src/ltltest/parse.test: Add a few
tests.
* doc/tl/tl.tex: Document it.
This commit is contained in:
Alexandre Duret-Lutz 2012-08-29 18:05:31 +02:00
parent 60ec3acea0
commit 5939d6f493
5 changed files with 33 additions and 9 deletions

View file

@ -51,6 +51,7 @@ run 0 ../equals 'a & a & true' 'a'
run 0 ../equals 'a & false & a' 'false'
run 0 ../equals 'a | false | a' 'a'
run 0 ../equals 'true | a | a' 'true'
run 0 ../equals 'Ga=1*Gb=0' '(G(a)) & (G(!b))'
# other formulae which are not
run 1 ../equals 'a' 'b'

View file

@ -1,5 +1,5 @@
#! /bin/sh
# Copyright (C) 2009, 2010, 2011 Laboratoire de Recherche et Developpement
# Copyright (C) 2009, 2010, 2011, 2012 Laboratoire de Recherche et Developpement
# de l'Epita (LRDE).
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
@ -38,7 +38,7 @@ for f in \
'p11011' \
'(p11011)' \
'a & b' \
'a & _b12' \
'a * _b12' \
'a && .b.' \
'a + b' \
'a3214 | b' \
@ -73,6 +73,8 @@ for f in \
'a R ome V anille' \
'p=0Uq=1' \
'((p=1Rq=1)+p=0)UXq=0' \
'((p=1Rq=1)*p=0)UXq=0' \
'(Gq=1*Fp=0)UXq=0' \
'((p=1Mq=1)Wx+p=0)RXq=0' \
'((p=1Vq=1)Rx+p=0)WXq=0' \
'((X(p2=0))U(X(p2=0)))+((Xp1=0)UFALSE)'