---
name: "Text::Query::Parse"
section: "3pm"
platform: "linux"
package: "perl-text-query"
version: "0.09-5"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Text::Query::Parse"
---

# Text::Query::Parse(3pm)

Base class for query parsers

## NAME

Text::Query::Parse - Base class for query parsers

## SYNOPSIS

```
    package Text::Query::ParseThisSyntax;
    use Text::Query::Parse;

    use vars qw(@ISA);
    @ISA = qw(Text::Query::Parse);
```

## DESCRIPTION

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

- **-build** Pointer to a Text::Query::Build object.

  - **scope** Scope stack. Defines the context in which the query must be solved.

  - **token** The current token. Destroyed by "prepare".

  - **tokens** A reference to the list of all the tokens. Filled by parse\_tokens. Destroyed by "prepare".

  - **parseopts** A reference to a hash table containing all the parameters given to the "prepare" function.

  - **-verbose** Integer 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.

## SEE ALSO

**Text::Query**(3)

## AUTHORS

Eric Bohlman (ebohlman@netcom.com)

Loic Dachary (loic@senga.org)
