* src/ltlparse/ltlparse.yy (OP_POST_NEG, OP_POST_POS): New tokens.
(subformula): Recognize `ATOMIC_PROP OP_POST_POS' and `ATOMIC_PROP OP_POST_NEG'. * src/ltlparse/ltlscan.ll: Introduce the not_prop start condition, to restrict the set of atomic propositions allowed in places where they are not expected. Make `true' and `false' case insensitive. * src/ltltest/parse.test, src/ltltest/tostring.test: More cases. * src/ltlvisit/tostring.cc (to_string_visitor): Quote atomic propositions equal to "true" or "false".
This commit is contained in:
parent
4f96a9fc14
commit
60a3b4ed72
6 changed files with 125 additions and 34 deletions
|
|
@ -1,5 +1,5 @@
|
|||
#! /bin/sh
|
||||
# Copyright (C) 2003 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
# et Marie Curie.
|
||||
#
|
||||
|
|
@ -70,7 +70,11 @@ for f in \
|
|||
'a U b U c U d U e U f U g U h U i U j U k U l U m' \
|
||||
'(ab * !Xad + ad U ab) & FG p12 /\ GF p13' \
|
||||
'((([]<>()p12)) )' \
|
||||
'a R ome V anille'
|
||||
'a R ome V anille' \
|
||||
'p=0Uq=1' \
|
||||
'((p=1Rq=1)+p=0)UXq=0' \
|
||||
'((X(p2=0))U(X(p2=0)))+((Xp1=0)UFALSE)'
|
||||
|
||||
do
|
||||
if ./ltl2text "$f"; then
|
||||
:
|
||||
|
|
|
|||
|
|
@ -45,3 +45,9 @@ run 0 ./tostring 'b & a & a & (c | e |(g U g)| e | c) & b'
|
|||
run 0 ./tostring 'F"F1"&G"G"&X"X"'
|
||||
run 0 ./tostring 'GFfalse'
|
||||
run 0 ./tostring 'GFtrue'
|
||||
run 0 ./tostring 'p=0Uq=1Ut=1'
|
||||
run 0 ./tostring 'F"FALSE"'
|
||||
run 0 ./tostring 'G"TruE"'
|
||||
run 0 ./tostring 'FFALSE'
|
||||
run 0 ./tostring 'GTruE'
|
||||
run 0 ./tostring 'p=0UFXp=1'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue