grew_types.ml 588 Bytes
Newer Older
bguillaum's avatar
bguillaum committed
1
open Grew_graph
pj2m's avatar
pj2m committed
2

3
type graph = G_graph.t
4
type deco = G_deco.t
pj2m's avatar
pj2m committed
5 6 7 8 9

type module_name = string

type rule_app = {
    rule_name: string;
10 11
    up: G_deco.t;
    down: G_deco.t;
pj2m's avatar
pj2m committed
12 13 14 15 16
  }

(* the main type for display the result of a rewriting *)
type rew_display =
  | Empty (* pour les besoin du dev *)
17 18 19
  | Leaf of G_graph.t
  | Local_normal_form of G_graph.t * module_name * rew_display
  | Node of G_graph.t * module_name * (big_step * rew_display) list
pj2m's avatar
pj2m committed
20

bguillaum's avatar
bguillaum committed
21
(* the type for big edges which correspond to a module *)
pj2m's avatar
pj2m committed
22 23
and big_step = {
    first: rule_app;
24
    small_step: (G_graph.t * rule_app) list;
pj2m's avatar
pj2m committed
25
  }