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.
issue