Text::Query::Build

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
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)