aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
authorherbelin1999-11-24 14:50:54 +0000
committerherbelin1999-11-24 14:50:54 +0000
commitf0f5810c3947a9735a954de90efa43ac2739f2e8 (patch)
tree021288cdc491d99ce3b25c67eaf74be09d0df6b3 /pretyping
parentfed2f27b5d23e8dceac1ad8d95b2374d3b72eddf (diff)
Version initiale
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@134 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/rawterm.mli (renamed from pretyping/rawterm.ml)28
1 files changed, 15 insertions, 13 deletions
diff --git a/pretyping/rawterm.ml b/pretyping/rawterm.mli
index 9ee7a02333..d30de0647b 100644
--- a/pretyping/rawterm.ml
+++ b/pretyping/rawterm.mli
@@ -1,12 +1,13 @@
open Names
open CoqAst
-type constructor_id = ((section_path * int) * int) * identifier list
+type indtype_id = section_path * int
+type constructor_id = indtype_id * int
type pattern = (* locs here refers to the ident's location, not whole pat *)
- PatVar of loc * name
- | PatCstr of loc * constructor_id * pattern list
- | PatAs of loc * identifier * pattern;;
+ | PatVar of loc * name
+ | PatCstr of loc * (constructor_id * identifier list) * pattern list
+ | PatAs of loc * identifier * pattern
type binder_kind = BProd | BLambda
type fix_kind = RFix of int array * int | RCofix of int
@@ -14,19 +15,21 @@ type rawsort = RProp of Term.contents | RType
type reference =
| RConst of section_path * identifier list
- | Ind of section_path * int * identifier list
- | Construct of constructor_id
+ | RInd of indtype_id * identifier list
+ | RConstruct of constructor_id * identifier list
| RAbst of section_path
- | RRel of int
- | Var of identifier
- | EVar of section_path * identifier list
+ | RVar of identifier
+ | REVar of section_path * identifier list
| RMeta of int
+type cases_style = PrintLet | PrintIf | PrintCases
+
type rawconstr =
| RRef of loc * reference
+ | RRel of loc * int
| RApp of loc * rawconstr * rawconstr list
| RBinder of loc * binder_kind * name * rawconstr * rawconstr
- | RCases of loc * rawconstr option * rawconstr list *
+ | RCases of loc * cases_style * rawconstr option * rawconstr list *
(identifier list * pattern list * rawconstr) list
| ROldCase of loc * bool * rawconstr option * rawconstr *
rawconstr array
@@ -34,6 +37,7 @@ type rawconstr =
rawconstr array * rawconstr array
| RSort of loc * rawsort
| RHole of loc option
+ | RCast of loc * rawconstr * rawconstr
(* - if PRec (_, names, arities, bodies) is in env then arities are
typed in env too and bodies are typed in env enriched by the
@@ -42,8 +46,6 @@ type rawconstr =
[On pourrait plutot mettre les arités aves le type qu'elles auront
dans le contexte servant à typer les body ???]
- - boolean in PApp means local turn off of implicit arg mode
+ - boolean in POldCase means it is recursive
- option in PHole tell if the "?" was apparent or has been implicitely added
*)
-
-