dwww Home | Manual pages | Find package

Ast_iterator(3o)                 OCaml library                Ast_iterator(3o)

NAME
       Ast_iterator  - Ast_iterator.iterator enables AST inspection using open
       recursion.

Module
       Module   Ast_iterator

Documentation
       Module Ast_iterator
        : sig end

       Ast_iterator.iterator enables AST inspection using open  recursion.   A
       typical  mapper  would  be  based  on Ast_iterator.default_iterator , a
       trivial iterator, and will fall back on it for handling the  syntax  it
       does not modify.

       Warning: this module is unstable and part of Compiler_libs .

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

       A iterator record implements one "method" per syntactic category, using
       an open recursion style: each method takes as its  first  argument  the
       iterator to be applied to children in the syntax tree.

       val default_iterator : iterator

       A default iterator, which implements a "do not do anything" mapping.

OCamldoc                          2023-02-12                  Ast_iterator(3o)

Generated by dwww version 1.15 on Sat Jun 22 06:32:49 CEST 2024.