Name

Object::Relation::Lexer::String - Lexer for Object::Relation search strings

Synopsis

use Object::Relation::Lexer::String qw/string_lexer_stream/;
my $stream = string_lexer_stream(<<'END_QUERY');
  name => NOT LIKE 'foo%',
  OR (age => GE 21)
END_QUERY

Description

This package will lex the a string that uses the Object::Relation::Handle search operators and return a data structure that a Object::Relation parser can parse.

See Object::Relation::Parser::DB for an example.

string_lexer_stream;

my $stream = string_lexer_stream(\@search_parameters);

This function, exported on demand, is the only function publicly useful in this module. It takes search parameters as described in the Object::Relation::Handle documentation, formatted as a string, and returns a token stream that Object::Relation parsers should be able to turn into an intermediate representation.

Copyright and License

Copyright (c) 2004-2006 Kineticode, Inc. <info@obj_relode.com>

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.