Skip to content

ACSL pretty-printer

ID0000859: This issue was created automatically from Mantis Issue 859. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0000859 Frama-C Kernel > ACSL implementation public 2011-06-09 2014-02-12
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 Nitrogen-20111001

Description :

Inductive predicates are not printed correctly:

predicates of the form:

inductive .... ( ... ) { case ...; case ...; }

are printed as:

predicate .... ( ... ) { case ...; case ...; }

Additional Information :

A quick fix consists of modifying cil/src/cil.ml as follows:

*** 5676,5682 **** fprintf fmt "@[<hov 2>logic %a" (self#pLogic_type None) rt | None -> ! fprintf fmt "@[<hov 2>predicate" end; fprintf fmt " %a%a%a%a" self#pLogic_var li.l_var_info --- 5676,5688 ---- fprintf fmt "@[<hov 2>logic %a" (self#pLogic_type None) rt | None -> ! begin ! match li.l_body with ! | LBinductive _ -> ! fprintf fmt "@[<hov 2>inductive" ! | _ -> ! fprintf fmt "@[<hov 2>predicate" ! end end; fprintf fmt " %a%a%a%a" self#pLogic_var li.l_var_info

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