X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fgrafite%2FgrafiteAst.ml;h=29dfe324b4426e25ade914f6aa5aac0be7f65677;hb=185541ccf10a6c4bf69b3db36fdc4ebc09e4cc42;hp=ff26c00d680315440942891ec47411c8d053f316;hpb=c9ea9448c1e6e76d266a89017f79229fd8cb0733;p=helm.git diff --git a/matita/components/grafite/grafiteAst.ml b/matita/components/grafite/grafiteAst.ml index ff26c00d6..29dfe324b 100644 --- a/matita/components/grafite/grafiteAst.ml +++ b/matita/components/grafite/grafiteAst.ml @@ -75,6 +75,10 @@ type ntactic = | NAssumption of loc | NRepeat of loc * ntactic | NBlock of loc * ntactic list + (* Declarative langauge *) + (* Not the best idea to use a string directly, an abstract type for identifiers would be better *) + | Assume of loc * string * nterm (* loc, identifier, term *) + | Suppose of loc * nterm *string * nterm option type nmacro = | NCheck of loc * nterm @@ -84,7 +88,7 @@ type nmacro = (** To be increased each time the command type below changes, used for "safe" * marshalling *) -let magic = 35 +let magic = 37 (* composed magic: term + command magics. No need to change this value *) let magic = magic + 10000 * NotationPt.magic @@ -99,15 +103,14 @@ type inclusion_mode = WithPreferences | WithoutPreferences | OnlyPreferences (* type command = | Include of loc * inclusion_mode * string (* _,buri,_,path *) | UnificationHint of loc * nterm * int (* term, precedence *) - | NObj of loc * nterm NotationPt.obj + | NObj of loc * nterm NotationPt.obj * bool | NDiscriminator of loc * nterm | NInverter of loc * string * nterm * bool list option * nterm option - | NUnivConstraint of loc * NUri.uri * NUri.uri + | NUnivConstraint of loc * bool * NUri.uri * NUri.uri | NCopy of loc * string * NUri.uri * (NUri.uri * NUri.uri) list - | NCoercion of loc * string * - nterm * nterm * - (string * nterm) * nterm - | NQed of loc + | NCoercion of loc * string * bool * + (nterm * nterm * (string * nterm) * nterm) option + | NQed of loc * bool (* ex lexicon commands *) | Alias of loc * alias_spec (** parameters, name, type, fields *)