Skip to content
Snippets Groups Projects
Commit f81e3fce authored by Rodolphe Lepigre's avatar Rodolphe Lepigre
Browse files

Make RefinedC more user-friendly with several changes.

The first change concern the syntax of constraints in annotations. The following is now allowed:
- [own l : ty] (previously written [l @ &own<ty>]),
- [shr l : ty] (previously written [l @ &shr<ty>]),
- [frac β l : ty] (previously written [l @ &frac<β, ty>]).
- The old notations have been removed.

The second change is some renaming around singleton types and layouts:
- [singleton_val] is now called [value],
- [singleton_place] is now called [place],
- [LPtr] is now called [void_ptr] and is accessed with notation [void*],
- [LVoid] is now called [void_layout].
- The front end now accepts `void*` as an identifier.

The last change introduces a new Coq scope called [printing_sugar] that is only opened at the beginning of proofs in generated proof files. It defines printing notations intended at making the output of the tool closer to the syntax of the front end. In particular it defines the following notations:
- [own l : ty], [shr l : ty], [frac {β} l : ty],
- [uninit<ly>], [value<ly, v>], [place<l>], [&own<ty>], ...
- For each user-defined types a similar printing sugar is defined automatically.
parent 378b83c1
No related branches found
No related tags found
1 merge request!16Sugar in the front end + Coq pretty printing
Pipeline #40613 passed
Showing
with 119 additions and 116 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment