summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlasdair Armstrong2017-11-17 18:00:08 +0000
committerAlasdair Armstrong2017-11-17 18:00:08 +0000
commitc46ae4d67795682d79e737c671edec8ceee94287 (patch)
tree7b6665150ca8f2516805236a0798fe285557edb9
parent8de4a99f86dcad90ddf82758e54374386d2d2f92 (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/Makefile6
-rw-r--r--src/lem_interp/instruction_extractor.lem8
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