NAME
Blatte::Syntax - parse tree structure for Blatte documents
SYNOPSIS
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(...);
}
DESCRIPTION
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.
AUTHOR
Bob Glickstein <bobg@zanshin.com>.
Visit the Blatte website, <http://www.blatte.org/>.
LICENSE
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.