Blatte::Parser3pm
Parser for blatte syntax
Usage
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();}
Overview
A parser for turning written Blatte expressions into their Perl equivalents or into Blatte's syntax-tree representation.
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)
-
Tests INPUT for end-of-file. Leading whitespace is removed from INPUT with consume_whitespace and, if nothing remains, true is returned, else undef.
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.