aboutsummaryrefslogtreecommitdiff
path: root/dev/doc/ast.ml
diff options
context:
space:
mode:
authornotin2006-03-06 15:07:54 +0000
committernotin2006-03-06 15:07:54 +0000
commitd6d5fd216c5b26cba2cb6f1d273ac3b0d9c359f8 (patch)
tree8ad3810cd65ae4b00d8a68ccae6dc8bc19a26292 /dev/doc/ast.ml
parenta997bda0383b870890c0526996319ba2d44039b4 (diff)
Deplacement du répertoire doc dans dev
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@8140 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'dev/doc/ast.ml')
-rw-r--r--dev/doc/ast.ml47
1 files changed, 47 insertions, 0 deletions
diff --git a/dev/doc/ast.ml b/dev/doc/ast.ml
new file mode 100644
index 0000000000..2153ef47c0
--- /dev/null
+++ b/dev/doc/ast.ml
@@ -0,0 +1,47 @@
+
+type constr_ast =
+ Pair of constr_ast * constr_ast
+| Prod of binder list * constr_ast
+| Lambda of binder list * constr_ast
+| Let of string * constr_ast * constr_ast
+| LetCase of binder list * constr_ast * constr_ast
+| IfCase of constr_ast * constr_ast * constr_ast
+| Eval of red_fun * constr_ast
+| Infix of string * constr_ast * constr_ast
+| Prefix of string * constr_ast
+| Postfix of string * constr_ast
+| Appl of constr_ast * constr_arg list
+| ApplExpl of string list * constr_ast list
+| Scope of string * constr_ast
+| Qualid of string list
+| Prop | Set | Type
+| Int of string
+| Hole
+| Meta of string
+| Fixp of fix_kind *
+ (string * binder list * constr_ast * string option * constr_ast) list *
+ string
+| Match of case_item list * constr_ast option *
+ (pattern list * constr_ast) list
+
+and red_fun = Simpl
+
+and binder = string * constr_ast
+
+and constr_arg = string option * constr_ast
+
+and fix_kind = Fix | CoFix
+
+and case_item = constr_ast * (string option * constr_ast option)
+
+and pattern =
+ PatAs of pattern * string
+| PatType of pattern * constr_ast
+| PatConstr of string * pattern list
+| PatVar of string
+
+let mk_cast c t =
+ if t=Hole then c else Infix(":",c,t)
+
+let mk_lambda bl t =
+ if bl=[] then t else Lambda(bl,t)