Text::Query::Parse3pm
Base class for query parsers
Usage
package Text::Query::ParseThisSyntax;use Text::Query::Parse;use vars qw(@ISA);@ISA = qw(Text::Query::Parse);
Overview
This module provides a virtual base class for query parsers.
It defines the "prepare" method that is called by the "Text::Query" object to compile the query string.
Members
-buildPointer to a Text::Query::Build object.
scopeScope stack. Defines the context in which the query must be solved.
tokenThe current token. Destroyed by "prepare".
tokensA reference to the list of all the tokens. Filled by parse_tokens. Destroyed by "prepare".
parseoptsA reference to a hash table containing all the parameters given to the "prepare" function.
-verboseInteger indicating the desired verbose level.
Methods
- prepare (QSTRING [OPTIONS])
-
Compiles the query expression in
"QSTRING"to internal form and sets any options. First calls"build_init"to reset the builder and destroy the"token"and"tokens"members. Then calls"parse_tokens"to fill the"tokens"member. Then calls"expression"to use the tokens from"tokens". The"expression"is expected to call the"build_*"functions to build the compiled expression. At last calls"build_final_expression"with the result of"expression".A derived parser must redefine this function to define default values for specific options.
- expression ()
-
Must be redefined by derived package. Returns the internal form of the question built from
"build_*"functions using the"tokens".
- parse_tokens (QSTRING)
-
Must be redefined by derived package. Parses the
"QSTRING"scalar and fills the"tokens"member with lexical units.
- build_*
-
Shortcuts to the corresponding function of the Text::Query::Build object found in the
"-build"member.
Options
These are the options of the "prepare" method and the constructor.
- -quotes defaults to \'\"
-
Defines the quote characters.
- -case defaults to 0
-
If true, do case-sensitive match.
- -litspace defaults to 0
-
If true, match spaces (except between operators) in
"QSTRING"literally. If false, match spaces as"\s+".
- -regexp defaults to 0
-
If true, treat patterns in
"QSTRING"as regular expressions rather than literal text.
- -whole defaults to 0
-
If true, match whole words only, not substrings of words.
Releases
5 releases since Debian 3.0 (Woody); the text changed 2 times.