2 (****************************************************************************)
6 (* INRIA Rocquencourt *)
8 (* Copyright 2006 Institut National de Recherche en Informatique et *)
9 (* en Automatique. All rights reserved. This file is distributed under *)
10 (* the terms of the GNU Library General Public License, with the special *)
11 (* exception on linking described in LICENSE at the top of the Objective *)
12 (* Caml source tree. *)
14 (****************************************************************************)
17 * - Nicolas Pouillard: initial version
20 module Make (Ast : Sig.Camlp4Ast) : sig
21 module S : Set.S with type elt = string;
23 value fold_binding_vars : (string -> 'accu -> 'accu) -> Ast.binding -> 'accu -> 'accu;
25 class c_fold_pattern_vars ['accu] : [string -> 'accu -> 'accu] -> ['accu] ->
32 value fold_pattern_vars : (string -> 'accu -> 'accu) -> Ast.patt -> 'accu -> 'accu;
34 class fold_free_vars ['accu] : [string -> 'accu -> 'accu] -> [?env_init:S.t] -> ['accu] ->
40 method set_env : S.t -> 'self_type;
41 method add_atom : string -> 'self_type;
42 method add_patt : Ast.patt -> 'self_type;
43 method add_binding : Ast.binding -> 'self_type;
46 value free_vars : S.t -> Ast.expr -> S.t;