Incorrect grammar of Predicate Application and Function Application
ID0002143: This issue was created automatically from Mantis Issue 2143. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0002143 | Frama-C | Documentation > ACSL | public | 2015-07-06 | 2016-01-26 |
Reporter | gaggarwal | Assigned To | patrick | Resolution | fixed |
Priority | normal | Severity | minor | Reproducibility | always |
Platform | - | OS | - | OS Version | - |
Product Version | Frama-C Sodium | Target Version | Frama-C Magnesium | Fixed in Version | Frama-C Magnesium |
Description :
Following is the grammar of Function Application in acsl-1.9.pdf in Fig 2.1:
term :: = id (term (, term)*)
and grammar of predicate application is :
pred ::= id (term (, term)*)
But a function application/predicate application can include label-binders like:
For function definition : logic integer max{L}(integer n1, integer n2 ) = (n1 <=n2)? n2 : n1;
we can call this function as: ensures max{L}(n1, n2);
Grammar of function application/predicate application should include label-binders.