]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_notation/cicNotationPt.ml
snapshot, notably:
[helm.git] / helm / ocaml / cic_notation / cicNotationPt.ml
index 56bf8547441bd218ee6fd393569902c558942cfe..56272ebedc5f7ffc90d9dff37bd6463eeb074b5d 100644 (file)
@@ -41,6 +41,8 @@ type term_attribute =
   | `IdRef of string                  (* ACic pointer *)
   | `Href of UriManager.uri list      (* hyperlinks for literals *)
   | `Level of int * Gramext.g_assoc   (* precedence, associativity *)
+  | `XmlAttrs of (string option * string * string) list
+      (* list of XML attributes: namespace, name, value *)
   ]
 
 type literal =
@@ -79,6 +81,7 @@ type term =
 
   | Literal of literal
   | Layout of layout_pattern
+
   | Magic of magic_term
   | Variable of pattern_variable
 
@@ -104,8 +107,9 @@ and layout_pattern =
       |+ column separator, row separator +| *)
   | Sqrt of term
   | Root of term * term (* argument, index *)
-(*   | Break *)
+  | Break
   | Box of box_spec * term list
+  | Group of term list
 
 and magic_term =
   (* level 1 magics *)
@@ -117,8 +121,8 @@ and magic_term =
   | Fold of fold_kind * term * string list * term
     (* base case pattern, recursive case bound names, recursive case pattern *)
   | Default of term * term  (* "some" case pattern, "none" case pattern *)
-  | If of term * term (* guard, body *)
-  | Unless of term * term (* guard, body *)
+  | Fail
+  | If of term * term * term (* test, pattern if true, pattern if false *)
 
 and pattern_variable =
   (* level 1 and 2 variables *)
@@ -132,18 +136,3 @@ and pattern_variable =
   (* level 2 variables *)
   | FreshVar of string
 
-type argument_pattern =
-  | IdentArg of int * string (* eta-depth, name *)
-
-type cic_appl_pattern =
-  | UriPattern of UriManager.uri
-  | VarPattern of string
-  | ApplPattern of cic_appl_pattern list
-
-type phrase = (* TODO hackish: replace with TacticAst.statement or similar *)
-  | Print of term
-  | Notation of term * Gramext.g_assoc option * int option * term
-      (* level 1 pattern, associativity, precedence, level 2 pattern *)
-  | Interpretation of (string * argument_pattern list) * cic_appl_pattern
-  | Render of UriManager.uri
-