File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed
Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ start : invariants
2+
3+ invariants : (invariant / \n + / )+ -> multiple_invariants
4+
5+ invariant : " loop" / \s + / " invariant" / \s + / pred " ;" -> invariant
6+
7+ STRING : / "( [^ " \\ ]| \\ . ) * "/
8+
9+ INTEGER : / [0-9 ]+ /
10+
11+ REAL : / [0-9 ]+ \. [0-9 ]+ /
12+
13+ CHAR : / '( [^ ' \\ ]| \\ . ) '/
14+
15+ TRUE : " \t rue"
16+
17+ FALSE : " \f alse"
18+
19+ IDENTIFIER : / [a-zA-Z_ ][a-zA-Z0-9_ ]* /
20+
21+ unary_logic_op : " ~"
22+
23+ bin_logic_op : " &&" | " ||" | " =>" | " <=>"
24+
25+ rel_arith_op : " ==" | " !=" | " <" | " <=" | " >" | " >="
26+
27+ unary_arith_op : " -"
28+
29+ bin_arith_op : " +" | " -" | " *" | " /" | " %" | " ^"
30+
31+ expr : INTEGER
32+ | REAL
33+ | CHAR
34+ | STRING
35+ | IDENTIFIER
36+ | IDENTIFIER / \s + / " (" / \s + / expr / \s + / (" ," / \s + / expr )* / \s + / " )"
37+ | " (" / \s + / expr / \s + / " )"
38+ | unary_arith_op / \s + / expr
39+ | expr / \s + / bin_arith_op / \s + / expr
40+ | expr / \s + / " ?" / \s + / expr / \s + / " :" / \s + / expr
41+
42+ pred : TRUE
43+ | FALSE
44+ | " (" / \s + / pred / \s + / " )"
45+ | expr
46+ | unary_logic_op / \s + / pred
47+ | pred / \s + / bin_logic_op / \s + / pred
48+ | expr / \s + / rel_arith_op / \s + / expr
You can’t perform that action at this time.
0 commit comments