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

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;

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.

Implemented by Forest::Tree::Constructor
Constructs a root node by using the top level subtrees list as the children.
Build the subtrees.
Abstract method that should return an array ref of Forest::Tree::Pure derived objects.

Forest::Tree::Builder::SimpleTextFile

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.

Yuval Kogman

Copyright 2008-2010 Infinity Interactive, Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.