diff options
| author | Alasdair | 2019-10-26 04:59:49 +0100 |
|---|---|---|
| committer | Alasdair | 2019-10-28 13:38:10 +0000 |
| commit | 7f9371921cfcec819d9e0c778f8b817fb1566bce (patch) | |
| tree | 0bdf7c59c3192884f0e706baa46805abcece6fb3 /src/Makefile | |
| parent | 5bcbe357c72382c1076ea7fd7c3ca6ea9f2f035c (diff) | |
Some C backend refactoring
Make it so that jib_compile.ml never relies on specific string encodings
for various constructs in C. Previously this happened when
monomorphisation occured for union constructors and fields, i.e.
x.foo -> x.zfoo_bitsz632z7
Now identifiers that can be modified are represented as (id, ctyp list)
tuples, so we can keep the types
x.foo -> x.foo::<bits(32)>
This then enables us to do jib IR -> jib IR rewrites that modify types
In particular there is now a rewrite that removes tuples as an IR->IR
pass rather than doing it ad-hoc in the C code generation, although this
is not on by default
Note that this change seems to have triggered an Ott bug so jib.lem is
now checked in and not generated from Ott
Diffstat (limited to 'src/Makefile')
| -rw-r--r-- | src/Makefile | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/src/Makefile b/src/Makefile index a002d4f3..020d6813 100644 --- a/src/Makefile +++ b/src/Makefile @@ -74,9 +74,6 @@ full: sail lib doc ast.lem: ../language/sail.ott ott -sort false -generate_aux_rules true -o ast.lem -picky_multiple_parses true ../language/sail.ott -jib.lem: ../language/jib.ott ast.lem - ott -sort false -generate_aux_rules true -o jib.lem -picky_multiple_parses true ../language/jib.ott - ast.ml: ast.lem lem -ocaml ast.lem sed -i.bak -f ast.sed ast.ml @@ -137,7 +134,6 @@ clean: -rm -f ast.lem -rm -f ast.ml.bak -rm -f jib.ml - -rm -f jib.lem -rm -f jib.ml.bak -rm -f manifest.ml |
