Skip to content

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.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information