Rewrite the AST to conform to the W3C grammar
[tatoo.git] / src / formula.mli
index 9b2659f..04b3662 100644 (file)
@@ -15,7 +15,8 @@
 
 (** Implementation of hashconsed Boolean formulae *)
 
-type move = [ `Left |`Right ]
+type move = [ `Left | `Right | `Epsilon | `Up1 | `Up2 ]
+
 (** Direction for automata predicates *)
 
 type 'formula expr =
@@ -23,8 +24,7 @@ type 'formula expr =
   | True
   | Or of 'formula * 'formula
   | And of 'formula * 'formula
-  | Move of (move * bool * State.t)
-  | Label of QNameSet.t
+  | Move of move * bool * State.t
 
 (** View of the internal representation of a formula,
     used for pattern matching *)
@@ -52,9 +52,6 @@ val expr : t -> t expr
 val compare : t -> t -> int
 (** Comparison of formulae *)
 
-val size : t -> int
-(** Syntactic size of the formula *)
-
 val print : Format.formatter -> t -> unit
 (** Pretty printer *)
 
@@ -82,14 +79,3 @@ val and_ : t -> t -> t
 
 val of_bool : bool -> t
 (** Convert an ocaml Boolean value to a formula *)
-
-module Infix : sig
-  val ( +| ) : t -> t -> t
-  val ( *& ) : t -> t -> t
-  val ( *+ ) : move -> StateSet.elt -> t
-  val ( *- ) : move -> StateSet.elt -> t
-end
-(** Module to facilitate infix notations of formulae.
-    Just [open Formla.Infix] and write:
-    [let f = `Left *+ q1 +| `Right *+ q2 in ...]
-*)