]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite/grafiteAst.ml
tacticals are really tactics now, they have an AST at the same level of
[helm.git] / helm / software / components / grafite / grafiteAst.ml
index e86cb082f7e1440d8712ec4cbc8ff052ed0d04bb..27afd3904c405c666484d4da50f792e83f5ae0df 100644 (file)
@@ -63,6 +63,16 @@ type ntactic =
    | NReduce of loc * [ `Normalize of bool | `Whd of bool ] * npattern
    | NRewrite of loc * direction * CicNotationPt.term * npattern
    | NAuto of loc * CicNotationPt.term auto_params
+   | NDot of loc
+   | NSemicolon of loc
+   | NBranch of loc
+   | NShift of loc
+   | NPos of loc * int list
+   | NWildcard of loc
+   | NMerge of loc
+   | NSkip of loc
+   | NFocus of loc * int list
+   | NUnfocus of loc
 
 type ('term, 'lazy_term, 'reduction, 'ident) tactic =
   (* Higher order tactics (i.e. tacticals) *)
@@ -176,7 +186,7 @@ type ('term,'lazy_term) macro =
 
 (** To be increased each time the command type below changes, used for "safe"
  * marshalling *)
-let magic = 22
+let magic = 23
 
 type ('term,'obj) command =
   | Index of loc * 'term option (* key *) * UriManager.uri (* value *)
@@ -217,13 +227,11 @@ type non_punctuation_tactical =
 type ('term, 'lazy_term, 'reduction, 'obj, 'ident) code =
   | Command of loc * ('term, 'obj) command
   | Macro of loc * ('term,'lazy_term) macro 
-  | NTactic of loc * ntactic * punctuation_tactical
+  | NTactic of loc * ntactic list
   | Tactic of loc * ('term, 'lazy_term, 'reduction, 'ident) tactic option
       * punctuation_tactical
   | NonPunctuationTactical of loc * non_punctuation_tactical
       * punctuation_tactical
-  | NNonPunctuationTactical of loc * non_punctuation_tactical
-      * punctuation_tactical
              
 type ('term, 'lazy_term, 'reduction, 'obj, 'ident) comment =
   | Note of loc * string