Scroll to navigation

Forest::Tree::Builder(3pm) User Contributed Perl Documentation Forest::Tree::Builder(3pm)

NAME

Forest::Tree::Builder - An abstract role for bottom up tree reader

SYNOPSIS

    package MyBuilder;
    use Moose;
    with qw(Forest::Tree::Builder);
    # implement required builder:
    sub _build_subtrees {
        return [
            $self->create_new_subtree( ... ), # probably a recursive process
        ];
    }
    my $builder = MyBuilder->new(
        tree_class => ...,
        ...
    );
    my $tree = $builder->tree;

DESCRIPTION

Forest::Tree::Builder replaces Forest::Tree::Loader and Forest::Tree::Reader with a bottom up construction approach, which is also suitable for constructing Forest::Tree::Pure derived trees without excessive cloning.

It provides a declarative API instead of an imperative one, where "tree" is lazily constructed on the first use, instead of being constructed immediately and "filled in" by the "load" method.

METHODS

Implemented by Forest::Tree::Constructor
_build_tree
Constructs a root node by using the top level "subtrees" list as the children.
_build_subtrees
Build the subtrees.

Abstract method that should return an array ref of Forest::Tree::Pure derived objects.

SEE ALSO

Forest::Tree::Builder::SimpleTextFile

BUGS

All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.

AUTHOR

Yuval Kogman

COPYRIGHT AND LICENSE

Copyright 2008-2014 Infinity Interactive, Inc.

<http://www.iinteractive.com>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2022-06-14 perl v5.34.0