aboutsummaryrefslogtreecommitdiff
path: root/grammar
diff options
context:
space:
mode:
authorletouzey2012-10-16 16:24:23 +0000
committerletouzey2012-10-16 16:24:23 +0000
commit15daaa856a6dd1f97845c4f24fe27eaf4cdbdda0 (patch)
tree0b5a33550e30f286ef65e7c12ea452c2b86da409 /grammar
parent3b5927180128a4e8f10f7437641ff3af220194b3 (diff)
Split Tacinterp in 3 files : Tacsubst, Tacintern and Tacinterp
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15896 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'grammar')
-rw-r--r--grammar/argextend.ml414
-rw-r--r--grammar/tacextend.ml46
2 files changed, 11 insertions, 9 deletions
diff --git a/grammar/argextend.ml4 b/grammar/argextend.ml4
index a3c94c5d4f..9c31e2c829 100644
--- a/grammar/argextend.ml4
+++ b/grammar/argextend.ml4
@@ -190,7 +190,7 @@ let declare_tactic_argument loc s (typ, pr, f, g, h) cl =
| None ->
<:expr< fun e x ->
out_gen $make_globwit loc rawtyp$
- (Tacinterp.intern_genarg e
+ (Tacintern.intern_genarg e
(Genarg.in_gen $make_rawwit loc rawtyp$ x)) >>
| Some f -> <:expr< $lid:f$>> in
let interp = match f with
@@ -206,7 +206,7 @@ let declare_tactic_argument loc s (typ, pr, f, g, h) cl =
| None ->
<:expr< fun s x ->
out_gen $make_globwit loc globtyp$
- (Tacinterp.subst_genarg s
+ (Tacsubst.subst_genarg s
(Genarg.in_gen $make_globwit loc globtyp$ x)) >>
| Some f -> <:expr< $lid:f$>> in
let se = mlexpr_of_string s in
@@ -222,14 +222,16 @@ let declare_tactic_argument loc s (typ, pr, f, g, h) cl =
<:str_item<
value $lid:s$ = Pcoq.create_generic_entry $se$ $rawwit$ >>;
<:str_item< do {
+ Tacintern.add_intern_genarg $se$
+ (fun e x ->
+ (Genarg.in_gen $globwit$ ($glob$ e (out_gen $rawwit$ x))));
Tacinterp.add_interp_genarg $se$
- ((fun e x ->
- (Genarg.in_gen $globwit$ ($glob$ e (out_gen $rawwit$ x)))),
(fun ist gl x ->
let (sigma,a_interp) = $interp$ ist gl (out_gen $globwit$ x) in
- (sigma , Genarg.in_gen $wit$ a_interp)),
+ (sigma , Genarg.in_gen $wit$ a_interp));
+ Tacsubst.add_genarg_subst $se$
(fun subst x ->
- (Genarg.in_gen $globwit$ ($substitute$ subst (out_gen $globwit$ x)))));
+ (Genarg.in_gen $globwit$ ($substitute$ subst (out_gen $globwit$ x))));
Compat.maybe_uncurry (Pcoq.Gram.extend ($lid:s$ : Pcoq.Gram.entry 'a))
(None, [(None, None, $rules$)]);
Pptactic.declare_extra_genarg_pprule
diff --git a/grammar/tacextend.ml4 b/grammar/tacextend.ml4
index 09c49b3b61..cebfaa6150 100644
--- a/grammar/tacextend.ml4
+++ b/grammar/tacextend.ml4
@@ -128,7 +128,7 @@ let rec possibly_empty_subentries loc = function
<:expr< match Genarg.default_empty_value $rawwit$ with
[ None -> failwith ""
| Some v ->
- Tacinterp.intern_genarg Tacinterp.fully_empty_glob_sign
+ Tacintern.intern_genarg Tacintern.fully_empty_glob_sign
(Genarg.in_gen $rawwit$ v) ] >>
| GramTerminal _ | GramNonTerminal(_,_,_,_) ->
(* This does not parse epsilon (this Exit is static time) *)
@@ -159,11 +159,11 @@ let declare_tactic loc s cl =
declare_str_items loc
[ <:str_item< do {
try
- let _=Tacinterp.add_tactic $se$ $make_fun_clauses loc s cl$ in
+ let _=Tacintern.add_tactic $se$ $make_fun_clauses loc s cl$ in
List.iter
(fun (s,l) -> match l with
[ Some l ->
- Tacinterp.add_primitive_tactic s
+ Tacintern.add_primitive_tactic s
(Tacexpr.TacAtom($default_loc$,
Tacexpr.TacExtend($default_loc$,$se$,l)))
| None -> () ])