diff options
| author | Alasdair Armstrong | 2017-11-17 18:00:08 +0000 |
|---|---|---|
| committer | Alasdair Armstrong | 2017-11-17 18:00:08 +0000 |
| commit | c46ae4d67795682d79e737c671edec8ceee94287 (patch) | |
| tree | 7b6665150ca8f2516805236a0798fe285557edb9 | |
| parent | 8de4a99f86dcad90ddf82758e54374386d2d2f92 (diff) | |
Fix Makefile for interpreter and update instruction_extractor
Instruction extractor code that I commented out in this commit seems
buggy anyway - it will claim that the length of all bitvectors is 64?!
| -rw-r--r-- | src/Makefile | 6 | ||||
| -rw-r--r-- | src/lem_interp/instruction_extractor.lem | 8 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/Makefile b/src/Makefile index eeaf9fba..298d22c8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -52,8 +52,8 @@ full: sail lib power doc test ast.ml: ../language/l2.ott ott -sort false -generate_aux_rules true -o ast.ml -picky_multiple_parses true ../language/l2.ott -lem_interp2/interp_ast.lem: ../language/l2.ott - ott -sort false -generate_aux_rules true -o lem_interp2/interp_ast.lem -picky_multiple_parses true ../language/l2.ott +lem_interp/interp_ast.lem: ../language/l2.ott + ott -sort false -generate_aux_rules true -o lem_interp/interp_ast.lem -picky_multiple_parses true ../language/l2.ott sail: ast.ml ocamlbuild sail.native @@ -63,7 +63,7 @@ sail.native: sail sail.byte: ocamlbuild -cflag -g sail.byte -interpreter: +interpreter: lem_interp/interp_ast.lem ocamlbuild lem_interp/extract.cmxa ocamlbuild lem_interp/extract.cma diff --git a/src/lem_interp/instruction_extractor.lem b/src/lem_interp/instruction_extractor.lem index e603bb58..8bc19f8c 100644 --- a/src/lem_interp/instruction_extractor.lem +++ b/src/lem_interp/instruction_extractor.lem @@ -44,20 +44,21 @@ open import Interp_ast open import Interp_utilities open import Pervasives -type instr_param_typ = +type instr_param_typ = | IBit | IBitvector of maybe nat | IRange of maybe nat | IEnum of string * nat | IOther -type instruction_form = +type instruction_form = | Instr_form of string * list (string * instr_param_typ) * list base_effect -| Skipped +| Skipped val extract_instructions : string -> defs tannot -> list instruction_form let rec extract_ityp t tag = match (t,tag) with +(* AA: Hack | (T_abbrev _ t,_) -> extract_ityp t tag | (T_id "bit",_) -> IBit | (T_id "bool",_) -> IBit @@ -74,6 +75,7 @@ let rec extract_ityp t tag = match (t,tag) with IEnum i (natFromInteger max) | (T_id i,Tag_enum max) -> IEnum i (natFromInteger max) +*) | _ -> IOther end |
