The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Blatte::Parser - parser for Blatte syntax

SYNOPSIS

  use Blatte::Parser;

  $parser = new Blatte::Parser();

  $perl_expr = $parser->parse(INPUT);

    or

  $parsed_expr = $parser->expr(INPUT);
  if (defined($parsed_expr)) {
    $perl_expr = $parsed_expr->transform();
  }

DESCRIPTION

METHODS

$parser->parse(INPUT)

Parses the first Blatte expression in INPUT and returns the corresponding Perl string, or undef if an error occurred.

INPUT may be a string or a reference to a string. If it's the latter, then after a successful parse, the parsed expression will be removed from the beginning of the string.

$parser->expr(INPUT)

Like parse(), except the result is not converted to Perl; it's left in Blatte's internal parse-tree format, which uses the Blatte::Syntax family of objects.

$parser->eof(INPUT)

Parses an end-of-file from INPUT. Return value is 1 if no Blatte expressions remain in INPUT (that is, if it's empty after a call to consume_whitespace()), undef otherwise.

OTHER FUNCTIONS

consume_whitespace(STRING_REF)

Given a reference to a string containing Blatte code, this function modifies the string to remove all leading whitespace, comments, and forget-whitespace operators. It discards any comments from, and applies any forget-whitespace operators to the consumed whitespace and returns the resulting whitespace.

This function is called internally by the parser prior to matching each token of the input.

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(3), Blatte::Compiler(3), Blatte::Syntax(3).