Blame camlp4/Camlp4/Struct/AstFilters.ml

Packit 1f8b6b
(****************************************************************************)
Packit 1f8b6b
(*                                                                          *)
Packit 1f8b6b
(*                                   OCaml                                  *)
Packit 1f8b6b
(*                                                                          *)
Packit 1f8b6b
(*                            INRIA Rocquencourt                            *)
Packit 1f8b6b
(*                                                                          *)
Packit 1f8b6b
(*  Copyright  2006   Institut National de Recherche  en  Informatique et   *)
Packit 1f8b6b
(*  en Automatique.  All rights reserved.  This file is distributed under   *)
Packit 1f8b6b
(*  the terms of the GNU Library General Public License, with the special   *)
Packit 1f8b6b
(*  exception on linking described in LICENSE at the top of the Camlp4      *)
Packit 1f8b6b
(*  source tree.                                                            *)
Packit 1f8b6b
(*                                                                          *)
Packit 1f8b6b
(****************************************************************************)
Packit 1f8b6b
Packit 1f8b6b
(* Authors:
Packit 1f8b6b
 * - Daniel de Rauglaudre: initial version
Packit 1f8b6b
 * - Nicolas Pouillard: refactoring
Packit 1f8b6b
 *)
Packit 1f8b6b
module Make (Ast : Sig.Camlp4Ast)
Packit 1f8b6b
: Sig.AstFilters with module Ast = Ast
Packit 1f8b6b
= struct
Packit 1f8b6b
Packit 1f8b6b
  module Ast = Ast;
Packit 1f8b6b
Packit 1f8b6b
  type filter 'a = 'a -> 'a;
Packit 1f8b6b
Packit 1f8b6b
  value interf_filters = Queue.create ();
Packit 1f8b6b
  value fold_interf_filters f i = Queue.fold f i interf_filters;
Packit 1f8b6b
  value implem_filters = Queue.create ();
Packit 1f8b6b
  value fold_implem_filters f i = Queue.fold f i implem_filters;
Packit 1f8b6b
  value topphrase_filters = Queue.create ();
Packit 1f8b6b
  value fold_topphrase_filters f i = Queue.fold f i topphrase_filters;
Packit 1f8b6b
Packit 1f8b6b
  value register_sig_item_filter f = Queue.add f interf_filters;
Packit 1f8b6b
  value register_str_item_filter f = Queue.add f implem_filters;
Packit 1f8b6b
  value register_topphrase_filter f = Queue.add f topphrase_filters;
Packit 1f8b6b
end;