From: miker Date: Sat, 1 Mar 2008 16:13:02 +0000 (+0000) Subject: moving default grammar to HEREDOC instead of DATA section X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=83541f4dda35914c782a34d7b7abe360c7509465;p=Evergreen.git moving default grammar to HEREDOC instead of DATA section git-svn-id: svn://svn.open-ils.org/ILS/trunk@8845 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/FTS.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/FTS.pm index 03ff808109..f8db6ea1ee 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/FTS.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/FTS.pm @@ -6,7 +6,25 @@ package OpenILS::Application::Storage::FTS; use OpenSRF::Utils::Logger qw/:level/; use Parse::RecDescent; -my $_default_grammar_parser = new Parse::RecDescent ( join '', () ); +my $_default_grammar_parser = new Parse::RecDescent ( <<'GRAMMAR' ); + + + +search_expression: or_expr(s) | and_expr(s) | expr(s) +or_expr: lexpr '||' rexpr +and_expr: lexpr '&&' rexpr +lexpr: expr +rexpr: expr +expr: phrase(s) | group(s) | word(s) +joiner: '||' | '&&' +phrase: '"' token(s) '"' +group : '(' search_expression ')' +word: numeric_range | negative_token | token +negative_token: '-' .../\D+/ token +token: /[-\w]+/ +numeric_range: /\d+-\d*/ + +GRAMMAR sub compile { @@ -95,6 +113,11 @@ sub raw { return $self->{raw}; } +sub parse_tree { + my $self = shift; + return $self->{parsetree}; +} + sub fts_col { my $self = shift; return $self->{fts_col}; @@ -222,20 +245,3 @@ package Class::DBI; 1; -__DATA__ - - -search_expression: or_expr(s) | and_expr(s) | expr(s) -or_expr: lexpr '||' rexpr -and_expr: lexpr '&&' rexpr -lexpr: expr -rexpr: expr -expr: phrase(s) | group(s) | word(s) -joiner: '||' | '&&' -phrase: '"' token(s) '"' -group : '(' search_expression ')' -word: numeric_range | negative_token | token -negative_token: '-' .../\D+/ token -token: /[-\w]+/ -numeric_range: /\d+-\d*/ -