X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Facic_content%2FcicNotationPt.ml;h=8dbfea7992019a4e69a894cda12cec357b55d666;hb=11b2157bacf59cfc561c2ef6f92ee41ee2c1a006;hp=d9d92ad6fc5b905cbb9ba0600c441fc95a4d7bf3;hpb=87bdd061d096c836a02c77aa26e80d9c36180fad;p=helm.git diff --git a/helm/software/components/acic_content/cicNotationPt.ml b/helm/software/components/acic_content/cicNotationPt.ml index d9d92ad6f..8dbfea799 100644 --- a/helm/software/components/acic_content/cicNotationPt.ml +++ b/helm/software/components/acic_content/cicNotationPt.ml @@ -29,7 +29,8 @@ type binder_kind = [ `Lambda | `Pi | `Exists | `Forall ] type induction_kind = [ `Inductive | `CoInductive ] -type sort_kind = [ `Prop | `Set | `Type of CicUniv.universe | `CProp ] +type sort_kind = [ `Prop | `Set | `Type of CicUniv.universe | `CProp of +CicUniv.universe | `NType of string |`NCProp of string] type fold_kind = [ `Left | `Right ] type location = Stdpp.location @@ -44,8 +45,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 +63,7 @@ type 'term capture_variable = 'term * 'term option (** To be increased each time the term type below changes, used for "safe" * marshalling *) -let magic = 2 +let magic = 6 type term = (* CIC AST *) @@ -92,6 +92,7 @@ type term = | UserInput (* place holder for user input, used by MatitaConsole, not to be used elsewhere *) | Uri of string * subst list option (* as Ident, for long names *) + | NRef of NReference.reference (* Syntax pattern extensions *) @@ -120,13 +121,17 @@ 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 +| *) + | Maction of term list | Sqrt of term | Root of term * term (* argument, index *) | Break | Box of box_spec * term list | Group of term list + | Mstyle of (string * string) list * term list + | Mpadded of (string * string) list * term list and magic_term = (* level 1 magics *) @@ -141,11 +146,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 + | TermVar of string * term_level (* level 1 variables *) | Ascription of term * string @@ -158,6 +165,7 @@ type argument_pattern = type cic_appl_pattern = | UriPattern of UriManager.uri + | NRefPattern of NReference.reference | VarPattern of string | ImplicitPattern | ApplPattern of cic_appl_pattern list @@ -187,8 +195,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 -