Taxi::Mysql::Query::YYLexer - extendable full-text index using mysql: query lexer |
Taxi::Mysql::Query::YYLexer - extendable full-text index using mysql: query lexer (low-level)
##======================================================================== ## PRELIMINARIES
use Taxi::Mysql::Query::YYLexer;
##======================================================================== ## Constructors etc.
$q = $CLASS_OR_OBJ->new();
##======================================================================== ## Subs: unquoting
$str_unquoted = unquote($str, $start_str='', $end_str=$start_str, $escape_str='\\');
##======================================================================== ## Testing: dummy lexing
$text = $lexer->dummylex(@from_whatever);
Taxi::Mysql::Query::YYLexer provides the low-level lexical analyzer for the Taxi::Mysql::Query::Parser query parser class. The YYLexer module uses Parse::Lex to implement the low-level scanner. Due to problems with the underlying Parse::Lex module, Taxi::Mysql::Query::YYLexer objects are not true multiple-instance-safe objects. This will be repaired whenever I or anyone else writes a good object safe replacement for Parse::Lex. Until then, either deal with it or make a better suggestion.
Taxi::Mysql::YYLexer inherits from Parse::Lex. This is probably a Bad Thing, and could easily be changed to a 'uses' relation, but such a change would only serve to hide bugs in Parse::Lex which could potentially wreak great havoc.
Partial regex: characters to be considered 'plain letters'.
Partial regex: literal ``symbol'' regex for search tokens.
Passed to underlying Parse::Lex::new() method.
$q = $CLASS_OR_OBJ->new();
Constructor.
$str_unquoted = unquote($str, $start_str='', $end_str=$start_str, $escape_str='\\');
Utility function for unquoting string tokens as returned by Parse::Lex methods.
$text = $lexer->dummylex(@from_whatever);
For debugging.
Perl by Larry Wall.
Bryan Jurish <moocow@ling.uni-potsdam.de>
Copyright (C) 2006 by Bryan Jurish
This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.
perl(1), Taxi::Mysql(3perl), Taxi::Mysql::Query::Parser(3perl), Taxi::Mysql::Query::YYParser(3perl).
Taxi::Mysql::Query::YYLexer - extendable full-text index using mysql: query lexer |