ACSL parser + pretty-printer
ID0000862: This issue was created automatically from Mantis Issue 862. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0000862 | Frama-C | Kernel > ACSL implementation | public | 2011-06-10 | 2013-06-20 |
Reporter | ckunz | Assigned To | virgile | Resolution | fixed |
Priority | normal | Severity | tweak | Reproducibility | always |
Platform | - | OS | - | OS Version | - |
Product Version | Frama-C Carbon-20110201 | Target Version | - | Fixed in Version | Frama-C Fluorine-20130401 |
Description :
Logic assertions of the form
(a) //@ assert x == y^z;
are parsed as (x==y)^y and are thus rejected by the type-checker. One must instead write the assertion above as follows
(b) //@ assert x == (y^z);
This may be understandable. The pretty-printer, however, after parsing the term (b), outputs the term (a), making the output of the pretty-printer a program that is syntactically invalid.