Skip to content

Commit 7e0725b

Browse files
authored
Merge pull request #702 from diffblue/smv-U-R
SMV: parse LTL U and R
2 parents 055e5bb + 722e08f commit 7e0725b

File tree

4 files changed

+16
-4
lines changed

4 files changed

+16
-4
lines changed

regression/ebmc/smv/smv_ltlspec_R1.desc

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1-
KNOWNBUG broken-smt-backend
1+
CORE broken-smt-backend
22
smv_ltlspec_R1.smv
33
--bound 10
4+
^\[.*\] x >= 1 R x = 1: FAILURE: property not supported by BMC engine$
5+
^\[.*\] FALSE R x != 4: FAILURE: property not supported by BMC engine$
6+
^\[.*\] x = 2 R x = 1: FAILURE: property not supported by BMC engine$
7+
^\[.*\] x >= 1 R x = 1 & FALSE R x != 4: FAILURE: property not supported by BMC engine$
8+
^\[.*\] x = 2 R x = 1 & x >= 1 R x = 1: FAILURE: property not supported by BMC engine$
9+
^\[.*\] x = 2 R x = 1 \| x >= 1 R x = 1: FAILURE: property not supported by BMC engine$
410
^EXIT=10$
511
^SIGNAL=0$
612
--
713
^warning: ignoring
814
--
9-
Parsing for LTL R does not work.

regression/ebmc/smv/smv_ltlspec_U1.desc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
KNOWNBUG broken-smt-backend
1+
CORE broken-smt-backend
22
smv_ltlspec_U1.smv
33
--bound 10
4+
\[.*\] x = 1 U x = 2: FAILURE: property not supported by BMC engine$
5+
\[.*\] x != 0 U FALSE: FAILURE: property not supported by BMC engine$
6+
\[.*\] x = 1 U x = 3: FAILURE: property not supported by BMC engine$
7+
\[.*\] x = 1 U x = 2 & x <= 2 U x = 3: FAILURE: property not supported by BMC engine$
8+
\[.*\] x = 1 U x = 2 \| x = 1 U x = 3: FAILURE: property not supported by BMC engine$
49
^EXIT=10$
510
^SIGNAL=0$
611
--
712
^warning: ignoring
813
--
9-
Parsing for LTL U does not work.

src/smvlang/parser.y

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,8 @@ term : variable_name
474474
| F_Token term { init($$, ID_F); mto($$, $2); }
475475
| G_Token term { init($$, ID_G); mto($$, $2); }
476476
| X_Token term { init($$, ID_X); mto($$, $2); }
477+
| term U_Token term { binary($$, $1, ID_U, $3, bool_typet{}); }
478+
| term R_Token term { binary($$, $1, ID_R, $3, bool_typet{}); }
477479
| term EQUAL_Token term { binary($$, $1, ID_equal, $3, bool_typet{}); }
478480
| term NOTEQUAL_Token term { binary($$, $1, ID_notequal, $3, bool_typet{}); }
479481
| term LT_Token term { binary($$, $1, ID_lt, $3, bool_typet{}); }

src/smvlang/scanner.l

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ void newlocation(YYSTYPE &x)
9292
"X" return X_Token;
9393
"G" return G_Token;
9494
"U" return U_Token;
95+
"R" return R_Token;
9596
"next" return NEXT_Token;
9697
"init" return init_Token;
9798
"case" return CASE_Token;

0 commit comments

Comments
 (0)