X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FgrafiteAst.ml;h=53cbc353fa49aa676003df9ced084cd221a7fd53;hb=e4d0e879c6288190ae793e1425b1ed74e40346c4;hp=f7e953b8cb87f71863555982db2dfcd28b1b268d;hpb=d1126c6b78a3333bbf415daf027004496b77c2f4;p=helm.git diff --git a/helm/ocaml/cic_notation/grafiteAst.ml b/helm/ocaml/cic_notation/grafiteAst.ml index f7e953b8c..53cbc353f 100644 --- a/helm/ocaml/cic_notation/grafiteAst.ml +++ b/helm/ocaml/cic_notation/grafiteAst.ml @@ -47,8 +47,8 @@ type ('term, 'lazy_term, 'reduction, 'ident) tactic = | Absurd of loc * 'term | Apply of loc * 'term | Assumption of loc - | Auto of loc * int option * int option * string option - (* depth, width, paramodulation *) + | Auto of loc * int option * int option * string option * string option + (* depth, width, paramodulation, full *) (* ALB *) | Change of loc * ('term, 'lazy_term, 'ident) pattern * 'lazy_term | Clear of loc * 'ident | ClearBody of loc * 'ident @@ -134,6 +134,11 @@ type obj = *) | Record of (string * Ast.term) list * string * Ast.term * (string * Ast.term) list + (** left parameters, name, type, fields *) + +(** To be increased each time the command type below changes, used for "safe" + * marshalling *) +let magic = 1 type ('term,'obj) command = | Default of loc * string * UriManager.uri list @@ -161,6 +166,29 @@ type ('term,'obj) command = (* DEBUGGING *) | Render of loc * UriManager.uri (* render library object *) +(* composed magic: term + command magics. No need to change this value *) +let magic = magic + 10000 * CicNotationPt.magic + +let reash_cmd_uris = + let reash_uri uri = UriManager.uri_of_string (UriManager.string_of_uri uri) in + function + | Default (loc, name, uris) -> + let uris = List.map reash_uri uris in + Default (loc, name, uris) + | Interpretation (loc, dsc, args, cic_appl_pattern) -> + let rec aux = + function + | CicNotationPt.UriPattern uri -> + CicNotationPt.UriPattern (reash_uri uri) + | CicNotationPt.ApplPattern args -> + CicNotationPt.ApplPattern (List.map aux args) + | CicNotationPt.VarPattern _ + | CicNotationPt.ImplicitPattern as pat -> pat + in + let appl_pattern = aux cic_appl_pattern in + Interpretation (loc, dsc, args, appl_pattern) + | cmd -> cmd + type ('term, 'lazy_term, 'reduction, 'ident) tactical = | Tactic of loc * ('term, 'lazy_term, 'reduction, 'ident) tactic | Do of loc * int * ('term, 'lazy_term, 'reduction, 'ident) tactical @@ -189,3 +217,9 @@ type ('term, 'lazy_term, 'reduction, 'obj, 'ident) statement = | Executable of loc * ('term, 'lazy_term, 'reduction, 'obj, 'ident) code | Comment of loc * ('term, 'lazy_term, 'reduction, 'obj, 'ident) comment + (* statements meaningful for matitadep *) +type dependency = + | IncludeDep of string + | BaseuriDep of string + | UriDep of UriManager.uri +