Bob Glickstein > Blatte-0.9.4 > Blatte::Syntax

Download:
Blatte-0.9.4.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Source  

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.

SEE ALSO ^

Blatte::Parser(3).

syntax highlighting: