Skip to content

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.

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