* src/ltlparse/ltlscan.ll: Allow /, /, and xor, used in LBTT.

* src/ltltest/parse.test: Test them.
This commit is contained in:
Alexandre Duret-Lutz 2003-07-29 16:28:38 +00:00
parent 60ef421dd5
commit a66ad58b5d
3 changed files with 15 additions and 6 deletions

View file

@ -1,5 +1,8 @@
2003-07-29 Alexandre Duret-Lutz <aduret@src.lip6.fr> 2003-07-29 Alexandre Duret-Lutz <aduret@src.lip6.fr>
* src/ltlparse/ltlscan.ll: Allow /\, \/, and xor, used in LBTT.
* src/ltltest/parse.test: Test them.
* src/tgbaalgos/lbtt.cc: Typos. * src/tgbaalgos/lbtt.cc: Typos.
* lbtt/: Upgrade to lbtt 1.0.2. * lbtt/: Upgrade to lbtt 1.0.2.

View file

@ -40,10 +40,12 @@ flex_set_buffer(const char *buf)
")" return PAR_CLOSE; ")" return PAR_CLOSE;
"!" return OP_NOT; "!" return OP_NOT;
/* & and | come from Spin. && and || from LTL2BA. */ /* & and | come from Spin. && and || from LTL2BA.
"||"|"|"|"+" return OP_OR; /\, \/, and xor are from LBTT.
"&&"|"&"|"."|"*" return OP_AND; */
"^" return OP_XOR; "||"|"|"|"+"|"\\/" return OP_OR;
"&&"|"&"|"."|"*"|"/\\" return OP_AND;
"^"|"xor" return OP_XOR;
"=>"|"->" return OP_IMPLIES; "=>"|"->" return OP_IMPLIES;
"<=>"|"<->" return OP_EQUIV; "<=>"|"<->" return OP_EQUIV;
@ -62,7 +64,8 @@ flex_set_buffer(const char *buf)
/* An Atomic proposition cannot start with the letter /* An Atomic proposition cannot start with the letter
used by a unary operator (F,G,X), unless this used by a unary operator (F,G,X), unless this
letter is followed by a digit in which case we assume letter is followed by a digit in which case we assume
it's an ATOMIC_PROP (even though F0 could be seen as Ffalse). */ it's an ATOMIC_PROP (even though F0 could be seen as Ffalse, we
don't). */
[a-zA-EH-WYZ_][a-zA-Z0-9_]* | [a-zA-EH-WYZ_][a-zA-Z0-9_]* |
[FGX][0-9_][a-zA-Z0-9_]* { [FGX][0-9_][a-zA-Z0-9_]* {
yylval->str = new std::string(yytext); yylval->str = new std::string(yytext);

View file

@ -21,13 +21,16 @@ for f in \
'a3214 | b' \ 'a3214 | b' \
'a & b' \ 'a & b' \
'a && b' \ 'a && b' \
'a /\ b' \
'a || b' \ 'a || b' \
'a \/ b' \
'a | b' \ 'a | b' \
'_a_ U b' \ '_a_ U b' \
'a R b' \ 'a R b' \
'a <=> b' \ 'a <=> b' \
'a <-> b' \ 'a <-> b' \
'a ^ b' \ 'a ^ b' \
'a xor b' \
'a => b' \ 'a => b' \
'a -> b' \ 'a -> b' \
'F b' \ 'F b' \
@ -44,7 +47,7 @@ for f in \
'((b * a) + a) & d' \ '((b * a) + a) & d' \
'(ab & ac | ad ) <=> af ' \ '(ab & ac | ad ) <=> af ' \
'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' \ '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' \ '(ab * !Xad + ad U ab) & FG p12 /\ GF p13' \
'((([]<>()p12)) )' \ '((([]<>()p12)) )' \
'a R ome V anille' 'a R ome V anille'
do do