summaryrefslogtreecommitdiff
path: root/language
diff options
context:
space:
mode:
authorPeter Sewell2013-09-05 15:21:42 +0100
committerPeter Sewell2013-09-05 15:21:42 +0100
commitcf4c7c0fd5fb8a9851fa6ca325d1b106ff080fd5 (patch)
treed2fee1e6801f498c8b84aff76503fde16db90eb7 /language
parent635a3619d41c4659005922a19210fe48e551f81a (diff)
workaround likely aux rule bug
Diffstat (limited to 'language')
-rw-r--r--language/Makefile4
-rw-r--r--language/l2.ott2
2 files changed, 4 insertions, 2 deletions
diff --git a/language/Makefile b/language/Makefile
index 6611f48f..4ac35b65 100644
--- a/language/Makefile
+++ b/language/Makefile
@@ -13,7 +13,9 @@ l2Theory.uo: l2Script.sml
l2.tex ../src/ast.ml ../src/ast.lem l2Script.sml: l2.ott
ott -sort false -generate_aux_rules false -o l2.tex -picky_multiple_parses true l2.ott
- ott -sort false -generate_aux_rules true -o ../src/ast.ml -o ../src/ast.lem -o l2Script.sml -picky_multiple_parses true l2.ott
+ ott -sort false -generate_aux_rules false -o ../src/ast.lem -o l2Script.sml -picky_multiple_parses true l2.ott
+ ott -sort false -generate_aux_rules true -o ../src/ast.ml -picky_multiple_parses true l2.ott
+# the above is working around what is probably a bug in -generate_aux_rules true: when we try to generate Lem code with that turned on, we get some surprising-looking parse failures in a few rules. Likely we're not doing the proper transform for rules generated from inductive relation syntax.
l2_parse.tex parse_ast.ml ../src/parse_ast.ml: l2_parse.ott
ott -sort false -generate_aux_rules false -o l2_parse.tex -picky_multiple_parses true l2_parse.ott
diff --git a/language/l2.ott b/language/l2.ott
index d65a3984..2b250334 100644
--- a/language/l2.ott
+++ b/language/l2.ott
@@ -1759,7 +1759,7 @@ by
E_k |-t t ok
------------------------------------------------------------ :: wild
-<E_t,E_k> |- _ : t gives {}
+<E_t,E_k> |- _ annot : t gives {}
% This case should perhaps indicate the generation of a type variable, with kind Typ
<E_t,E_k> |- pat : t gives E_t1