package libsail

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
val insert_braces : bool

If true, then the printer will insert additional braces into the source (essentially creating additional E_block nodes). This will give the code a more normal imperative look, especially after re-writing passes that are on the path to the theorem prover targets that use a more functional style.

val resugar : bool

If true, the printer will attempt to reverse some transformations that are done to the source. It can do this where passes insert attributes into the AST that it can use to revert various changes. It will do the following:

  • Reintroduce v[n] for vector_access and v[n..m] for vector_subrange
  • Undo overloading
  • Turn operator OP(x, y) back into x OP y
  • Reintroduce setters setter(x, y) into setter(x) = y
val hide_attributes : bool

If true, all attributes $[attr ...] will be hidden in the output. Note that resugar will remove any attributes it uses as hints for resugaring even when this is false.

OCaml

Innovation. Community. Security.