Blatte::Syntax - parse tree structure for Blatte documents
package MySyntax;
use Blatte::Syntax;
@ISA = qw(Blatte::Syntax);
sub transform { my($self, $column) = @_;
...return a string containing a Perl expression...
}
...
use Blatte::Parser; use MySyntax;
$parser = new Blatte::Parser(); $parser->add_special_form(\&my_special_form);
sub my_special_form { my($self, $input_arg) = @_; my $input = $input_arg; if (ref($input)) { $input = $$input_arg; }
...examine $input...
...return undef if no match...
...else consume matching text from beginning of $input...
if (ref($input_arg)) {
$$input_arg = $input;
}
return new MySyntax(...);
}
Blatte::Syntax is the base class of a family of objects used to
represent a Blatte parse tree. A tree of Blatte::Syntax objects is
returned by expr() and other parsing methods of Blatte::Parser.
All Blatte::Syntax objects have a transform() method that converts
them to strings of Perl code.
Bob Glickstein <bobg@zanshin.com>.
Visit the Blatte website, <http://www.blatte.org/>.
Copyright 2001 Bob Glickstein. All rights reserved.
Blatte is distributed under the terms of the GNU General Public License, version 2. See the file LICENSE that accompanies the Blatte distribution.