]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/acic_content/cicNotationPt.ml
Added new ternary layout \infrule premises conclusion name.
[helm.git] / helm / software / components / acic_content / cicNotationPt.ml
index 92d081fee84096994b39d788de5bd52bb8fecf20..ff72f2a86c9722cac3d24e2e8f17614c05af74a3 100644 (file)
@@ -44,8 +44,7 @@ type child_pos = [ `Left | `Right | `Inner ]
 type term_attribute =
   [ `Loc of location                  (* source file location *)
   | `IdRef of string                  (* ACic pointer *)
-  | `Level of int * Gramext.g_assoc   (* precedence, associativity *)
-  | `ChildPos of child_pos            (* position of l1 pattern variables *)
+  | `Level of int
   | `XmlAttrs of (string option * string * string) list
       (* list of XML attributes: namespace, name, value *)
   | `Raw of string                    (* unparsed version *)
@@ -63,7 +62,7 @@ type 'term capture_variable = 'term * 'term option
 
 (** To be increased each time the term type below changes, used for "safe"
  * marshalling *)
-let magic = 3
+let magic = 4
 
 type term =
   (* CIC AST *)
@@ -120,6 +119,7 @@ and layout_pattern =
   | Frac of term * term
   | Over of term * term
   | Atop of term * term
+  | InfRule of term * term * term
 (*   | array of term * literal option * literal option
       |+ column separator, row separator +| *)
   | Sqrt of term
@@ -141,11 +141,13 @@ and magic_term =
   | Fail
   | If of term * term * term (* test, pattern if true, pattern if false *)
 
+and term_level = Self of int | Level of int
+
 and pattern_variable =
   (* level 1 and 2 variables *)
   | NumVar of string
   | IdentVar of string
-  | TermVar of string * (int * Gramext.g_assoc) option
+  | TermVar of string * term_level
 
   (* level 1 variables *)
   | Ascription of term * string
@@ -187,8 +189,3 @@ let binder_prec = 20
 let apply_prec = 70
 let simple_prec = 90
 
-let let_in_assoc = Gramext.NonA
-let binder_assoc = Gramext.RightA
-let apply_assoc = Gramext.LeftA
-let simple_assoc = Gramext.NonA
-