]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/lambda-delta/text/txt.ml
- we completed the text parser fixing the syntactic shortcuts
[helm.git] / helm / software / lambda-delta / text / txt.ml
index f874a273e6b40b4dfec6f246320d889ad899ebfa..ca32a915086aac432951679f322eac9c04a12255 100644 (file)
@@ -13,19 +13,29 @@ type ix = int (* index *)
 
 type id = string (* identifier *)
 
-type comm = string (* comment *)
+type desc = string (* description *)
 
-type bind = Abst of (id * term) list (* name, domain *)
-          | Abbr of (id * term) list (* name, bodies *)
-          | Void of id list          (* names        *)
+type kind = Decl (* generic declaration *) 
+          | Ax   (* axiom               *)
+         | Def  (* generic definition  *)
+         | Th   (* theorem             *)
 
-and term = Sort of ix               (* level               *)
-         | NSrt of id               (* named level         *)
-        | LRef of ix * ix          (* index, offset       *)
-        | NRef of id               (* name                *)
-        | Cast of term * term      (* domain, element     *)
-        | Appl of term list * term (* arguments, function *)
-        | Bind of bind * term      (* binder, scope       *)
+type bind = Abst of (id * bool * term) list (* name, real?, domain *)
+          | Abbr of (id * term) list        (* name, bodies        *)
+          | Void of id list                 (* names               *)
 
-type entity = Section of id option              (* section: Some id = open, None = close last *)
-           | Global of bool * id * comm * term (* global entity: false = decl, true = def    *) 
+and term = Sort of ix                      (* level                          *)
+         | NSrt of id                      (* named level                    *)
+        | LRef of ix * ix                 (* index, offset                  *)
+        | NRef of id                      (* name                           *)
+        | Cast of term * term             (* domain, element                *)
+        | Appl of term list * term        (* arguments, function            *)
+        | Bind of bind * term             (* binder, scope                  *)
+        | Inst of term * term list        (* function, arguments            *)
+        | Impl of bool * id * term * term (* strong?, label, source, target *)
+
+type command = Require of id list                (* required files: names *)
+             | Graph of id                       (* hierarchy graph: name *) 
+             | Sorts of (int option * id) list   (* sorts: index, name *)
+            | Section of id option              (* section: Some id = open, None = close last *)
+            | Entity of kind * id * desc * term (* entity: class, name, description, contents *)