package merlin-lib
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Merlin's libraries
Install
dune-project
Dependency
Authors
Maintainers
Sources
merlin-4.18-414.tbz
sha256=f6d6f7a266141e358c1a869612c8135c859185d547ea3ba5c9ad7bb67fe30cc1
sha512=4f272bdb028fd984fef406f7e1eadd0a3ab99d94016316f1b842782b1d1bba2bd50dcf3b4021c2096c6d9b5e5f9f6bae61bedcfd9f933f15c190e01777ef83a9
doc/merlin-lib.ocaml_parsing/Ocaml_parsing/Ast_iterator/index.html
Module Ocaml_parsing.Ast_iteratorSource
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
Source
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_declaration -> 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_declaration -> 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.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page