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-2014 Infinity Interactive, Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.