1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
(**************************************************************************)
(* *)
(* OCaml *)
(* *)
(* Thomas Gazagnaire (OCamlPro), Fabrice Le Fessant (INRIA Saclay) *)
(* *)
(* Copyright 2007 Institut National de Recherche en Informatique et *)
(* en Automatique. All rights reserved. This file is distributed *)
(* under the terms of the Q Public License version 1.0. *)
(* *)
(**************************************************************************)
open Asttypes
open Typedtree
module type IteratorArgument = sig
val enter_structure : structure -> unit
val enter_value_description : value_description -> unit
val enter_type_declaration : type_declaration -> unit
val enter_exception_declaration :
exception_declaration -> unit
val enter_pattern : pattern -> unit
val enter_expression : expression -> unit
val enter_package_type : package_type -> unit
val enter_signature : signature -> unit
val enter_signature_item : signature_item -> unit
val enter_modtype_declaration : modtype_declaration -> unit
val enter_module_type : module_type -> unit
val enter_module_expr : module_expr -> unit
val enter_with_constraint : with_constraint -> unit
val enter_class_expr : class_expr -> unit
val enter_class_signature : class_signature -> unit
val enter_class_declaration : class_declaration -> unit
val enter_class_description : class_description -> unit
val enter_class_type_declaration : class_type_declaration -> unit
val enter_class_type : class_type -> unit
val enter_class_type_field : class_type_field -> unit
val enter_core_type : core_type -> unit
val enter_core_field_type : core_field_type -> unit
val enter_class_structure : class_structure -> unit
val enter_class_field : class_field -> unit
val enter_structure_item : structure_item -> unit
val leave_structure : structure -> unit
val leave_value_description : value_description -> unit
val leave_type_declaration : type_declaration -> unit
val leave_exception_declaration :
exception_declaration -> unit
val leave_pattern : pattern -> unit
val leave_expression : expression -> unit
val leave_package_type : package_type -> unit
val leave_signature : signature -> unit
val leave_signature_item : signature_item -> unit
val leave_modtype_declaration : modtype_declaration -> unit
val leave_module_type : module_type -> unit
val leave_module_expr : module_expr -> unit
val leave_with_constraint : with_constraint -> unit
val leave_class_expr : class_expr -> unit
val leave_class_signature : class_signature -> unit
val leave_class_declaration : class_declaration -> unit
val leave_class_description : class_description -> unit
val leave_class_type_declaration : class_type_declaration -> unit
val leave_class_type : class_type -> unit
val leave_class_type_field : class_type_field -> unit
val leave_core_type : core_type -> unit
val leave_core_field_type : core_field_type -> unit
val leave_class_structure : class_structure -> unit
val leave_class_field : class_field -> unit
val leave_structure_item : structure_item -> unit
val enter_bindings : rec_flag -> unit
val enter_binding : pattern -> expression -> unit
val leave_binding : pattern -> expression -> unit
val leave_bindings : rec_flag -> unit
(*>JOCAML *)
val enter_joinpattern : joinpattern -> unit
val enter_joinclause : joinclause -> unit
val enter_joinautomaton : joinautomaton -> unit
val leave_joinpattern : joinpattern -> unit
val leave_joinclause : joinclause -> unit
val leave_joinautomaton : joinautomaton -> unit
(*<JOCAML *)
end
module MakeIterator :
functor
(Iter : IteratorArgument) ->
sig
val iter_structure : structure -> unit
val iter_signature : signature -> unit
val iter_structure_item : structure_item -> unit
val iter_signature_item : signature_item -> unit
val iter_expression : expression -> unit
val iter_module_type : module_type -> unit
val iter_pattern : pattern -> unit
val iter_class_expr : class_expr -> unit
end
module DefaultIteratorArgument : IteratorArgument
|