Text::Query::Build
Text::Query::Build(3)User Contributed Perl DocumentationText::Query::Build(3)
NAME
Text::Query::Build - Base class for query builders
SYNOPSIS
package Text::Query::BuildMy;
use Text::Query::Build;
use vars qw(@ISA);
@ISA = qw(Text::Query::Build);
DESCRIPTION
This module provides a virtual base class for query builders.
Query builders are called by the parser logic. A given set of func-
tions is provided by the builder to match a Boolean logic. All the
methods return a scalar corresponding to the code that performs the
specified options.
Parameters Q1 and Q2 are the same type of scalar as the return values.
METHODS
matchstring()
Return a string that represent the last built expression. Two
identical expressions should generate the same string. This is for
testing purpose.
CODE-GENERATION METHODS
build_init()
Called before building the expression. A chance to initialize
object data.
build_final_expression(Q1)
Does any final processing to generate code to match a top-level
expression. The return value is NOT necessarily of a type that
can be passed to the other code-generation methods.
build_expression(Q1,Q2)
Generate code to match "Q1" OR "Q2"
build_expression_finish(Q1)
Generate any code needed to enclose an expression.
build_conj(Q1,Q2,F)
Generate code needed to match "Q1" AND "Q2". F will be true if
this is the first time this method is called in a sequence of sev-
eral conjunctions.
build_near(Q1,Q2)
Generate code needed to match "Q1" NEAR "Q2".
build_concat(Q1,Q2)
Generate code needed to match "Q1" immediately followed by "Q2".
build_negation(Q1)
Generate code needed to match NOT "Q1".
build_literal(Q1)
Generate code to match "Q1" as a literal.
build_scope_start($scope)
Generate code to enter in the $scope query context.
build_scope_end($scope,Q1)
Generate code needed to match "Q1" in the $scope context.
build_mandatory(Q1)
Generate code to match "Q1" (think + in AltaVista syntax).
build_forbiden(Q1)
Generate code to match NOT "Q1" (think - in AltaVista syntax).
SEE ALSO
Text::Query(3)
AUTHORS
Eric Bohlman (ebohlman@netcom.com)
Loic Dachary (loic@senga.org)
perl v5.8.8 1999-06-19 Text::Query::Build(3)