Skip to content
Snippets Groups Projects
Commit 6fcf509c authored by Virgile Prevosto's avatar Virgile Prevosto
Browse files

[parsing] add missing cases in wildcard rules of ACSL parser

parent 83f9f710
No related branches found
No related tags found
No related merge requests found
...@@ -1145,7 +1145,13 @@ contract: ...@@ -1145,7 +1145,13 @@ contract:
// use that to detect potentially missing ';' at end of clause // use that to detect potentially missing ';' at end of clause
clause_kw: clause_kw:
| ADMIT_REQUIRES { "admit requires" } | ADMIT_REQUIRES { "admit requires" }
| ADMIT_INVARIANT { "admit invariant" }
| ADMIT_LEMMA { "admit lemma" }
| ADMIT_LOOP { "admit loop" }
| CHECK_REQUIRES { "check requires" } | CHECK_REQUIRES { "check requires" }
| CHECK_INVARIANT { "check invariant" }
| CHECK_LEMMA { "check lemma" }
| CHECK_LOOP { "check loop" }
| REQUIRES { "requires" } | REQUIRES { "requires" }
| ASSUMES {"assumes"} | ASSUMES {"assumes"}
| ASSIGNS { "assigns" } | ASSIGNS { "assigns" }
...@@ -1495,6 +1501,8 @@ beg_pragma_or_code_annotation: ...@@ -1495,6 +1501,8 @@ beg_pragma_or_code_annotation:
| INVARIANT {} | INVARIANT {}
| CHECK_INVARIANT {} | CHECK_INVARIANT {}
| ADMIT_INVARIANT {} | ADMIT_INVARIANT {}
| CHECK_LOOP {}
| ADMIT_LOOP {}
| EXT_CODE_ANNOT {} | EXT_CODE_ANNOT {}
; ;
...@@ -1871,7 +1879,7 @@ identifier_or_typename: /* allowed as C field names */ ...@@ -1871,7 +1879,7 @@ identifier_or_typename: /* allowed as C field names */
| is_acsl_typename { $1 } | is_acsl_typename { $1 }
| TYPENAME { $1 } /* followed by the same list than 'identifier' */ | TYPENAME { $1 } /* followed by the same list than 'identifier' */
| IDENTIFIER { $1 } | IDENTIFIER { $1 }
/* token list used inside ascl clauses: */ /* token list used inside acsl clauses: */
| BEHAVIORS { "behaviors" } | BEHAVIORS { "behaviors" }
| LABEL { "label" } | LABEL { "label" }
| READS { "reads" } | READS { "reads" }
...@@ -1880,7 +1888,7 @@ identifier_or_typename: /* allowed as C field names */ ...@@ -1880,7 +1888,7 @@ identifier_or_typename: /* allowed as C field names */
identifier: /* part included into 'identifier_or_typename', but duplicated to avoid parsing conflicts */ identifier: /* part included into 'identifier_or_typename', but duplicated to avoid parsing conflicts */
| IDENTIFIER { $1 } | IDENTIFIER { $1 }
/* token list used inside ascl clauses: */ /* token list used inside acsl clauses: */
| BEHAVIORS { "behaviors" } | BEHAVIORS { "behaviors" }
| LABEL { "label" } | LABEL { "label" }
| READS { "reads" } | READS { "reads" }
...@@ -1975,8 +1983,14 @@ is_acsl_decl_or_code_annot: ...@@ -1975,8 +1983,14 @@ is_acsl_decl_or_code_annot:
| IMPACT { "impact" } | IMPACT { "impact" }
| INDUCTIVE { "inductive" } | INDUCTIVE { "inductive" }
| INVARIANT { "invariant" } | INVARIANT { "invariant" }
| ADMIT_INVARIANT { "admit invariant" }
| CHECK_INVARIANT { "check invariant" }
| LEMMA { "lemma" } | LEMMA { "lemma" }
| ADMIT_LEMMA { "admit lemma" }
| CHECK_LEMMA { "check lemma" }
| LOOP { "loop" } | LOOP { "loop" }
| ADMIT_LOOP { "admit loop" }
| CHECK_LOOP { "check loop" }
| PRAGMA { "pragma" } | PRAGMA { "pragma" }
| PREDICATE { "predicate" } | PREDICATE { "predicate" }
| SLICE { "slice" } | SLICE { "slice" }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment