aboutsummaryrefslogtreecommitdiff
path: root/interp
diff options
context:
space:
mode:
authorherbelin2003-09-06 19:12:08 +0000
committerherbelin2003-09-06 19:12:08 +0000
commit95d4aef96fb7b490b188afe66e8345428e9706ee (patch)
tree3990c1a6bfce095e941d756df5387b63e86e8353 /interp
parentef41c3d1f93e2fa82cbaa97adaa03852e8fcd7b8 (diff)
Paramétrisation vis à vis de existential_key
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4321 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp')
-rw-r--r--interp/constrextern.ml3
-rw-r--r--interp/topconstr.ml5
-rw-r--r--interp/topconstr.mli2
3 files changed, 10 insertions, 0 deletions
diff --git a/interp/constrextern.ml b/interp/constrextern.ml
index 58869667b8..566752fda0 100644
--- a/interp/constrextern.ml
+++ b/interp/constrextern.ml
@@ -103,9 +103,12 @@ let idopt_of_name = function
| Anonymous -> None
let extern_evar loc n =
+(*
msgerrnl (str
"Warning: existential variable turned into meta-variable during externalization");
CPatVar (loc,(false,make_ident "META" (Some n)))
+*)
+ CEvar (loc,n)
let raw_string_of_ref = function
| ConstRef kn ->
diff --git a/interp/topconstr.ml b/interp/topconstr.ml
index d2ef146bf2..17a4410200 100644
--- a/interp/topconstr.ml
+++ b/interp/topconstr.ml
@@ -437,6 +437,11 @@ type local_binder =
| LocalRawDef of name located * constr_expr
| LocalRawAssum of name located list * constr_expr
+let rec local_binders_length = function
+ | [] -> 0
+ | LocalRawDef _::bl -> 1 + local_binders_length bl
+ | LocalRawAssum (idl,_)::bl -> List.length idl + local_binders_length bl
+
(**********************************************************************)
(* Functions on constr_expr *)
diff --git a/interp/topconstr.mli b/interp/topconstr.mli
index 55cd20290f..071af9d374 100644
--- a/interp/topconstr.mli
+++ b/interp/topconstr.mli
@@ -135,6 +135,8 @@ type local_binder =
| LocalRawDef of name located * constr_expr
| LocalRawAssum of name located list * constr_expr
+val local_binders_length : local_binder list -> int
+
(* Concrete syntax for modules and modules types *)
type with_declaration_ast =