grew_types.mli 884 Bytes
Newer Older
pj2m's avatar
pj2m committed
1 2
(** {2 Types fo grew} *)

bguillaum's avatar
bguillaum committed
3
open Grew_graph
pj2m's avatar
pj2m committed
4 5

(**/**)
6
type graph = G_graph.t
7
type deco = G_deco.t
pj2m's avatar
pj2m committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
(**/**)

type module_name = string

(** Rule app *)
type rule_app = {
    rule_name: string;
    up: deco;
    down: deco;
}

(** the main type for display the result of a rewriting *)
type rew_display =
  | Empty (* pour les besoin du dev *)
  | Leaf of graph
23
  | Local_normal_form of graph * module_name * rew_display
pj2m's avatar
pj2m committed
24 25 26 27 28 29 30 31 32 33
  | Node of graph * module_name * (big_step * rew_display) list

(** the type for big edges which correspond the a module *)
and big_step = {
    first: rule_app;
    small_step: (graph * rule_app) list;
}

(** {2 Types displaying} *)

34
val to_dot_graph : ?main_feat:string -> ?deco:deco -> graph -> string
35
val to_dep_graph : ?filter: string list -> ?main_feat:string -> ?deco:deco -> graph -> string
bguillaum's avatar
bguillaum committed
36
val to_gr_graph: graph -> string
bguillaum's avatar
bguillaum committed
37
val to_conll_graph: graph -> string