OCaml compiler library : Ast_iterator

`sig
type iterator = {
attribute : Ast_iterator.iterator -> Parsetree.attribute -> unit;
attributes : Ast_iterator.iterator -> Parsetree.attribute list -> unit;
binding_op : Ast_iterator.iterator -> Parsetree.binding_op -> unit;
case : Ast_iterator.iterator -> Parsetree.case -> unit;
cases : Ast_iterator.iterator -> Parsetree.case list -> unit;
class_declaration :
Ast_iterator.iterator -> Parsetree.class_declaration -> unit;
class_description :
Ast_iterator.iterator -> Parsetree.class_description -> unit;
class_expr : Ast_iterator.iterator -> Parsetree.class_expr -> unit;
class_field : Ast_iterator.iterator -> Parsetree.class_field -> unit;
class_signature :
Ast_iterator.iterator -> Parsetree.class_signature -> unit;
class_structure :
Ast_iterator.iterator -> Parsetree.class_structure -> unit;
class_type : Ast_iterator.iterator -> Parsetree.class_type -> unit;
class_type_declaration :
Ast_iterator.iterator -> Parsetree.class_type_declaration -> unit;
class_type_field :
Ast_iterator.iterator -> Parsetree.class_type_field -> unit;
constructor_declaration :
Ast_iterator.iterator -> Parsetree.constructor_declaration -> unit;
directive_argument :
Ast_iterator.iterator -> Parsetree.directive_argument -> unit;
expr : Ast_iterator.iterator -> Parsetree.expression -> unit;
extension : Ast_iterator.iterator -> Parsetree.extension -> unit;
extension_constructor :
Ast_iterator.iterator -> Parsetree.extension_constructor -> unit;
include_declaration :
Ast_iterator.iterator -> Parsetree.include_declaration -> unit;
include_description :
Ast_iterator.iterator -> Parsetree.include_description -> unit;
label_declaration :
Ast_iterator.iterator -> Parsetree.label_declaration -> unit;
location : Ast_iterator.iterator -> Location.t -> unit;
module_binding :
Ast_iterator.iterator -> Parsetree.module_binding -> unit;
module_declaration :
Ast_iterator.iterator -> Parsetree.module_declaration -> unit;
module_substitution :
Ast_iterator.iterator -> Parsetree.module_substitution -> unit;
module_expr : Ast_iterator.iterator -> Parsetree.module_expr -> unit;
module_type : Ast_iterator.iterator -> Parsetree.module_type -> unit;
module_type_declaration :
Ast_iterator.iterator -> Parsetree.module_type_declaration -> unit;
open_declaration :
Ast_iterator.iterator -> Parsetree.open_declaration -> unit;
open_description :
Ast_iterator.iterator -> Parsetree.open_description -> unit;
package_type : Ast_iterator.iterator -> Parsetree.package_type -> unit;
pat : Ast_iterator.iterator -> Parsetree.pattern -> unit;
payload : Ast_iterator.iterator -> Parsetree.payload -> unit;
signature : Ast_iterator.iterator -> Parsetree.signature -> unit;
signature_item :
Ast_iterator.iterator -> Parsetree.signature_item -> unit;
structure : Ast_iterator.iterator -> Parsetree.structure -> unit;
structure_item :
Ast_iterator.iterator -> Parsetree.structure_item -> unit;
toplevel_directive :
Ast_iterator.iterator -> Parsetree.toplevel_directive -> unit;
toplevel_phrase :
Ast_iterator.iterator -> Parsetree.toplevel_phrase -> unit;
typ : Ast_iterator.iterator -> Parsetree.core_type -> unit;
row_field : Ast_iterator.iterator -> Parsetree.row_field -> unit;
object_field : Ast_iterator.iterator -> Parsetree.object_field -> unit;
type_declaration :
Ast_iterator.iterator -> Parsetree.type_declaration -> unit;
type_extension :
Ast_iterator.iterator -> Parsetree.type_extension -> unit;
type_exception :
Ast_iterator.iterator -> Parsetree.type_exception -> unit;
type_kind : Ast_iterator.iterator -> Parsetree.type_kind -> unit;
value_binding : Ast_iterator.iterator -> Parsetree.value_binding -> unit;
value_description :
Ast_iterator.iterator -> Parsetree.value_description -> unit;
with_constraint :
Ast_iterator.iterator -> Parsetree.with_constraint -> unit;
}
val default_iterator : Ast_iterator.iterator
end`