package Genezzo::Parse::SQL; use Parse::RecDescent; { my $ERRORS; package Parse::RecDescent::Genezzo::Parse::SQL; use strict; use vars qw($skip $AUTOLOAD ); $skip = '\s*'; { local $SIG{__WARN__} = sub {0}; # PRETEND TO BE IN Parse::RecDescent NAMESPACE *Parse::RecDescent::Genezzo::Parse::SQL::AUTOLOAD = sub { no strict 'refs'; $AUTOLOAD =~ s/^Parse::RecDescent::Genezzo::Parse::SQL/Parse::RecDescent/; goto &{$AUTOLOAD}; } } push @Parse::RecDescent::Genezzo::Parse::SQL::ISA, 'Parse::RecDescent'; # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::col_alias { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"col_alias"}; Parse::RecDescent::_trace(q{Trying rule: [col_alias]}, Parse::RecDescent::_tracefirst($_[1]), q{col_alias}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [AS_ identifier]}, Parse::RecDescent::_tracefirst($_[1]), q{col_alias}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{col_alias}); %item = (__RULE__ => q{col_alias}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [AS_]}, Parse::RecDescent::_tracefirst($text), q{col_alias}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::AS_, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_alias}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [AS_]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{col_alias}, $tracelevel) if defined $::RD_TRACE; $item{q{AS_(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [identifier]}, Parse::RecDescent::_tracefirst($text), q{col_alias}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{identifier})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_alias}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_alias}, $tracelevel) if defined $::RD_TRACE; $item{q{identifier}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_alias}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{identifier}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [AS_ identifier]<<}, Parse::RecDescent::_tracefirst($text), q{col_alias}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{col_alias}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{col_alias}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{col_alias}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{col_alias}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::JOIN { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"JOIN"}; Parse::RecDescent::_trace(q{Trying rule: [JOIN]}, Parse::RecDescent::_tracefirst($_[1]), q{JOIN}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/JOIN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{JOIN}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{JOIN}); %item = (__RULE__ => q{JOIN}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/JOIN/i]}, Parse::RecDescent::_tracefirst($text), q{JOIN}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:JOIN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{JOIN}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/JOIN/i]<<}, Parse::RecDescent::_tracefirst($text), q{JOIN}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{JOIN}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{JOIN}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{JOIN}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{JOIN}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::num_primary { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"num_primary"}; Parse::RecDescent::_trace(q{Trying rule: [num_primary]}, Parse::RecDescent::_tracefirst($_[1]), q{num_primary}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [value_expr_primary]}, Parse::RecDescent::_tracefirst($_[1]), q{num_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{num_primary}); %item = (__RULE__ => q{num_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expr_primary]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expr_primary($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expr_primary]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expr_primary}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{value_expr_primary}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [value_expr_primary]<<}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [function_name '(' '(' function_guts ')']}, Parse::RecDescent::_tracefirst($_[1]), q{num_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{num_primary}); %item = (__RULE__ => q{num_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [function_name]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::function_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [function_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{function_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); $_savetext = $text; unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $text = $_savetext; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [function_guts]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{function_guts})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::function_guts, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [function_guts]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{function_guts(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING3__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = { function_name => $item{function_name}, operands => $item{'function_guts(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [function_name '(' '(' function_guts ')']<<}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/count/i '(' countfunc_guts ')']}, Parse::RecDescent::_tracefirst($_[1]), q{num_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{num_primary}); %item = (__RULE__ => q{num_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/count/i]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:count)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [countfunc_guts]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{countfunc_guts})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::countfunc_guts($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [countfunc_guts]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{countfunc_guts}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = { function_name => 'count', operands => $item{'countfunc_guts'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/count/i '(' countfunc_guts ')']<<}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ecount/i '(' countfunc_guts ')']}, Parse::RecDescent::_tracefirst($_[1]), q{num_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{num_primary}); %item = (__RULE__ => q{num_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ecount/i]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ecount)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [countfunc_guts]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{countfunc_guts})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::countfunc_guts($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [countfunc_guts]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{countfunc_guts}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = { function_name => 'ecount', operands => $item{'countfunc_guts'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ecount/i '(' countfunc_guts ')']<<}, Parse::RecDescent::_tracefirst($text), q{num_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{num_primary}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{num_primary}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{num_primary}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{num_primary}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::GO_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"GO_"}; Parse::RecDescent::_trace(q{Trying rule: [GO_]}, Parse::RecDescent::_tracefirst($_[1]), q{GO_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GO/i]}, Parse::RecDescent::_tracefirst($_[1]), q{GO_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{GO_}); %item = (__RULE__ => q{GO_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/GO/i]}, Parse::RecDescent::_tracefirst($text), q{GO_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:GO)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{GO_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/GO/i]<<}, Parse::RecDescent::_tracefirst($text), q{GO_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{GO_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{GO_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{GO_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{GO_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::GOTO_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"GOTO_"}; Parse::RecDescent::_trace(q{Trying rule: [GOTO_]}, Parse::RecDescent::_tracefirst($_[1]), q{GOTO_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GOTO/i]}, Parse::RecDescent::_tracefirst($_[1]), q{GOTO_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{GOTO_}); %item = (__RULE__ => q{GOTO_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/GOTO/i]}, Parse::RecDescent::_tracefirst($text), q{GOTO_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:GOTO)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{GOTO_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/GOTO/i]<<}, Parse::RecDescent::_tracefirst($text), q{GOTO_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{GOTO_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{GOTO_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{GOTO_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{GOTO_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::no_garbage { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"no_garbage"}; Parse::RecDescent::_trace(q{Trying rule: [no_garbage]}, Parse::RecDescent::_tracefirst($_[1]), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/^\\s*$/]}, Parse::RecDescent::_tracefirst($_[1]), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{no_garbage}); %item = (__RULE__ => q{no_garbage}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/^\\s*$/]}, Parse::RecDescent::_tracefirst($text), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:^\s*$)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/^\\s*$/]<<}, Parse::RecDescent::_tracefirst($text), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; my $_savetext; @item = (q{no_garbage}); %item = (__RULE__ => q{no_garbage}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{ Trailing garbage},$thisline];} unless $_noactions; undef } else {0} }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{no_garbage}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{no_garbage}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{no_garbage}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{no_garbage}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sql_update { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sql_update"}; Parse::RecDescent::_trace(q{Trying rule: [sql_update]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_update}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [UPDATE_ table_name SET_ update_set_exprlist where_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_update}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sql_update}); %item = (__RULE__ => q{sql_update}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [UPDATE_]}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::UPDATE_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [UPDATE_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $item{q{UPDATE_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [SET_]}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{SET_})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::SET_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [SET_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $item{q{SET_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [update_set_exprlist]}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{update_set_exprlist})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::update_set_exprlist($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [update_set_exprlist]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $item{q{update_set_exprlist}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [where_clause]}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{where_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::where_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [where_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $item{q{where_clause(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { table_name => $item{table_name}, update_set_exprlist => $item{'update_set_exprlist'}, where_clause => $item{'where_clause(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [UPDATE_ table_name SET_ update_set_exprlist where_clause]<<}, Parse::RecDescent::_tracefirst($text), q{sql_update}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sql_update}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sql_update}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sql_update}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sql_update}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::HOUR_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"HOUR_"}; Parse::RecDescent::_trace(q{Trying rule: [HOUR_]}, Parse::RecDescent::_tracefirst($_[1]), q{HOUR_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/HOUR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{HOUR_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{HOUR_}); %item = (__RULE__ => q{HOUR_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/HOUR/i]}, Parse::RecDescent::_tracefirst($text), q{HOUR_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:HOUR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{HOUR_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/HOUR/i]<<}, Parse::RecDescent::_tracefirst($text), q{HOUR_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{HOUR_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{HOUR_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{HOUR_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{HOUR_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CONTINUE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CONTINUE_"}; Parse::RecDescent::_trace(q{Trying rule: [CONTINUE_]}, Parse::RecDescent::_tracefirst($_[1]), q{CONTINUE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CONTINUE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CONTINUE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CONTINUE_}); %item = (__RULE__ => q{CONTINUE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CONTINUE/i]}, Parse::RecDescent::_tracefirst($text), q{CONTINUE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CONTINUE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CONTINUE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CONTINUE/i]<<}, Parse::RecDescent::_tracefirst($text), q{CONTINUE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CONTINUE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CONTINUE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CONTINUE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CONTINUE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::subquery { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"subquery"}; Parse::RecDescent::_trace(q{Trying rule: [subquery]}, Parse::RecDescent::_tracefirst($_[1]), q{subquery}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' sql_query ')']}, Parse::RecDescent::_tracefirst($_[1]), q{subquery}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{subquery}); %item = (__RULE__ => q{subquery}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{subquery}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_query]}, Parse::RecDescent::_tracefirst($text), q{subquery}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{sql_query})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{subquery}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{subquery}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{subquery}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{subquery}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_query => $item{sql_query}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' sql_query ')']<<}, Parse::RecDescent::_tracefirst($text), q{subquery}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{subquery}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{subquery}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{subquery}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{subquery}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::str_primary { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"str_primary"}; Parse::RecDescent::_trace(q{Trying rule: [str_primary]}, Parse::RecDescent::_tracefirst($_[1]), q{str_primary}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' string_val ')']}, Parse::RecDescent::_tracefirst($_[1]), q{str_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{str_primary}); %item = (__RULE__ => q{str_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [string_val]}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{string_val})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::string_val($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [string_val]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{string_val}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' string_val ')']<<}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [string_literal]}, Parse::RecDescent::_tracefirst($_[1]), q{str_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{str_primary}); %item = (__RULE__ => q{str_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [string_literal]}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::string_literal($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [string_literal]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{string_literal}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {string_literal => $item{string_literal}, tc_expr_type => 'c' }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [string_literal]<<}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [value_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{str_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{str_primary}); %item = (__RULE__ => q{str_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [value_expression]<<}, Parse::RecDescent::_tracefirst($text), q{str_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{str_primary}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{str_primary}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{str_primary}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{str_primary}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::njq_except { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"njq_except"}; Parse::RecDescent::_trace(q{Trying rule: [njq_except]}, Parse::RecDescent::_tracefirst($_[1]), q{njq_except}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{njq_except}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{njq_except}); %item = (__RULE__ => q{njq_except}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [njq_simple]}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{njq_simple})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::njq_simple($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [njq_simple]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $item{q{njq_simple}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [setop_except]}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{setop_except})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::setop_except($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [setop_except]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $item{q{setop_except}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [njq_simple]}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{njq_simple})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::njq_simple($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [njq_simple]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $item{q{njq_simple}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @set_op = @{$item[1]}; if (exists($item{setop_except})) { $return = {sql_setop => $item[0], operands => \@set_op }; } else { $return = $set_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{njq_except}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{njq_except}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{njq_except}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{njq_except}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{njq_except}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::value_expression { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"value_expression"}; Parse::RecDescent::_trace(q{Trying rule: [value_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expression}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [num_val]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{value_expression}); %item = (__RULE__ => q{value_expression}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [num_val]}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::num_val($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [num_val]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{num_val}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [num_val]<<}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [string_val]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{value_expression}); %item = (__RULE__ => q{value_expression}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [string_val]}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::string_val($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [string_val]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{string_val}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [string_val]<<}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [bool_TFN]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{value_expression}); %item = (__RULE__ => q{value_expression}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [bool_TFN]}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bool_TFN($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bool_TFN]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{bool_TFN}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [bool_TFN]<<}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [bind_placeholder]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expression}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{value_expression}); %item = (__RULE__ => q{value_expression}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [bind_placeholder]}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bind_placeholder($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bind_placeholder]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $item{q{bind_placeholder}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [bind_placeholder]<<}, Parse::RecDescent::_tracefirst($text), q{value_expression}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{value_expression}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{value_expression}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{value_expression}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{value_expression}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SECTION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SECTION_"}; Parse::RecDescent::_trace(q{Trying rule: [SECTION_]}, Parse::RecDescent::_tracefirst($_[1]), q{SECTION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SECTION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SECTION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SECTION_}); %item = (__RULE__ => q{SECTION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SECTION/i]}, Parse::RecDescent::_tracefirst($text), q{SECTION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SECTION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SECTION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SECTION/i]<<}, Parse::RecDescent::_tracefirst($text), q{SECTION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SECTION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SECTION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SECTION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SECTION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::REFERENCES_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"REFERENCES_"}; Parse::RecDescent::_trace(q{Trying rule: [REFERENCES_]}, Parse::RecDescent::_tracefirst($_[1]), q{REFERENCES_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REFERENCES/i]}, Parse::RecDescent::_tracefirst($_[1]), q{REFERENCES_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{REFERENCES_}); %item = (__RULE__ => q{REFERENCES_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/REFERENCES/i]}, Parse::RecDescent::_tracefirst($text), q{REFERENCES_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:REFERENCES)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{REFERENCES_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/REFERENCES/i]<<}, Parse::RecDescent::_tracefirst($text), q{REFERENCES_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{REFERENCES_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{REFERENCES_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{REFERENCES_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{REFERENCES_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::INTEGER { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"INTEGER"}; Parse::RecDescent::_trace(q{Trying rule: [INTEGER]}, Parse::RecDescent::_tracefirst($_[1]), q{INTEGER}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INTEGER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{INTEGER}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{INTEGER}); %item = (__RULE__ => q{INTEGER}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INTEGER/i]}, Parse::RecDescent::_tracefirst($text), q{INTEGER}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INTEGER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{INTEGER}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/INTEGER/i]<<}, Parse::RecDescent::_tracefirst($text), q{INTEGER}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{INTEGER}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{INTEGER}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{INTEGER}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{INTEGER}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::bool_term { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"bool_term"}; Parse::RecDescent::_trace(q{Trying rule: [bool_term]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_term}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{bool_term}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{bool_term}); %item = (__RULE__ => q{bool_term}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [bool_fact]}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{bool_fact})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bool_fact($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bool_fact]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $item{q{bool_fact}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [AND]}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{AND})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::AND($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [AND]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $item{q{AND}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [bool_fact]}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{bool_fact})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bool_fact($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bool_fact]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $item{q{bool_fact}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @bool_op = @{$item[1]}; if (exists($item{AND})) { $return = {bool_op => 'AND', operands => \@bool_op }; } else { $return = $bool_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{bool_term}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{bool_term}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{bool_term}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{bool_term}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{bool_term}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::EXECUTE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"EXECUTE_"}; Parse::RecDescent::_trace(q{Trying rule: [EXECUTE_]}, Parse::RecDescent::_tracefirst($_[1]), q{EXECUTE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/EXECUTE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{EXECUTE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{EXECUTE_}); %item = (__RULE__ => q{EXECUTE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/EXECUTE/i]}, Parse::RecDescent::_tracefirst($text), q{EXECUTE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:EXECUTE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{EXECUTE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/EXECUTE/i]<<}, Parse::RecDescent::_tracefirst($text), q{EXECUTE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{EXECUTE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{EXECUTE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{EXECUTE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{EXECUTE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CATALOG_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CATALOG_"}; Parse::RecDescent::_trace(q{Trying rule: [CATALOG_]}, Parse::RecDescent::_tracefirst($_[1]), q{CATALOG_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CATALOG/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CATALOG_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CATALOG_}); %item = (__RULE__ => q{CATALOG_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CATALOG/i]}, Parse::RecDescent::_tracefirst($text), q{CATALOG_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CATALOG)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CATALOG_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CATALOG/i]<<}, Parse::RecDescent::_tracefirst($text), q{CATALOG_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CATALOG_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CATALOG_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CATALOG_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CATALOG_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::LEVEL_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"LEVEL_"}; Parse::RecDescent::_trace(q{Trying rule: [LEVEL_]}, Parse::RecDescent::_tracefirst($_[1]), q{LEVEL_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LEVEL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{LEVEL_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{LEVEL_}); %item = (__RULE__ => q{LEVEL_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/LEVEL/i]}, Parse::RecDescent::_tracefirst($text), q{LEVEL_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:LEVEL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{LEVEL_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/LEVEL/i]<<}, Parse::RecDescent::_tracefirst($text), q{LEVEL_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{LEVEL_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{LEVEL_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{LEVEL_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{LEVEL_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DROP_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DROP_"}; Parse::RecDescent::_trace(q{Trying rule: [DROP_]}, Parse::RecDescent::_tracefirst($_[1]), q{DROP_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DROP/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DROP_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DROP_}); %item = (__RULE__ => q{DROP_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DROP/i]}, Parse::RecDescent::_tracefirst($text), q{DROP_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DROP)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DROP_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DROP/i]<<}, Parse::RecDescent::_tracefirst($text), q{DROP_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DROP_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DROP_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DROP_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DROP_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::reserved_non_funcs { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"reserved_non_funcs"}; Parse::RecDescent::_trace(q{Trying rule: [reserved_non_funcs]}, Parse::RecDescent::_tracefirst($_[1]), q{reserved_non_funcs}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ABSOLUTE(?!([a-z0-9_]))|ACTION(?!([a-z0-9_]))|ADD(?!([a-z0-9_]))|ALLOCATE(?!([a-z0-9_]))|ALTER(?!([a-z0-9_]))|AND(?!([a-z0-9_]))|ARE(?!([a-z0-9_]))|AS(?!([a-z0-9_]))|ASC(?!([a-z0-9_]))|ASSERTION(?!([a-z0-9_]))|AT(?!([a-z0-9_]))|AUTHORIZATION(?!([a-z0-9_]))|BEGIN(?!([a-z0-9_]))|BETWEEN(?!([a-z0-9_]))|BIT(?!([a-z0-9_]))|BIT_LENGTH(?!([a-z0-9_]))|BOTH(?!([a-z0-9_]))|BY(?!([a-z0-9_]))|CASCADE(?!([a-z0-9_]))|CASCADED(?!([a-z0-9_]))|CASE(?!([a-z0-9_]))|CAST(?!([a-z0-9_]))|CATALOG(?!([a-z0-9_]))|CHAR(?!([a-z0-9_]))|CHARACTER(?!([a-z0-9_]))|CHARACTER_LENGTH(?!([a-z0-9_]))|CHAR_LENGTH(?!([a-z0-9_]))|CHECK(?!([a-z0-9_]))|CLOSE(?!([a-z0-9_]))|COALESCE(?!([a-z0-9_]))|COLLATE(?!([a-z0-9_]))|COLLATION(?!([a-z0-9_]))|COLUMN(?!([a-z0-9_]))|COMMIT(?!([a-z0-9_]))|CONNECT(?!([a-z0-9_]))|CONNECTION(?!([a-z0-9_]))|CONSTRAINT(?!([a-z0-9_]))|CONSTRAINTS(?!([a-z0-9_]))|CONTINUE(?!([a-z0-9_]))|CONVERT(?!([a-z0-9_]))|CORRESPONDING(?!([a-z0-9_]))|COUNT(?!([a-z0-9_]))|CREATE(?!([a-z0-9_]))|CROSS(?!([a-z0-9_]))|CURRENT(?!([a-z0-9_]))|CURRENT_DATE(?!([a-z0-9_]))|CURRENT_TIME(?!([a-z0-9_]))|CURRENT_TIMESTAMP(?!([a-z0-9_]))|CURRENT_USER(?!([a-z0-9_]))|CURSOR(?!([a-z0-9_]))|DATE(?!([a-z0-9_]))|DAY(?!([a-z0-9_]))|DEALLOCATE(?!([a-z0-9_]))|DEC(?!([a-z0-9_]))|DECIMAL(?!([a-z0-9_]))|DECLARE(?!([a-z0-9_]))|DEFAULT(?!([a-z0-9_]))|DEFERRABLE(?!([a-z0-9_]))|DEFERRED(?!([a-z0-9_]))|DELETE(?!([a-z0-9_]))|DESC(?!([a-z0-9_]))|DESCRIBE(?!([a-z0-9_]))|DESCRIPTOR(?!([a-z0-9_]))|DIAGNOSTICS(?!([a-z0-9_]))|DISCONNECT(?!([a-z0-9_]))|DISTINCT(?!([a-z0-9_]))|DOMAIN(?!([a-z0-9_]))|DOUBLE(?!([a-z0-9_]))|DROP(?!([a-z0-9_]))|ECOUNT(?!([a-z0-9_]))|ELSE(?!([a-z0-9_]))|END(?!([a-z0-9_]))|END_EXEC(?!([a-z0-9_]))|ESCAPE(?!([a-z0-9_]))|EXCEPT(?!([a-z0-9_]))|EXCEPTION(?!([a-z0-9_]))|EXEC(?!([a-z0-9_]))|EXECUTE(?!([a-z0-9_]))|EXTERNAL(?!([a-z0-9_]))|EXTRACT(?!([a-z0-9_]))|FALSE(?!([a-z0-9_]))|FETCH(?!([a-z0-9_]))|FIRST(?!([a-z0-9_]))|FLOAT(?!([a-z0-9_]))|FOR(?!([a-z0-9_]))|FOREIGN(?!([a-z0-9_]))|FOUND(?!([a-z0-9_]))|FROM(?!([a-z0-9_]))|FULL(?!([a-z0-9_]))|GET(?!([a-z0-9_]))|GLOBAL(?!([a-z0-9_]))|GO(?!([a-z0-9_]))|GOTO(?!([a-z0-9_]))|GRANT(?!([a-z0-9_]))|GROUP(?!([a-z0-9_]))|HAVING(?!([a-z0-9_]))|HOUR(?!([a-z0-9_]))|IDENTITY(?!([a-z0-9_]))|IMMEDIATE(?!([a-z0-9_]))|INDICATOR(?!([a-z0-9_]))|INITIALLY(?!([a-z0-9_]))|INNER(?!([a-z0-9_]))|INPUT(?!([a-z0-9_]))|INSENSITIVE(?!([a-z0-9_]))|INSERT(?!([a-z0-9_]))|INTEGER(?!([a-z0-9_]))|INTERSECT(?!([a-z0-9_]))|INTERVAL(?!([a-z0-9_]))|INTO(?!([a-z0-9_]))|IS(?!([a-z0-9_]))|ISOLATION(?!([a-z0-9_]))|JOIN(?!([a-z0-9_]))|KEY(?!([a-z0-9_]))|LANGUAGE(?!([a-z0-9_]))|LAST(?!([a-z0-9_]))|LEADING(?!([a-z0-9_]))|LEFT(?!([a-z0-9_]))|LEVEL(?!([a-z0-9_]))|LOCAL(?!([a-z0-9_]))|MATCH(?!([a-z0-9_]))|MINUS(?!([a-z0-9_]))|MINUTE(?!([a-z0-9_]))|MODULE(?!([a-z0-9_]))|MONTH(?!([a-z0-9_]))|NAMES(?!([a-z0-9_]))|NATIONAL(?!([a-z0-9_]))|NATURAL(?!([a-z0-9_]))|NCHAR(?!([a-z0-9_]))|NEXT(?!([a-z0-9_]))|NO(?!([a-z0-9_]))|NOT(?!([a-z0-9_]))|NULL(?!([a-z0-9_]))|NULLIF(?!([a-z0-9_]))|NUMERIC(?!([a-z0-9_]))|OCTET_LENGTH(?!([a-z0-9_]))|OF(?!([a-z0-9_]))|ON(?!([a-z0-9_]))|ONLY(?!([a-z0-9_]))|OPEN(?!([a-z0-9_]))|OPTION(?!([a-z0-9_]))|OR(?!([a-z0-9_]))|ORDER(?!([a-z0-9_]))|OUTER(?!([a-z0-9_]))|OUTPUT(?!([a-z0-9_]))|OVERLAPS(?!([a-z0-9_]))|PAD(?!([a-z0-9_]))|PARTIAL(?!([a-z0-9_]))|POSITION(?!([a-z0-9_]))|PRECISION(?!([a-z0-9_]))|PREPARE(?!([a-z0-9_]))|PRESERVE(?!([a-z0-9_]))|PRIMARY(?!([a-z0-9_]))|PRIOR(?!([a-z0-9_]))|PRIVILEGES(?!([a-z0-9_]))|PROCEDURE(?!([a-z0-9_]))|PUBLIC(?!([a-z0-9_]))|READ(?!([a-z0-9_]))|REAL(?!([a-z0-9_]))|REFERENCES(?!([a-z0-9_]))|RELATIVE(?!([a-z0-9_]))|RESTRICT(?!([a-z0-9_]))|REVOKE(?!([a-z0-9_]))|RIGHT(?!([a-z0-9_]))|ROLLBACK(?!([a-z0-9_]))|ROWS(?!([a-z0-9_]))|SCHEMA(?!([a-z0-9_]))|SCROLL(?!([a-z0-9_]))|SECOND(?!([a-z0-9_]))|SECTION(?!([a-z0-9_]))|SELECT(?!([a-z0-9_]))|SESSION(?!([a-z0-9_]))|SESSION_USER(?!([a-z0-9_]))|SET(?!([a-z0-9_]))|SIZE(?!([a-z0-9_]))|SMALLINT(?!([a-z0-9_]))|SPACE(?!([a-z0-9_]))|SQL(?!([a-z0-9_]))|SQLCODE(?!([a-z0-9_]))|SQLERROR(?!([a-z0-9_]))|SQLSTATE(?!([a-z0-9_]))|SUBSTRING(?!([a-z0-9_]))|SYSTEM_USER(?!([a-z0-9_]))|TABLE(?!([a-z0-9_]))|TEMPORARY(?!([a-z0-9_]))|THEN(?!([a-z0-9_]))|TIME(?!([a-z0-9_]))|TIMESTAMP(?!([a-z0-9_]))|TIMEZONE_HOUR(?!([a-z0-9_]))|TIMEZONE_MINUTE(?!([a-z0-9_]))|TO(?!([a-z0-9_]))|TRAILING(?!([a-z0-9_]))|TRANSACTION(?!([a-z0-9_]))|TRANSLATION(?!([a-z0-9_]))|TRUE(?!([a-z0-9_]))|UNION(?!([a-z0-9_]))|UNKNOWN(?!([a-z0-9_]))|UPDATE(?!([a-z0-9_]))|USAGE(?!([a-z0-9_]))|USER(?!([a-z0-9_]))|USING(?!([a-z0-9_]))|VALUE(?!([a-z0-9_]))|VALUES(?!([a-z0-9_]))|VARCHAR(?!([a-z0-9_]))|VARCHAR2(?!([a-z0-9_]))|VARYING(?!([a-z0-9_]))|VIEW(?!([a-z0-9_]))|WHEN(?!([a-z0-9_]))|WHENEVER(?!([a-z0-9_]))|WHERE(?!([a-z0-9_]))|WITH(?!([a-z0-9_]))|WORK(?!([a-z0-9_]))|WRITE(?!([a-z0-9_]))|YEAR(?!([a-z0-9_]))|ZONE(?!([a-z0-9_]))/i]}, Parse::RecDescent::_tracefirst($_[1]), q{reserved_non_funcs}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{reserved_non_funcs}); %item = (__RULE__ => q{reserved_non_funcs}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ABSOLUTE(?!([a-z0-9_]))|ACTION(?!([a-z0-9_]))|ADD(?!([a-z0-9_]))|ALLOCATE(?!([a-z0-9_]))|ALTER(?!([a-z0-9_]))|AND(?!([a-z0-9_]))|ARE(?!([a-z0-9_]))|AS(?!([a-z0-9_]))|ASC(?!([a-z0-9_]))|ASSERTION(?!([a-z0-9_]))|AT(?!([a-z0-9_]))|AUTHORIZATION(?!([a-z0-9_]))|BEGIN(?!([a-z0-9_]))|BETWEEN(?!([a-z0-9_]))|BIT(?!([a-z0-9_]))|BIT_LENGTH(?!([a-z0-9_]))|BOTH(?!([a-z0-9_]))|BY(?!([a-z0-9_]))|CASCADE(?!([a-z0-9_]))|CASCADED(?!([a-z0-9_]))|CASE(?!([a-z0-9_]))|CAST(?!([a-z0-9_]))|CATALOG(?!([a-z0-9_]))|CHAR(?!([a-z0-9_]))|CHARACTER(?!([a-z0-9_]))|CHARACTER_LENGTH(?!([a-z0-9_]))|CHAR_LENGTH(?!([a-z0-9_]))|CHECK(?!([a-z0-9_]))|CLOSE(?!([a-z0-9_]))|COALESCE(?!([a-z0-9_]))|COLLATE(?!([a-z0-9_]))|COLLATION(?!([a-z0-9_]))|COLUMN(?!([a-z0-9_]))|COMMIT(?!([a-z0-9_]))|CONNECT(?!([a-z0-9_]))|CONNECTION(?!([a-z0-9_]))|CONSTRAINT(?!([a-z0-9_]))|CONSTRAINTS(?!([a-z0-9_]))|CONTINUE(?!([a-z0-9_]))|CONVERT(?!([a-z0-9_]))|CORRESPONDING(?!([a-z0-9_]))|COUNT(?!([a-z0-9_]))|CREATE(?!([a-z0-9_]))|CROSS(?!([a-z0-9_]))|CURRENT(?!([a-z0-9_]))|CURRENT_DATE(?!([a-z0-9_]))|CURRENT_TIME(?!([a-z0-9_]))|CURRENT_TIMESTAMP(?!([a-z0-9_]))|CURRENT_USER(?!([a-z0-9_]))|CURSOR(?!([a-z0-9_]))|DATE(?!([a-z0-9_]))|DAY(?!([a-z0-9_]))|DEALLOCATE(?!([a-z0-9_]))|DEC(?!([a-z0-9_]))|DECIMAL(?!([a-z0-9_]))|DECLARE(?!([a-z0-9_]))|DEFAULT(?!([a-z0-9_]))|DEFERRABLE(?!([a-z0-9_]))|DEFERRED(?!([a-z0-9_]))|DELETE(?!([a-z0-9_]))|DESC(?!([a-z0-9_]))|DESCRIBE(?!([a-z0-9_]))|DESCRIPTOR(?!([a-z0-9_]))|DIAGNOSTICS(?!([a-z0-9_]))|DISCONNECT(?!([a-z0-9_]))|DISTINCT(?!([a-z0-9_]))|DOMAIN(?!([a-z0-9_]))|DOUBLE(?!([a-z0-9_]))|DROP(?!([a-z0-9_]))|ECOUNT(?!([a-z0-9_]))|ELSE(?!([a-z0-9_]))|END(?!([a-z0-9_]))|END_EXEC(?!([a-z0-9_]))|ESCAPE(?!([a-z0-9_]))|EXCEPT(?!([a-z0-9_]))|EXCEPTION(?!([a-z0-9_]))|EXEC(?!([a-z0-9_]))|EXECUTE(?!([a-z0-9_]))|EXTERNAL(?!([a-z0-9_]))|EXTRACT(?!([a-z0-9_]))|FALSE(?!([a-z0-9_]))|FETCH(?!([a-z0-9_]))|FIRST(?!([a-z0-9_]))|FLOAT(?!([a-z0-9_]))|FOR(?!([a-z0-9_]))|FOREIGN(?!([a-z0-9_]))|FOUND(?!([a-z0-9_]))|FROM(?!([a-z0-9_]))|FULL(?!([a-z0-9_]))|GET(?!([a-z0-9_]))|GLOBAL(?!([a-z0-9_]))|GO(?!([a-z0-9_]))|GOTO(?!([a-z0-9_]))|GRANT(?!([a-z0-9_]))|GROUP(?!([a-z0-9_]))|HAVING(?!([a-z0-9_]))|HOUR(?!([a-z0-9_]))|IDENTITY(?!([a-z0-9_]))|IMMEDIATE(?!([a-z0-9_]))|INDICATOR(?!([a-z0-9_]))|INITIALLY(?!([a-z0-9_]))|INNER(?!([a-z0-9_]))|INPUT(?!([a-z0-9_]))|INSENSITIVE(?!([a-z0-9_]))|INSERT(?!([a-z0-9_]))|INTEGER(?!([a-z0-9_]))|INTERSECT(?!([a-z0-9_]))|INTERVAL(?!([a-z0-9_]))|INTO(?!([a-z0-9_]))|IS(?!([a-z0-9_]))|ISOLATION(?!([a-z0-9_]))|JOIN(?!([a-z0-9_]))|KEY(?!([a-z0-9_]))|LANGUAGE(?!([a-z0-9_]))|LAST(?!([a-z0-9_]))|LEADING(?!([a-z0-9_]))|LEFT(?!([a-z0-9_]))|LEVEL(?!([a-z0-9_]))|LOCAL(?!([a-z0-9_]))|MATCH(?!([a-z0-9_]))|MINUS(?!([a-z0-9_]))|MINUTE(?!([a-z0-9_]))|MODULE(?!([a-z0-9_]))|MONTH(?!([a-z0-9_]))|NAMES(?!([a-z0-9_]))|NATIONAL(?!([a-z0-9_]))|NATURAL(?!([a-z0-9_]))|NCHAR(?!([a-z0-9_]))|NEXT(?!([a-z0-9_]))|NO(?!([a-z0-9_]))|NOT(?!([a-z0-9_]))|NULL(?!([a-z0-9_]))|NULLIF(?!([a-z0-9_]))|NUMERIC(?!([a-z0-9_]))|OCTET_LENGTH(?!([a-z0-9_]))|OF(?!([a-z0-9_]))|ON(?!([a-z0-9_]))|ONLY(?!([a-z0-9_]))|OPEN(?!([a-z0-9_]))|OPTION(?!([a-z0-9_]))|OR(?!([a-z0-9_]))|ORDER(?!([a-z0-9_]))|OUTER(?!([a-z0-9_]))|OUTPUT(?!([a-z0-9_]))|OVERLAPS(?!([a-z0-9_]))|PAD(?!([a-z0-9_]))|PARTIAL(?!([a-z0-9_]))|POSITION(?!([a-z0-9_]))|PRECISION(?!([a-z0-9_]))|PREPARE(?!([a-z0-9_]))|PRESERVE(?!([a-z0-9_]))|PRIMARY(?!([a-z0-9_]))|PRIOR(?!([a-z0-9_]))|PRIVILEGES(?!([a-z0-9_]))|PROCEDURE(?!([a-z0-9_]))|PUBLIC(?!([a-z0-9_]))|READ(?!([a-z0-9_]))|REAL(?!([a-z0-9_]))|REFERENCES(?!([a-z0-9_]))|RELATIVE(?!([a-z0-9_]))|RESTRICT(?!([a-z0-9_]))|REVOKE(?!([a-z0-9_]))|RIGHT(?!([a-z0-9_]))|ROLLBACK(?!([a-z0-9_]))|ROWS(?!([a-z0-9_]))|SCHEMA(?!([a-z0-9_]))|SCROLL(?!([a-z0-9_]))|SECOND(?!([a-z0-9_]))|SECTION(?!([a-z0-9_]))|SELECT(?!([a-z0-9_]))|SESSION(?!([a-z0-9_]))|SESSION_USER(?!([a-z0-9_]))|SET(?!([a-z0-9_]))|SIZE(?!([a-z0-9_]))|SMALLINT(?!([a-z0-9_]))|SPACE(?!([a-z0-9_]))|SQL(?!([a-z0-9_]))|SQLCODE(?!([a-z0-9_]))|SQLERROR(?!([a-z0-9_]))|SQLSTATE(?!([a-z0-9_]))|SUBSTRING(?!([a-z0-9_]))|SYSTEM_USER(?!([a-z0-9_]))|TABLE(?!([a-z0-9_]))|TEMPORARY(?!([a-z0-9_]))|THEN(?!([a-z0-9_]))|TIME(?!([a-z0-9_]))|TIMESTAMP(?!([a-z0-9_]))|TIMEZONE_HOUR(?!([a-z0-9_]))|TIMEZONE_MINUTE(?!([a-z0-9_]))|TO(?!([a-z0-9_]))|TRAILING(?!([a-z0-9_]))|TRANSACTION(?!([a-z0-9_]))|TRANSLATION(?!([a-z0-9_]))|TRUE(?!([a-z0-9_]))|UNION(?!([a-z0-9_]))|UNKNOWN(?!([a-z0-9_]))|UPDATE(?!([a-z0-9_]))|USAGE(?!([a-z0-9_]))|USER(?!([a-z0-9_]))|USING(?!([a-z0-9_]))|VALUE(?!([a-z0-9_]))|VALUES(?!([a-z0-9_]))|VARCHAR(?!([a-z0-9_]))|VARCHAR2(?!([a-z0-9_]))|VARYING(?!([a-z0-9_]))|VIEW(?!([a-z0-9_]))|WHEN(?!([a-z0-9_]))|WHENEVER(?!([a-z0-9_]))|WHERE(?!([a-z0-9_]))|WITH(?!([a-z0-9_]))|WORK(?!([a-z0-9_]))|WRITE(?!([a-z0-9_]))|YEAR(?!([a-z0-9_]))|ZONE(?!([a-z0-9_]))/i]}, Parse::RecDescent::_tracefirst($text), q{reserved_non_funcs}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ABSOLUTE(?!([a-z0-9_]))|ACTION(?!([a-z0-9_]))|ADD(?!([a-z0-9_]))|ALLOCATE(?!([a-z0-9_]))|ALTER(?!([a-z0-9_]))|AND(?!([a-z0-9_]))|ARE(?!([a-z0-9_]))|AS(?!([a-z0-9_]))|ASC(?!([a-z0-9_]))|ASSERTION(?!([a-z0-9_]))|AT(?!([a-z0-9_]))|AUTHORIZATION(?!([a-z0-9_]))|BEGIN(?!([a-z0-9_]))|BETWEEN(?!([a-z0-9_]))|BIT(?!([a-z0-9_]))|BIT_LENGTH(?!([a-z0-9_]))|BOTH(?!([a-z0-9_]))|BY(?!([a-z0-9_]))|CASCADE(?!([a-z0-9_]))|CASCADED(?!([a-z0-9_]))|CASE(?!([a-z0-9_]))|CAST(?!([a-z0-9_]))|CATALOG(?!([a-z0-9_]))|CHAR(?!([a-z0-9_]))|CHARACTER(?!([a-z0-9_]))|CHARACTER_LENGTH(?!([a-z0-9_]))|CHAR_LENGTH(?!([a-z0-9_]))|CHECK(?!([a-z0-9_]))|CLOSE(?!([a-z0-9_]))|COALESCE(?!([a-z0-9_]))|COLLATE(?!([a-z0-9_]))|COLLATION(?!([a-z0-9_]))|COLUMN(?!([a-z0-9_]))|COMMIT(?!([a-z0-9_]))|CONNECT(?!([a-z0-9_]))|CONNECTION(?!([a-z0-9_]))|CONSTRAINT(?!([a-z0-9_]))|CONSTRAINTS(?!([a-z0-9_]))|CONTINUE(?!([a-z0-9_]))|CONVERT(?!([a-z0-9_]))|CORRESPONDING(?!([a-z0-9_]))|COUNT(?!([a-z0-9_]))|CREATE(?!([a-z0-9_]))|CROSS(?!([a-z0-9_]))|CURRENT(?!([a-z0-9_]))|CURRENT_DATE(?!([a-z0-9_]))|CURRENT_TIME(?!([a-z0-9_]))|CURRENT_TIMESTAMP(?!([a-z0-9_]))|CURRENT_USER(?!([a-z0-9_]))|CURSOR(?!([a-z0-9_]))|DATE(?!([a-z0-9_]))|DAY(?!([a-z0-9_]))|DEALLOCATE(?!([a-z0-9_]))|DEC(?!([a-z0-9_]))|DECIMAL(?!([a-z0-9_]))|DECLARE(?!([a-z0-9_]))|DEFAULT(?!([a-z0-9_]))|DEFERRABLE(?!([a-z0-9_]))|DEFERRED(?!([a-z0-9_]))|DELETE(?!([a-z0-9_]))|DESC(?!([a-z0-9_]))|DESCRIBE(?!([a-z0-9_]))|DESCRIPTOR(?!([a-z0-9_]))|DIAGNOSTICS(?!([a-z0-9_]))|DISCONNECT(?!([a-z0-9_]))|DISTINCT(?!([a-z0-9_]))|DOMAIN(?!([a-z0-9_]))|DOUBLE(?!([a-z0-9_]))|DROP(?!([a-z0-9_]))|ECOUNT(?!([a-z0-9_]))|ELSE(?!([a-z0-9_]))|END(?!([a-z0-9_]))|END_EXEC(?!([a-z0-9_]))|ESCAPE(?!([a-z0-9_]))|EXCEPT(?!([a-z0-9_]))|EXCEPTION(?!([a-z0-9_]))|EXEC(?!([a-z0-9_]))|EXECUTE(?!([a-z0-9_]))|EXTERNAL(?!([a-z0-9_]))|EXTRACT(?!([a-z0-9_]))|FALSE(?!([a-z0-9_]))|FETCH(?!([a-z0-9_]))|FIRST(?!([a-z0-9_]))|FLOAT(?!([a-z0-9_]))|FOR(?!([a-z0-9_]))|FOREIGN(?!([a-z0-9_]))|FOUND(?!([a-z0-9_]))|FROM(?!([a-z0-9_]))|FULL(?!([a-z0-9_]))|GET(?!([a-z0-9_]))|GLOBAL(?!([a-z0-9_]))|GO(?!([a-z0-9_]))|GOTO(?!([a-z0-9_]))|GRANT(?!([a-z0-9_]))|GROUP(?!([a-z0-9_]))|HAVING(?!([a-z0-9_]))|HOUR(?!([a-z0-9_]))|IDENTITY(?!([a-z0-9_]))|IMMEDIATE(?!([a-z0-9_]))|INDICATOR(?!([a-z0-9_]))|INITIALLY(?!([a-z0-9_]))|INNER(?!([a-z0-9_]))|INPUT(?!([a-z0-9_]))|INSENSITIVE(?!([a-z0-9_]))|INSERT(?!([a-z0-9_]))|INTEGER(?!([a-z0-9_]))|INTERSECT(?!([a-z0-9_]))|INTERVAL(?!([a-z0-9_]))|INTO(?!([a-z0-9_]))|IS(?!([a-z0-9_]))|ISOLATION(?!([a-z0-9_]))|JOIN(?!([a-z0-9_]))|KEY(?!([a-z0-9_]))|LANGUAGE(?!([a-z0-9_]))|LAST(?!([a-z0-9_]))|LEADING(?!([a-z0-9_]))|LEFT(?!([a-z0-9_]))|LEVEL(?!([a-z0-9_]))|LOCAL(?!([a-z0-9_]))|MATCH(?!([a-z0-9_]))|MINUS(?!([a-z0-9_]))|MINUTE(?!([a-z0-9_]))|MODULE(?!([a-z0-9_]))|MONTH(?!([a-z0-9_]))|NAMES(?!([a-z0-9_]))|NATIONAL(?!([a-z0-9_]))|NATURAL(?!([a-z0-9_]))|NCHAR(?!([a-z0-9_]))|NEXT(?!([a-z0-9_]))|NO(?!([a-z0-9_]))|NOT(?!([a-z0-9_]))|NULL(?!([a-z0-9_]))|NULLIF(?!([a-z0-9_]))|NUMERIC(?!([a-z0-9_]))|OCTET_LENGTH(?!([a-z0-9_]))|OF(?!([a-z0-9_]))|ON(?!([a-z0-9_]))|ONLY(?!([a-z0-9_]))|OPEN(?!([a-z0-9_]))|OPTION(?!([a-z0-9_]))|OR(?!([a-z0-9_]))|ORDER(?!([a-z0-9_]))|OUTER(?!([a-z0-9_]))|OUTPUT(?!([a-z0-9_]))|OVERLAPS(?!([a-z0-9_]))|PAD(?!([a-z0-9_]))|PARTIAL(?!([a-z0-9_]))|POSITION(?!([a-z0-9_]))|PRECISION(?!([a-z0-9_]))|PREPARE(?!([a-z0-9_]))|PRESERVE(?!([a-z0-9_]))|PRIMARY(?!([a-z0-9_]))|PRIOR(?!([a-z0-9_]))|PRIVILEGES(?!([a-z0-9_]))|PROCEDURE(?!([a-z0-9_]))|PUBLIC(?!([a-z0-9_]))|READ(?!([a-z0-9_]))|REAL(?!([a-z0-9_]))|REFERENCES(?!([a-z0-9_]))|RELATIVE(?!([a-z0-9_]))|RESTRICT(?!([a-z0-9_]))|REVOKE(?!([a-z0-9_]))|RIGHT(?!([a-z0-9_]))|ROLLBACK(?!([a-z0-9_]))|ROWS(?!([a-z0-9_]))|SCHEMA(?!([a-z0-9_]))|SCROLL(?!([a-z0-9_]))|SECOND(?!([a-z0-9_]))|SECTION(?!([a-z0-9_]))|SELECT(?!([a-z0-9_]))|SESSION(?!([a-z0-9_]))|SESSION_USER(?!([a-z0-9_]))|SET(?!([a-z0-9_]))|SIZE(?!([a-z0-9_]))|SMALLINT(?!([a-z0-9_]))|SPACE(?!([a-z0-9_]))|SQL(?!([a-z0-9_]))|SQLCODE(?!([a-z0-9_]))|SQLERROR(?!([a-z0-9_]))|SQLSTATE(?!([a-z0-9_]))|SUBSTRING(?!([a-z0-9_]))|SYSTEM_USER(?!([a-z0-9_]))|TABLE(?!([a-z0-9_]))|TEMPORARY(?!([a-z0-9_]))|THEN(?!([a-z0-9_]))|TIME(?!([a-z0-9_]))|TIMESTAMP(?!([a-z0-9_]))|TIMEZONE_HOUR(?!([a-z0-9_]))|TIMEZONE_MINUTE(?!([a-z0-9_]))|TO(?!([a-z0-9_]))|TRAILING(?!([a-z0-9_]))|TRANSACTION(?!([a-z0-9_]))|TRANSLATION(?!([a-z0-9_]))|TRUE(?!([a-z0-9_]))|UNION(?!([a-z0-9_]))|UNKNOWN(?!([a-z0-9_]))|UPDATE(?!([a-z0-9_]))|USAGE(?!([a-z0-9_]))|USER(?!([a-z0-9_]))|USING(?!([a-z0-9_]))|VALUE(?!([a-z0-9_]))|VALUES(?!([a-z0-9_]))|VARCHAR(?!([a-z0-9_]))|VARCHAR2(?!([a-z0-9_]))|VARYING(?!([a-z0-9_]))|VIEW(?!([a-z0-9_]))|WHEN(?!([a-z0-9_]))|WHENEVER(?!([a-z0-9_]))|WHERE(?!([a-z0-9_]))|WITH(?!([a-z0-9_]))|WORK(?!([a-z0-9_]))|WRITE(?!([a-z0-9_]))|YEAR(?!([a-z0-9_]))|ZONE(?!([a-z0-9_])))//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{reserved_non_funcs}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/ABSOLUTE(?!([a-z0-9_]))|ACTION(?!([a-z0-9_]))|ADD(?!([a-z0-9_]))|ALLOCATE(?!([a-z0-9_]))|ALTER(?!([a-z0-9_]))|AND(?!([a-z0-9_]))|ARE(?!([a-z0-9_]))|AS(?!([a-z0-9_]))|ASC(?!([a-z0-9_]))|ASSERTION(?!([a-z0-9_]))|AT(?!([a-z0-9_]))|AUTHORIZATION(?!([a-z0-9_]))|BEGIN(?!([a-z0-9_]))|BETWEEN(?!([a-z0-9_]))|BIT(?!([a-z0-9_]))|BIT_LENGTH(?!([a-z0-9_]))|BOTH(?!([a-z0-9_]))|BY(?!([a-z0-9_]))|CASCADE(?!([a-z0-9_]))|CASCADED(?!([a-z0-9_]))|CASE(?!([a-z0-9_]))|CAST(?!([a-z0-9_]))|CATALOG(?!([a-z0-9_]))|CHAR(?!([a-z0-9_]))|CHARACTER(?!([a-z0-9_]))|CHARACTER_LENGTH(?!([a-z0-9_]))|CHAR_LENGTH(?!([a-z0-9_]))|CHECK(?!([a-z0-9_]))|CLOSE(?!([a-z0-9_]))|COALESCE(?!([a-z0-9_]))|COLLATE(?!([a-z0-9_]))|COLLATION(?!([a-z0-9_]))|COLUMN(?!([a-z0-9_]))|COMMIT(?!([a-z0-9_]))|CONNECT(?!([a-z0-9_]))|CONNECTION(?!([a-z0-9_]))|CONSTRAINT(?!([a-z0-9_]))|CONSTRAINTS(?!([a-z0-9_]))|CONTINUE(?!([a-z0-9_]))|CONVERT(?!([a-z0-9_]))|CORRESPONDING(?!([a-z0-9_]))|COUNT(?!([a-z0-9_]))|CREATE(?!([a-z0-9_]))|CROSS(?!([a-z0-9_]))|CURRENT(?!([a-z0-9_]))|CURRENT_DATE(?!([a-z0-9_]))|CURRENT_TIME(?!([a-z0-9_]))|CURRENT_TIMESTAMP(?!([a-z0-9_]))|CURRENT_USER(?!([a-z0-9_]))|CURSOR(?!([a-z0-9_]))|DATE(?!([a-z0-9_]))|DAY(?!([a-z0-9_]))|DEALLOCATE(?!([a-z0-9_]))|DEC(?!([a-z0-9_]))|DECIMAL(?!([a-z0-9_]))|DECLARE(?!([a-z0-9_]))|DEFAULT(?!([a-z0-9_]))|DEFERRABLE(?!([a-z0-9_]))|DEFERRED(?!([a-z0-9_]))|DELETE(?!([a-z0-9_]))|DESC(?!([a-z0-9_]))|DESCRIBE(?!([a-z0-9_]))|DESCRIPTOR(?!([a-z0-9_]))|DIAGNOSTICS(?!([a-z0-9_]))|DISCONNECT(?!([a-z0-9_]))|DISTINCT(?!([a-z0-9_]))|DOMAIN(?!([a-z0-9_]))|DOUBLE(?!([a-z0-9_]))|DROP(?!([a-z0-9_]))|ECOUNT(?!([a-z0-9_]))|ELSE(?!([a-z0-9_]))|END(?!([a-z0-9_]))|END_EXEC(?!([a-z0-9_]))|ESCAPE(?!([a-z0-9_]))|EXCEPT(?!([a-z0-9_]))|EXCEPTION(?!([a-z0-9_]))|EXEC(?!([a-z0-9_]))|EXECUTE(?!([a-z0-9_]))|EXTERNAL(?!([a-z0-9_]))|EXTRACT(?!([a-z0-9_]))|FALSE(?!([a-z0-9_]))|FETCH(?!([a-z0-9_]))|FIRST(?!([a-z0-9_]))|FLOAT(?!([a-z0-9_]))|FOR(?!([a-z0-9_]))|FOREIGN(?!([a-z0-9_]))|FOUND(?!([a-z0-9_]))|FROM(?!([a-z0-9_]))|FULL(?!([a-z0-9_]))|GET(?!([a-z0-9_]))|GLOBAL(?!([a-z0-9_]))|GO(?!([a-z0-9_]))|GOTO(?!([a-z0-9_]))|GRANT(?!([a-z0-9_]))|GROUP(?!([a-z0-9_]))|HAVING(?!([a-z0-9_]))|HOUR(?!([a-z0-9_]))|IDENTITY(?!([a-z0-9_]))|IMMEDIATE(?!([a-z0-9_]))|INDICATOR(?!([a-z0-9_]))|INITIALLY(?!([a-z0-9_]))|INNER(?!([a-z0-9_]))|INPUT(?!([a-z0-9_]))|INSENSITIVE(?!([a-z0-9_]))|INSERT(?!([a-z0-9_]))|INTEGER(?!([a-z0-9_]))|INTERSECT(?!([a-z0-9_]))|INTERVAL(?!([a-z0-9_]))|INTO(?!([a-z0-9_]))|IS(?!([a-z0-9_]))|ISOLATION(?!([a-z0-9_]))|JOIN(?!([a-z0-9_]))|KEY(?!([a-z0-9_]))|LANGUAGE(?!([a-z0-9_]))|LAST(?!([a-z0-9_]))|LEADING(?!([a-z0-9_]))|LEFT(?!([a-z0-9_]))|LEVEL(?!([a-z0-9_]))|LOCAL(?!([a-z0-9_]))|MATCH(?!([a-z0-9_]))|MINUS(?!([a-z0-9_]))|MINUTE(?!([a-z0-9_]))|MODULE(?!([a-z0-9_]))|MONTH(?!([a-z0-9_]))|NAMES(?!([a-z0-9_]))|NATIONAL(?!([a-z0-9_]))|NATURAL(?!([a-z0-9_]))|NCHAR(?!([a-z0-9_]))|NEXT(?!([a-z0-9_]))|NO(?!([a-z0-9_]))|NOT(?!([a-z0-9_]))|NULL(?!([a-z0-9_]))|NULLIF(?!([a-z0-9_]))|NUMERIC(?!([a-z0-9_]))|OCTET_LENGTH(?!([a-z0-9_]))|OF(?!([a-z0-9_]))|ON(?!([a-z0-9_]))|ONLY(?!([a-z0-9_]))|OPEN(?!([a-z0-9_]))|OPTION(?!([a-z0-9_]))|OR(?!([a-z0-9_]))|ORDER(?!([a-z0-9_]))|OUTER(?!([a-z0-9_]))|OUTPUT(?!([a-z0-9_]))|OVERLAPS(?!([a-z0-9_]))|PAD(?!([a-z0-9_]))|PARTIAL(?!([a-z0-9_]))|POSITION(?!([a-z0-9_]))|PRECISION(?!([a-z0-9_]))|PREPARE(?!([a-z0-9_]))|PRESERVE(?!([a-z0-9_]))|PRIMARY(?!([a-z0-9_]))|PRIOR(?!([a-z0-9_]))|PRIVILEGES(?!([a-z0-9_]))|PROCEDURE(?!([a-z0-9_]))|PUBLIC(?!([a-z0-9_]))|READ(?!([a-z0-9_]))|REAL(?!([a-z0-9_]))|REFERENCES(?!([a-z0-9_]))|RELATIVE(?!([a-z0-9_]))|RESTRICT(?!([a-z0-9_]))|REVOKE(?!([a-z0-9_]))|RIGHT(?!([a-z0-9_]))|ROLLBACK(?!([a-z0-9_]))|ROWS(?!([a-z0-9_]))|SCHEMA(?!([a-z0-9_]))|SCROLL(?!([a-z0-9_]))|SECOND(?!([a-z0-9_]))|SECTION(?!([a-z0-9_]))|SELECT(?!([a-z0-9_]))|SESSION(?!([a-z0-9_]))|SESSION_USER(?!([a-z0-9_]))|SET(?!([a-z0-9_]))|SIZE(?!([a-z0-9_]))|SMALLINT(?!([a-z0-9_]))|SPACE(?!([a-z0-9_]))|SQL(?!([a-z0-9_]))|SQLCODE(?!([a-z0-9_]))|SQLERROR(?!([a-z0-9_]))|SQLSTATE(?!([a-z0-9_]))|SUBSTRING(?!([a-z0-9_]))|SYSTEM_USER(?!([a-z0-9_]))|TABLE(?!([a-z0-9_]))|TEMPORARY(?!([a-z0-9_]))|THEN(?!([a-z0-9_]))|TIME(?!([a-z0-9_]))|TIMESTAMP(?!([a-z0-9_]))|TIMEZONE_HOUR(?!([a-z0-9_]))|TIMEZONE_MINUTE(?!([a-z0-9_]))|TO(?!([a-z0-9_]))|TRAILING(?!([a-z0-9_]))|TRANSACTION(?!([a-z0-9_]))|TRANSLATION(?!([a-z0-9_]))|TRUE(?!([a-z0-9_]))|UNION(?!([a-z0-9_]))|UNKNOWN(?!([a-z0-9_]))|UPDATE(?!([a-z0-9_]))|USAGE(?!([a-z0-9_]))|USER(?!([a-z0-9_]))|USING(?!([a-z0-9_]))|VALUE(?!([a-z0-9_]))|VALUES(?!([a-z0-9_]))|VARCHAR(?!([a-z0-9_]))|VARCHAR2(?!([a-z0-9_]))|VARYING(?!([a-z0-9_]))|VIEW(?!([a-z0-9_]))|WHEN(?!([a-z0-9_]))|WHENEVER(?!([a-z0-9_]))|WHERE(?!([a-z0-9_]))|WITH(?!([a-z0-9_]))|WORK(?!([a-z0-9_]))|WRITE(?!([a-z0-9_]))|YEAR(?!([a-z0-9_]))|ZONE(?!([a-z0-9_]))/i]<<}, Parse::RecDescent::_tracefirst($text), q{reserved_non_funcs}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{reserved_non_funcs}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{reserved_non_funcs}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{reserved_non_funcs}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{reserved_non_funcs}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SIZE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SIZE_"}; Parse::RecDescent::_trace(q{Trying rule: [SIZE_]}, Parse::RecDescent::_tracefirst($_[1]), q{SIZE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SIZE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SIZE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SIZE_}); %item = (__RULE__ => q{SIZE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SIZE/i]}, Parse::RecDescent::_tracefirst($text), q{SIZE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SIZE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SIZE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SIZE/i]<<}, Parse::RecDescent::_tracefirst($text), q{SIZE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SIZE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SIZE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SIZE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SIZE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::INTERVAL_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"INTERVAL_"}; Parse::RecDescent::_trace(q{Trying rule: [INTERVAL_]}, Parse::RecDescent::_tracefirst($_[1]), q{INTERVAL_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INTERVAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{INTERVAL_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{INTERVAL_}); %item = (__RULE__ => q{INTERVAL_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INTERVAL/i]}, Parse::RecDescent::_tracefirst($text), q{INTERVAL_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INTERVAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{INTERVAL_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/INTERVAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{INTERVAL_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{INTERVAL_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{INTERVAL_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{INTERVAL_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{INTERVAL_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::_alternation_1_of_production_4_of_rule_column_type { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_4_of_rule_column_type"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_4_of_rule_column_type]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_4_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/long/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_4_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_4_of_rule_column_type}); %item = (__RULE__ => q{_alternation_1_of_production_4_of_rule_column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/long/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_4_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:long)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_4_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/long/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_4_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_4_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_4_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_4_of_rule_column_type}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_4_of_rule_column_type}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::setop_except { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"setop_except"}; Parse::RecDescent::_trace(q{Trying rule: [setop_except]}, Parse::RecDescent::_tracefirst($_[1]), q{setop_except}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [EXCEPT ALL]}, Parse::RecDescent::_tracefirst($_[1]), q{setop_except}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{setop_except}); %item = (__RULE__ => q{setop_except}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [EXCEPT]}, Parse::RecDescent::_tracefirst($text), q{setop_except}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::EXCEPT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{setop_except}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [EXCEPT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{setop_except}, $tracelevel) if defined $::RD_TRACE; $item{q{EXCEPT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [ALL]}, Parse::RecDescent::_tracefirst($text), q{setop_except}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{ALL})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::ALL, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{setop_except}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [ALL]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{setop_except}, $tracelevel) if defined $::RD_TRACE; $item{q{ALL(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{setop_except}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @set_op = @{$item[1]}; my @set_all = @{$item{'ALL(?)'}}; $return = {setop => $set_op[0], all => $set_all[0] }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [EXCEPT ALL]<<}, Parse::RecDescent::_tracefirst($text), q{setop_except}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{setop_except}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{setop_except}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{setop_except}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{setop_except}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CURRENT_USER_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CURRENT_USER_"}; Parse::RecDescent::_trace(q{Trying rule: [CURRENT_USER_]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_USER_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CURRENT_USER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_USER_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CURRENT_USER_}); %item = (__RULE__ => q{CURRENT_USER_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CURRENT_USER/i]}, Parse::RecDescent::_tracefirst($text), q{CURRENT_USER_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CURRENT_USER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CURRENT_USER_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CURRENT_USER/i]<<}, Parse::RecDescent::_tracefirst($text), q{CURRENT_USER_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_USER_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CURRENT_USER_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CURRENT_USER_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CURRENT_USER_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DATE_"}; Parse::RecDescent::_trace(q{Trying rule: [DATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{DATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DATE_}); %item = (__RULE__ => q{DATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DATE/i]}, Parse::RecDescent::_tracefirst($text), q{DATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{DATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sql_ddl { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sql_ddl"}; Parse::RecDescent::_trace(q{Trying rule: [sql_ddl]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_alter]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sql_ddl}); %item = (__RULE__ => q{sql_ddl}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_alter]}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_alter($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_alter]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_alter}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_alter => $item{sql_alter}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_alter]<<}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_drop]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{sql_ddl}); %item = (__RULE__ => q{sql_ddl}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_drop]}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_drop($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_drop]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_drop}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_drop => $item{sql_drop}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_drop]<<}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_create]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{sql_ddl}); %item = (__RULE__ => q{sql_ddl}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_create]}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_create($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_create]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_create}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_create => $item{sql_create}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_create]<<}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; my $_savetext; @item = (q{sql_ddl}); %item = (__RULE__ => q{sql_ddl}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{ unknown or invalid command},$thisline];} unless $_noactions; undef } else {0} }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sql_ddl}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sql_ddl}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sql_ddl}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::FULL { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FULL"}; Parse::RecDescent::_trace(q{Trying rule: [FULL]}, Parse::RecDescent::_tracefirst($_[1]), q{FULL}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FULL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FULL}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FULL}); %item = (__RULE__ => q{FULL}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/FULL/i]}, Parse::RecDescent::_tracefirst($text), q{FULL}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:FULL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{FULL}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/FULL/i]<<}, Parse::RecDescent::_tracefirst($text), q{FULL}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{FULL}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FULL}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FULL}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FULL}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::USER_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"USER_"}; Parse::RecDescent::_trace(q{Trying rule: [USER_]}, Parse::RecDescent::_tracefirst($_[1]), q{USER_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/USER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{USER_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{USER_}); %item = (__RULE__ => q{USER_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/USER/i]}, Parse::RecDescent::_tracefirst($text), q{USER_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:USER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{USER_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/USER/i]<<}, Parse::RecDescent::_tracefirst($text), q{USER_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{USER_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{USER_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{USER_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{USER_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TO_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TO_"}; Parse::RecDescent::_trace(q{Trying rule: [TO_]}, Parse::RecDescent::_tracefirst($_[1]), q{TO_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TO/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TO_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TO_}); %item = (__RULE__ => q{TO_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TO/i]}, Parse::RecDescent::_tracefirst($text), q{TO_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TO)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TO_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TO/i]<<}, Parse::RecDescent::_tracefirst($text), q{TO_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TO_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TO_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TO_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TO_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::OPTION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OPTION_"}; Parse::RecDescent::_trace(q{Trying rule: [OPTION_]}, Parse::RecDescent::_tracefirst($_[1]), q{OPTION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OPTION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{OPTION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OPTION_}); %item = (__RULE__ => q{OPTION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/OPTION/i]}, Parse::RecDescent::_tracefirst($text), q{OPTION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:OPTION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{OPTION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/OPTION/i]<<}, Parse::RecDescent::_tracefirst($text), q{OPTION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{OPTION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OPTION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OPTION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OPTION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ASSERTION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ASSERTION_"}; Parse::RecDescent::_trace(q{Trying rule: [ASSERTION_]}, Parse::RecDescent::_tracefirst($_[1]), q{ASSERTION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ASSERTION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ASSERTION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ASSERTION_}); %item = (__RULE__ => q{ASSERTION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ASSERTION/i]}, Parse::RecDescent::_tracefirst($text), q{ASSERTION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ASSERTION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ASSERTION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ASSERTION/i]<<}, Parse::RecDescent::_tracefirst($text), q{ASSERTION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ASSERTION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ASSERTION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ASSERTION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ASSERTION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::column_default { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"column_default"}; Parse::RecDescent::_trace(q{Trying rule: [column_default]}, Parse::RecDescent::_tracefirst($_[1]), q{column_default}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [DEFAULT value_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{column_default}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{column_default}); %item = (__RULE__ => q{column_default}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [DEFAULT]}, Parse::RecDescent::_tracefirst($text), q{column_default}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::DEFAULT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_default}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [DEFAULT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_default}, $tracelevel) if defined $::RD_TRACE; $item{q{DEFAULT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{column_default}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{value_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_default}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_default}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_default}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item{value_expression}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [DEFAULT value_expression]<<}, Parse::RecDescent::_tracefirst($text), q{column_default}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{column_default}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{column_default}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{column_default}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{column_default}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::expr_list { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"expr_list"}; Parse::RecDescent::_trace(q{Trying rule: [expr_list]}, Parse::RecDescent::_tracefirst($_[1]), q{expr_list}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{expr_list}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{expr_list}); %item = (__RULE__ => q{expr_list}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{value_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; pop @item; if (defined $1) {push @item, $item{'value_expression(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{value_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'value_expression(s)'}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{expr_list}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{expr_list}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{expr_list}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{expr_list}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{expr_list}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::REAL { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"REAL"}; Parse::RecDescent::_trace(q{Trying rule: [REAL]}, Parse::RecDescent::_tracefirst($_[1]), q{REAL}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/REAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{REAL}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{REAL}); %item = (__RULE__ => q{REAL}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/REAL/i]}, Parse::RecDescent::_tracefirst($text), q{REAL}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:REAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{REAL}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/REAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{REAL}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{REAL}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{REAL}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{REAL}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{REAL}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::_alternation_1_of_production_3_of_rule_column_type { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_3_of_rule_column_type"}; Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_3_of_rule_column_type]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_3_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/long/i]}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_3_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{_alternation_1_of_production_3_of_rule_column_type}); %item = (__RULE__ => q{_alternation_1_of_production_3_of_rule_column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/long/i]}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_3_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:long)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_3_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/long/i]<<}, Parse::RecDescent::_tracefirst($text), q{_alternation_1_of_production_3_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{_alternation_1_of_production_3_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{_alternation_1_of_production_3_of_rule_column_type}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{_alternation_1_of_production_3_of_rule_column_type}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{_alternation_1_of_production_3_of_rule_column_type}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::COMMIT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"COMMIT_"}; Parse::RecDescent::_trace(q{Trying rule: [COMMIT_]}, Parse::RecDescent::_tracefirst($_[1]), q{COMMIT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COMMIT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{COMMIT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{COMMIT_}); %item = (__RULE__ => q{COMMIT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/COMMIT/i]}, Parse::RecDescent::_tracefirst($text), q{COMMIT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:COMMIT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{COMMIT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/COMMIT/i]<<}, Parse::RecDescent::_tracefirst($text), q{COMMIT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{COMMIT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{COMMIT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{COMMIT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{COMMIT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::NATIONAL_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"NATIONAL_"}; Parse::RecDescent::_trace(q{Trying rule: [NATIONAL_]}, Parse::RecDescent::_tracefirst($_[1]), q{NATIONAL_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NATIONAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{NATIONAL_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{NATIONAL_}); %item = (__RULE__ => q{NATIONAL_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/NATIONAL/i]}, Parse::RecDescent::_tracefirst($text), q{NATIONAL_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:NATIONAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{NATIONAL_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/NATIONAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{NATIONAL_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{NATIONAL_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{NATIONAL_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{NATIONAL_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{NATIONAL_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::table_cons { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_cons"}; Parse::RecDescent::_trace(q{Trying rule: [table_cons]}, Parse::RecDescent::_tracefirst($_[1]), q{table_cons}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [UNIQUE column_list]}, Parse::RecDescent::_tracefirst($_[1]), q{table_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_cons}); %item = (__RULE__ => q{table_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [UNIQUE]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::UNIQUE($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [UNIQUE]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{UNIQUE}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {operator => $item[1], cons_type => 'unique', operands => $item{column_list}, # XXX XXX XXX: cleanup column_list => $item{column_list} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [UNIQUE column_list]<<}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [PRIMARY KEY column_list]}, Parse::RecDescent::_tracefirst($_[1]), q{table_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{table_cons}); %item = (__RULE__ => q{table_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [PRIMARY]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::PRIMARY($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [PRIMARY]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{PRIMARY}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [KEY]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{KEY})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::KEY($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [KEY]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{KEY}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {operator => $item[1], cons_type => 'primary_key', operands => $item{column_list}, # XXX XXX XXX: cleanup column_list => $item{column_list} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [PRIMARY KEY column_list]<<}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [FOREIGN KEY column_list REFERENCES_ big_id fkref_column_list]}, Parse::RecDescent::_tracefirst($_[1]), q{table_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{table_cons}); %item = (__RULE__ => q{table_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [FOREIGN]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::FOREIGN($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [FOREIGN]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{FOREIGN}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [KEY]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{KEY})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::KEY($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [KEY]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{KEY}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [REFERENCES_]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{REFERENCES_})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::REFERENCES_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [REFERENCES_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{REFERENCES_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [big_id]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{big_id})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::big_id($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [big_id]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{big_id}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [fkref_column_list]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{fkref_column_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::fkref_column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [fkref_column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{fkref_column_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {operator => $item[1], cons_type => 'foreign_key', operands => { column_list => $item{column_list}, table => $item{big_id}, keycols => $item{fkref_column_list} } } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [FOREIGN KEY column_list REFERENCES_ big_id fkref_column_list]<<}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sqCHECK_ '(' search_cond ')']}, Parse::RecDescent::_tracefirst($_[1]), q{table_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{table_cons}); %item = (__RULE__ => q{table_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sqCHECK_]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sqCHECK_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sqCHECK_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{sqCHECK_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [search_cond]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_cond})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::search_cond($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_cond]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{search_cond}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $p1 = $itempos[3]{offset}{from}; my $p2 = $itempos[3]{offset}{to}; $return = {operator => $item[1], cons_type => 'check', operands => { p1 => $p1, p2 => $p2, sc_tree => $item{search_cond} } }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sqCHECK_ '(' search_cond ')']<<}, Parse::RecDescent::_tracefirst($text), q{table_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{table_cons}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_cons}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_cons}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_cons}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::mult_expr { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"mult_expr"}; Parse::RecDescent::_trace(q{Trying rule: [mult_expr]}, Parse::RecDescent::_tracefirst($_[1]), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{mult_expr}); %item = (__RULE__ => q{mult_expr}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [unary_expr]}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{unary_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::unary_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [unary_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{unary_expr}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [mult_op]}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{mult_op})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::mult_op($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [mult_op]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{mult_op}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [unary_expr]}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{unary_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::unary_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [unary_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{unary_expr}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @math_op = @{$item[1]}; if (exists($item{mult_op})) { $return = {math_op => $item[0], tc_expr_type => 'n', operands => \@math_op }; } else { $return = $math_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{mult_expr}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{mult_expr}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{mult_expr}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{mult_expr}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ON { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ON"}; Parse::RecDescent::_trace(q{Trying rule: [ON]}, Parse::RecDescent::_tracefirst($_[1]), q{ON}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ON/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ON}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ON}); %item = (__RULE__ => q{ON}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ON/i]}, Parse::RecDescent::_tracefirst($text), q{ON}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ON)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ON}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/ON/i]<<}, Parse::RecDescent::_tracefirst($text), q{ON}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ON}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ON}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ON}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ON}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TABLE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TABLE_"}; Parse::RecDescent::_trace(q{Trying rule: [TABLE_]}, Parse::RecDescent::_tracefirst($_[1]), q{TABLE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TABLE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TABLE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TABLE_}); %item = (__RULE__ => q{TABLE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TABLE/i]}, Parse::RecDescent::_tracefirst($text), q{TABLE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TABLE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TABLE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TABLE/i]<<}, Parse::RecDescent::_tracefirst($text), q{TABLE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TABLE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TABLE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TABLE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TABLE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DEALLOCATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DEALLOCATE_"}; Parse::RecDescent::_trace(q{Trying rule: [DEALLOCATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{DEALLOCATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DEALLOCATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DEALLOCATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DEALLOCATE_}); %item = (__RULE__ => q{DEALLOCATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DEALLOCATE/i]}, Parse::RecDescent::_tracefirst($text), q{DEALLOCATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DEALLOCATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DEALLOCATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DEALLOCATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{DEALLOCATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DEALLOCATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DEALLOCATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DEALLOCATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DEALLOCATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::VALUES_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"VALUES_"}; Parse::RecDescent::_trace(q{Trying rule: [VALUES_]}, Parse::RecDescent::_tracefirst($_[1]), q{VALUES_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VALUES/i]}, Parse::RecDescent::_tracefirst($_[1]), q{VALUES_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{VALUES_}); %item = (__RULE__ => q{VALUES_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/VALUES/i]}, Parse::RecDescent::_tracefirst($text), q{VALUES_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:VALUES)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{VALUES_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/VALUES/i]<<}, Parse::RecDescent::_tracefirst($text), q{VALUES_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{VALUES_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{VALUES_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{VALUES_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{VALUES_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DOMAIN_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DOMAIN_"}; Parse::RecDescent::_trace(q{Trying rule: [DOMAIN_]}, Parse::RecDescent::_tracefirst($_[1]), q{DOMAIN_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DOMAIN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DOMAIN_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DOMAIN_}); %item = (__RULE__ => q{DOMAIN_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DOMAIN/i]}, Parse::RecDescent::_tracefirst($text), q{DOMAIN_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DOMAIN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DOMAIN_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DOMAIN/i]<<}, Parse::RecDescent::_tracefirst($text), q{DOMAIN_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DOMAIN_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DOMAIN_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DOMAIN_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DOMAIN_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SECOND_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SECOND_"}; Parse::RecDescent::_trace(q{Trying rule: [SECOND_]}, Parse::RecDescent::_tracefirst($_[1]), q{SECOND_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SECOND/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SECOND_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SECOND_}); %item = (__RULE__ => q{SECOND_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SECOND/i]}, Parse::RecDescent::_tracefirst($text), q{SECOND_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SECOND)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SECOND_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SECOND/i]<<}, Parse::RecDescent::_tracefirst($text), q{SECOND_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SECOND_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SECOND_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SECOND_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SECOND_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::INDICATOR_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"INDICATOR_"}; Parse::RecDescent::_trace(q{Trying rule: [INDICATOR_]}, Parse::RecDescent::_tracefirst($_[1]), q{INDICATOR_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INDICATOR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{INDICATOR_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{INDICATOR_}); %item = (__RULE__ => q{INDICATOR_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INDICATOR/i]}, Parse::RecDescent::_tracefirst($text), q{INDICATOR_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INDICATOR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{INDICATOR_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/INDICATOR/i]<<}, Parse::RecDescent::_tracefirst($text), q{INDICATOR_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{INDICATOR_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{INDICATOR_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{INDICATOR_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{INDICATOR_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ELSE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ELSE_"}; Parse::RecDescent::_trace(q{Trying rule: [ELSE_]}, Parse::RecDescent::_tracefirst($_[1]), q{ELSE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ELSE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ELSE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ELSE_}); %item = (__RULE__ => q{ELSE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ELSE/i]}, Parse::RecDescent::_tracefirst($text), q{ELSE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ELSE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ELSE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ELSE/i]<<}, Parse::RecDescent::_tracefirst($text), q{ELSE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ELSE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ELSE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ELSE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ELSE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ALTER_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ALTER_"}; Parse::RecDescent::_trace(q{Trying rule: [ALTER_]}, Parse::RecDescent::_tracefirst($_[1]), q{ALTER_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ALTER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ALTER_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ALTER_}); %item = (__RULE__ => q{ALTER_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ALTER/i]}, Parse::RecDescent::_tracefirst($text), q{ALTER_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ALTER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ALTER_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ALTER/i]<<}, Parse::RecDescent::_tracefirst($text), q{ALTER_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ALTER_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ALTER_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ALTER_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ALTER_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::qj_leftop { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"qj_leftop"}; Parse::RecDescent::_trace(q{Trying rule: [qj_leftop]}, Parse::RecDescent::_tracefirst($_[1]), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{qj_leftop}); %item = (__RULE__ => q{qj_leftop}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [table_expr_prim]}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_expr_prim})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_expr_prim($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_expr_prim]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $item{q{table_expr_prim}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [qj1]}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{qj1})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::qj1($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [qj1]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $item{q{qj1}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [table_expr_prim]}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_expr_prim})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_expr_prim($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_expr_prim]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $item{q{table_expr_prim}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @join_op = @{$item[1]}; if (exists($item{qj1})) { $return = {join_op => $item[0], operands => \@join_op }; } else { $return = $join_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{qj_leftop}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{qj_leftop}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{qj_leftop}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sql_create { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sql_create"}; Parse::RecDescent::_trace(q{Trying rule: [sql_create]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_create}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [CREATE_ create_guts]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_create}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sql_create}); %item = (__RULE__ => q{sql_create}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [CREATE_]}, Parse::RecDescent::_tracefirst($text), q{sql_create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::CREATE_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [CREATE_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_create}, $tracelevel) if defined $::RD_TRACE; $item{q{CREATE_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{sql_create}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [create_guts]}, Parse::RecDescent::_tracefirst($text), q{sql_create}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{create_guts})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::create_guts($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_create}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [create_guts]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_create}, $tracelevel) if defined $::RD_TRACE; $item{q{create_guts}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_create}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{create_guts}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [CREATE_ create_guts]<<}, Parse::RecDescent::_tracefirst($text), q{sql_create}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sql_create}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sql_create}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sql_create}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sql_create}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::identifier { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"identifier"}; Parse::RecDescent::_trace(q{Trying rule: [identifier]}, Parse::RecDescent::_tracefirst($_[1]), q{identifier}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [quoted_string]}, Parse::RecDescent::_tracefirst($_[1]), q{identifier}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{identifier}); %item = (__RULE__ => q{identifier}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [quoted_string]}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::quoted_string($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [quoted_string]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $item{q{quoted_string}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $p1 = $itempos[1]{offset}{from}; my $p2 = $itempos[1]{offset}{to}; $return = {quoted_string => $item{quoted_string}, p1 => $p1, p2 => $p2 }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [quoted_string]<<}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [bareword]}, Parse::RecDescent::_tracefirst($_[1]), q{identifier}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{identifier}); %item = (__RULE__ => q{identifier}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [bareword]}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bareword($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bareword]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $item{q{bareword}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $p1 = $itempos[1]{offset}{from}; my $p2 = $itempos[1]{offset}{to}; $return = {bareword => $item{bareword}, p1 => $p1, p2 => $p2 }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [bareword]<<}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{identifier}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; my $_savetext; @item = (q{identifier}); %item = (__RULE__ => q{identifier}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{ invalid identifier },$thisline];} unless $_noactions; undef } else {0} }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{identifier}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{identifier}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{identifier}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{identifier}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{identifier}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::scalar_subquery { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"scalar_subquery"}; Parse::RecDescent::_trace(q{Trying rule: [scalar_subquery]}, Parse::RecDescent::_tracefirst($_[1]), q{scalar_subquery}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [subquery]}, Parse::RecDescent::_tracefirst($_[1]), q{scalar_subquery}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{scalar_subquery}); %item = (__RULE__ => q{scalar_subquery}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [subquery]}, Parse::RecDescent::_tracefirst($text), q{scalar_subquery}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::subquery($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{scalar_subquery}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [subquery]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{scalar_subquery}, $tracelevel) if defined $::RD_TRACE; $item{q{subquery}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{scalar_subquery}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [subquery]<<}, Parse::RecDescent::_tracefirst($text), q{scalar_subquery}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{scalar_subquery}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{scalar_subquery}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{scalar_subquery}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{scalar_subquery}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::FALSE { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FALSE"}; Parse::RecDescent::_trace(q{Trying rule: [FALSE]}, Parse::RecDescent::_tracefirst($_[1]), q{FALSE}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FALSE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FALSE}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FALSE}); %item = (__RULE__ => q{FALSE}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/FALSE/i]}, Parse::RecDescent::_tracefirst($text), q{FALSE}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:FALSE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{FALSE}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/FALSE/i]<<}, Parse::RecDescent::_tracefirst($text), q{FALSE}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{FALSE}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FALSE}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FALSE}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FALSE}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::bareword { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"bareword"}; Parse::RecDescent::_trace(q{Trying rule: [bareword]}, Parse::RecDescent::_tracefirst($_[1]), q{bareword}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [reserved_word /([a-z]\\w*)|((_tab1|_col1|_pref1|_tspace|_tsfiles)(?!([a-z0-9_])))/i]}, Parse::RecDescent::_tracefirst($_[1]), q{bareword}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{bareword}); %item = (__RULE__ => q{bareword}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [reserved_word]}, Parse::RecDescent::_tracefirst($text), q{bareword}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); $_savetext = $text;if (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::reserved_word($thisparser,$text,$repeating,1,sub { \@arg }))) { $text = $_savetext; Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bareword}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [reserved_word]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bareword}, $tracelevel) if defined $::RD_TRACE; $item{q{reserved_word}} = $_tok; push @item, $_tok; $text = $_savetext; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/([a-z]\\w*)|((_tab1|_col1|_pref1|_tspace|_tsfiles)(?!([a-z0-9_])))/i]}, Parse::RecDescent::_tracefirst($text), q{bareword}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/([a-z]\\w*)|((_tab1|_col1|_pref1|_tspace|_tsfiles)(?!([a-z0-9_])))/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:([a-z]\w*)|((_tab1|_col1|_pref1|_tspace|_tsfiles)(?!([a-z0-9_]))))//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bareword}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[-1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [reserved_word /([a-z]\\w*)|((_tab1|_col1|_pref1|_tspace|_tsfiles)(?!([a-z0-9_])))/i]<<}, Parse::RecDescent::_tracefirst($text), q{bareword}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{bareword}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{bareword}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{bareword}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{bareword}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::OUTPUT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OUTPUT_"}; Parse::RecDescent::_trace(q{Trying rule: [OUTPUT_]}, Parse::RecDescent::_tracefirst($_[1]), q{OUTPUT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OUTPUT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{OUTPUT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OUTPUT_}); %item = (__RULE__ => q{OUTPUT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/OUTPUT/i]}, Parse::RecDescent::_tracefirst($text), q{OUTPUT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:OUTPUT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{OUTPUT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/OUTPUT/i]<<}, Parse::RecDescent::_tracefirst($text), q{OUTPUT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{OUTPUT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OUTPUT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OUTPUT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OUTPUT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::column_type { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"column_type"}; Parse::RecDescent::_trace(q{Trying rule: [column_type]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sqCHARACTER VARYING col_char_len]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sqCHARACTER]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sqCHARACTER($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sqCHARACTER]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{sqCHARACTER}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [VARYING]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{VARYING})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::VARYING, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [VARYING]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{VARYING(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_char_len]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_char_len})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_char_len, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_char_len]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{col_char_len(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if (scalar(@{$item{'VARYING(?)'}})) { $return = { base => 'c', spec => 'VARCHAR', len => $item{'col_char_len(?)'} }; } else { $return = { base => 'c', spec => 'CHAR', len => $item{'col_char_len(?)'} }; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sqCHARACTER VARYING col_char_len]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sqCHAR VARYING col_char_len]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sqCHAR]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sqCHAR($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sqCHAR]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{sqCHAR}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [VARYING]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{VARYING})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::VARYING, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [VARYING]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{VARYING(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_char_len]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_char_len})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_char_len, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_char_len]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{col_char_len(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if (scalar(@{$item{'VARYING(?)'}})) { $return = { base => 'c', spec => 'VARCHAR', len => $item{'col_char_len(?)'} }; } else { $return = { base => 'c', spec => 'CHAR', len => $item{'col_char_len(?)'} }; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sqCHAR VARYING col_char_len]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/long/i VARCHAR2 col_char_len]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [/long/i]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::_alternation_1_of_production_3_of_rule_column_type, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_3_of_rule_column_type]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_3_of_rule_column_type(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [VARCHAR2]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{VARCHAR2})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::VARCHAR2($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [VARCHAR2]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{VARCHAR2}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_char_len]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_char_len})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_char_len, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_char_len]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{col_char_len(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'c', spec => 'VARCHAR2', len => $item{'col_char_len(?)'} }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/long/i VARCHAR2 col_char_len]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/long/i VARCHAR col_char_len]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [/long/i]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::_alternation_1_of_production_4_of_rule_column_type, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [_alternation_1_of_production_4_of_rule_column_type]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{_alternation_1_of_production_4_of_rule_column_type(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [VARCHAR]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{VARCHAR})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::VARCHAR($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [VARCHAR]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{VARCHAR}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_char_len]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_char_len})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_char_len, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_char_len]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{col_char_len(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'c', spec => 'VARCHAR', len => $item{'col_char_len(?)'} }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/long/i VARCHAR col_char_len]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sqNUMERIC col_num_prec]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sqNUMERIC]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sqNUMERIC($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sqNUMERIC]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{sqNUMERIC}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_num_prec]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_num_prec})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_num_prec, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_num_prec]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{col_num_prec(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'NUMERIC', precision => $item{'col_num_prec(?)'} }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sqNUMERIC col_num_prec]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/number/i col_num_prec]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/number/i]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:number)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_num_prec]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_num_prec})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_num_prec, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_num_prec]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{col_num_prec(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'NUMERIC', precision => $item{'col_num_prec(?)'} }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/number/i col_num_prec]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [DECIMAL col_num_prec]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[6]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [DECIMAL]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::DECIMAL($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [DECIMAL]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{DECIMAL}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_num_prec]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_num_prec})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_num_prec, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_num_prec]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{col_num_prec(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'DECIMAL', precision => $item{'col_num_prec(?)'} }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [DECIMAL col_num_prec]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [DEC col_num_prec]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[7]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [DEC]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::DEC($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [DEC]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{DEC}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_num_prec]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_num_prec})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_num_prec, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_num_prec]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{col_num_prec(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'DECIMAL', precision => $item{'col_num_prec(?)'} }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [DEC col_num_prec]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [INTEGER]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[8]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [INTEGER]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::INTEGER($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [INTEGER]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{INTEGER}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'INTEGER' }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [INTEGER]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [INT]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[9]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [INT]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::INT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [INT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{INT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'INTEGER' }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [INT]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [SMALLINT]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[10]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [SMALLINT]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::SMALLINT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [SMALLINT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{SMALLINT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'SMALLINT' }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [SMALLINT]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [FLOAT col_num_prec]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[11]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [FLOAT]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::FLOAT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [FLOAT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{FLOAT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_num_prec]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_num_prec})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_num_prec, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_num_prec]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{col_num_prec(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'FLOAT', precision => $item{'col_num_prec(?)'} }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [FLOAT col_num_prec]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [REAL]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[12]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [REAL]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::REAL($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [REAL]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{REAL}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'REAL' }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [REAL]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [DOUBLE PRECISION]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[13]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [DOUBLE]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::DOUBLE($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [DOUBLE]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{DOUBLE}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [PRECISION]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{PRECISION})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::PRECISION($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [PRECISION]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $item{q{PRECISION}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'DOUBLE PRECISION' }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [DOUBLE PRECISION]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/c/i]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[14]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/c/i]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:c)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'c', spec => 'c' }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/c/i]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/n/i]}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[15]; $text = $_[1]; my $_savetext; @item = (q{column_type}); %item = (__RULE__ => q{column_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/n/i]}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:n)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { base => 'n', spec => 'n' }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/n/i]<<}, Parse::RecDescent::_tracefirst($text), q{column_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{column_type}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{column_type}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{column_type}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{column_type}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SESSION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SESSION_"}; Parse::RecDescent::_trace(q{Trying rule: [SESSION_]}, Parse::RecDescent::_tracefirst($_[1]), q{SESSION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SESSION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SESSION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SESSION_}); %item = (__RULE__ => q{SESSION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SESSION/i]}, Parse::RecDescent::_tracefirst($text), q{SESSION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SESSION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SESSION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SESSION/i]<<}, Parse::RecDescent::_tracefirst($text), q{SESSION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SESSION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SESSION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SESSION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SESSION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ROWS_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ROWS_"}; Parse::RecDescent::_trace(q{Trying rule: [ROWS_]}, Parse::RecDescent::_tracefirst($_[1]), q{ROWS_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ROWS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ROWS_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ROWS_}); %item = (__RULE__ => q{ROWS_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ROWS/i]}, Parse::RecDescent::_tracefirst($text), q{ROWS_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ROWS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ROWS_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ROWS/i]<<}, Parse::RecDescent::_tracefirst($text), q{ROWS_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ROWS_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ROWS_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ROWS_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ROWS_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::VARCHAR2 { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"VARCHAR2"}; Parse::RecDescent::_trace(q{Trying rule: [VARCHAR2]}, Parse::RecDescent::_tracefirst($_[1]), q{VARCHAR2}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VARCHAR2/i]}, Parse::RecDescent::_tracefirst($_[1]), q{VARCHAR2}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{VARCHAR2}); %item = (__RULE__ => q{VARCHAR2}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/VARCHAR2/i]}, Parse::RecDescent::_tracefirst($text), q{VARCHAR2}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:VARCHAR2)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{VARCHAR2}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/VARCHAR2/i]<<}, Parse::RecDescent::_tracefirst($text), q{VARCHAR2}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{VARCHAR2}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{VARCHAR2}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{VARCHAR2}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{VARCHAR2}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::COLUMN_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"COLUMN_"}; Parse::RecDescent::_trace(q{Trying rule: [COLUMN_]}, Parse::RecDescent::_tracefirst($_[1]), q{COLUMN_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COLUMN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{COLUMN_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{COLUMN_}); %item = (__RULE__ => q{COLUMN_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/COLUMN/i]}, Parse::RecDescent::_tracefirst($text), q{COLUMN_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:COLUMN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{COLUMN_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/COLUMN/i]<<}, Parse::RecDescent::_tracefirst($text), q{COLUMN_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{COLUMN_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{COLUMN_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{COLUMN_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{COLUMN_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::VIEW_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"VIEW_"}; Parse::RecDescent::_trace(q{Trying rule: [VIEW_]}, Parse::RecDescent::_tracefirst($_[1]), q{VIEW_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VIEW/i]}, Parse::RecDescent::_tracefirst($_[1]), q{VIEW_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{VIEW_}); %item = (__RULE__ => q{VIEW_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/VIEW/i]}, Parse::RecDescent::_tracefirst($text), q{VIEW_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:VIEW)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{VIEW_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/VIEW/i]<<}, Parse::RecDescent::_tracefirst($text), q{VIEW_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{VIEW_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{VIEW_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{VIEW_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{VIEW_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::GLOBAL_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"GLOBAL_"}; Parse::RecDescent::_trace(q{Trying rule: [GLOBAL_]}, Parse::RecDescent::_tracefirst($_[1]), q{GLOBAL_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GLOBAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{GLOBAL_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{GLOBAL_}); %item = (__RULE__ => q{GLOBAL_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/GLOBAL/i]}, Parse::RecDescent::_tracefirst($text), q{GLOBAL_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:GLOBAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{GLOBAL_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/GLOBAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{GLOBAL_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{GLOBAL_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{GLOBAL_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{GLOBAL_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{GLOBAL_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SQLERROR_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SQLERROR_"}; Parse::RecDescent::_trace(q{Trying rule: [SQLERROR_]}, Parse::RecDescent::_tracefirst($_[1]), q{SQLERROR_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SQLERROR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SQLERROR_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SQLERROR_}); %item = (__RULE__ => q{SQLERROR_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SQLERROR/i]}, Parse::RecDescent::_tracefirst($text), q{SQLERROR_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SQLERROR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SQLERROR_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SQLERROR/i]<<}, Parse::RecDescent::_tracefirst($text), q{SQLERROR_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SQLERROR_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SQLERROR_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SQLERROR_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SQLERROR_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DESCRIPTOR_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DESCRIPTOR_"}; Parse::RecDescent::_trace(q{Trying rule: [DESCRIPTOR_]}, Parse::RecDescent::_tracefirst($_[1]), q{DESCRIPTOR_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DESCRIPTOR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DESCRIPTOR_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DESCRIPTOR_}); %item = (__RULE__ => q{DESCRIPTOR_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DESCRIPTOR/i]}, Parse::RecDescent::_tracefirst($text), q{DESCRIPTOR_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DESCRIPTOR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DESCRIPTOR_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DESCRIPTOR/i]<<}, Parse::RecDescent::_tracefirst($text), q{DESCRIPTOR_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DESCRIPTOR_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DESCRIPTOR_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DESCRIPTOR_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DESCRIPTOR_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::VARYING { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"VARYING"}; Parse::RecDescent::_trace(q{Trying rule: [VARYING]}, Parse::RecDescent::_tracefirst($_[1]), q{VARYING}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VARYING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{VARYING}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{VARYING}); %item = (__RULE__ => q{VARYING}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/VARYING/i]}, Parse::RecDescent::_tracefirst($text), q{VARYING}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:VARYING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{VARYING}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/VARYING/i]<<}, Parse::RecDescent::_tracefirst($text), q{VARYING}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{VARYING}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{VARYING}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{VARYING}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{VARYING}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::bool_primary { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"bool_primary"}; Parse::RecDescent::_trace(q{Trying rule: [bool_primary]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [predicate]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{bool_primary}); %item = (__RULE__ => q{bool_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [predicate]}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::predicate($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [predicate]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{predicate}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{predicate} }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [predicate]<<}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' search_cond ')']}, Parse::RecDescent::_tracefirst($_[1]), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{bool_primary}); %item = (__RULE__ => q{bool_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [search_cond]}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_cond})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::search_cond($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_cond]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{search_cond}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{search_cond} }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' search_cond ')']<<}, Parse::RecDescent::_tracefirst($text), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{bool_primary}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{bool_primary}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{bool_primary}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{bool_primary}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::join_spec { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"join_spec"}; Parse::RecDescent::_trace(q{Trying rule: [join_spec]}, Parse::RecDescent::_tracefirst($_[1]), q{join_spec}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [ON search_cond]}, Parse::RecDescent::_tracefirst($_[1]), q{join_spec}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{join_spec}); %item = (__RULE__ => q{join_spec}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [ON]}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::ON($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ON]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $item{q{ON}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [search_cond]}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_cond})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::search_cond($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_cond]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $item{q{search_cond}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {ON => $item{search_cond}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [ON search_cond]<<}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [USING column_list]}, Parse::RecDescent::_tracefirst($_[1]), q{join_spec}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{join_spec}); %item = (__RULE__ => q{join_spec}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [USING]}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::USING($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [USING]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $item{q{USING}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {USING => $item{column_list}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [USING column_list]<<}, Parse::RecDescent::_tracefirst($text), q{join_spec}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{join_spec}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{join_spec}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{join_spec}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{join_spec}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sql_query { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sql_query"}; Parse::RecDescent::_trace(q{Trying rule: [sql_query]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_query}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [non_join_query]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_query}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sql_query}); %item = (__RULE__ => q{sql_query}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [non_join_query]}, Parse::RecDescent::_tracefirst($text), q{sql_query}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::non_join_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_query}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [non_join_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_query}, $tracelevel) if defined $::RD_TRACE; $item{q{non_join_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_query}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{non_join_query}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [non_join_query]<<}, Parse::RecDescent::_tracefirst($text), q{sql_query}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sql_query}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sql_query}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sql_query}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sql_query}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::USAGE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"USAGE_"}; Parse::RecDescent::_trace(q{Trying rule: [USAGE_]}, Parse::RecDescent::_tracefirst($_[1]), q{USAGE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/USAGE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{USAGE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{USAGE_}); %item = (__RULE__ => q{USAGE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/USAGE/i]}, Parse::RecDescent::_tracefirst($text), q{USAGE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:USAGE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{USAGE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/USAGE/i]<<}, Parse::RecDescent::_tracefirst($text), q{USAGE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{USAGE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{USAGE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{USAGE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{USAGE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::INITIALLY_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"INITIALLY_"}; Parse::RecDescent::_trace(q{Trying rule: [INITIALLY_]}, Parse::RecDescent::_tracefirst($_[1]), q{INITIALLY_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INITIALLY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{INITIALLY_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{INITIALLY_}); %item = (__RULE__ => q{INITIALLY_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INITIALLY/i]}, Parse::RecDescent::_tracefirst($text), q{INITIALLY_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INITIALLY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{INITIALLY_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/INITIALLY/i]<<}, Parse::RecDescent::_tracefirst($text), q{INITIALLY_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{INITIALLY_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{INITIALLY_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{INITIALLY_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{INITIALLY_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ESCAPE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ESCAPE_"}; Parse::RecDescent::_trace(q{Trying rule: [ESCAPE_]}, Parse::RecDescent::_tracefirst($_[1]), q{ESCAPE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ESCAPE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ESCAPE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ESCAPE_}); %item = (__RULE__ => q{ESCAPE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ESCAPE/i]}, Parse::RecDescent::_tracefirst($text), q{ESCAPE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ESCAPE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ESCAPE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ESCAPE/i]<<}, Parse::RecDescent::_tracefirst($text), q{ESCAPE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ESCAPE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ESCAPE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ESCAPE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ESCAPE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ALLOCATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ALLOCATE_"}; Parse::RecDescent::_trace(q{Trying rule: [ALLOCATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{ALLOCATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ALLOCATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ALLOCATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ALLOCATE_}); %item = (__RULE__ => q{ALLOCATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ALLOCATE/i]}, Parse::RecDescent::_tracefirst($text), q{ALLOCATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ALLOCATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ALLOCATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ALLOCATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{ALLOCATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ALLOCATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ALLOCATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ALLOCATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ALLOCATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DESC_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DESC_"}; Parse::RecDescent::_trace(q{Trying rule: [DESC_]}, Parse::RecDescent::_tracefirst($_[1]), q{DESC_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DESC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DESC_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DESC_}); %item = (__RULE__ => q{DESC_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DESC/i]}, Parse::RecDescent::_tracefirst($text), q{DESC_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DESC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DESC_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DESC/i]<<}, Parse::RecDescent::_tracefirst($text), q{DESC_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DESC_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DESC_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DESC_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DESC_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::column_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"column_name"}; Parse::RecDescent::_trace(q{Trying rule: [column_name]}, Parse::RecDescent::_tracefirst($_[1]), q{column_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [big_id]}, Parse::RecDescent::_tracefirst($_[1]), q{column_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{column_name}); %item = (__RULE__ => q{column_name}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [big_id]}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::big_id($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [big_id]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $item{q{big_id}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [big_id]<<}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{column_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; my $_savetext; @item = (q{column_name}); %item = (__RULE__ => q{column_name}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{ invalid column name},$thisline];} unless $_noactions; undef } else {0} }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{column_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{column_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{column_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{column_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{column_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::col_num_scale { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"col_num_scale"}; Parse::RecDescent::_trace(q{Trying rule: [col_num_scale]}, Parse::RecDescent::_tracefirst($_[1]), q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [',' numeric_literal]}, Parse::RecDescent::_tracefirst($_[1]), q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{col_num_scale}); %item = (__RULE__ => q{col_num_scale}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [',']}, Parse::RecDescent::_tracefirst($text), q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\,//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [numeric_literal]}, Parse::RecDescent::_tracefirst($text), q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{numeric_literal})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::numeric_literal($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [numeric_literal]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; $item{q{numeric_literal}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{numeric_literal} }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [',' numeric_literal]<<}, Parse::RecDescent::_tracefirst($text), q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{col_num_scale}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{col_num_scale}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{col_num_scale}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TIMEZONE_MINUTE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TIMEZONE_MINUTE_"}; Parse::RecDescent::_trace(q{Trying rule: [TIMEZONE_MINUTE_]}, Parse::RecDescent::_tracefirst($_[1]), q{TIMEZONE_MINUTE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TIMEZONE_MINUTE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TIMEZONE_MINUTE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TIMEZONE_MINUTE_}); %item = (__RULE__ => q{TIMEZONE_MINUTE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TIMEZONE_MINUTE/i]}, Parse::RecDescent::_tracefirst($text), q{TIMEZONE_MINUTE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TIMEZONE_MINUTE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TIMEZONE_MINUTE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TIMEZONE_MINUTE/i]<<}, Parse::RecDescent::_tracefirst($text), q{TIMEZONE_MINUTE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TIMEZONE_MINUTE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TIMEZONE_MINUTE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TIMEZONE_MINUTE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TIMEZONE_MINUTE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::count_operand { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"count_operand"}; Parse::RecDescent::_trace(q{Trying rule: [count_operand]}, Parse::RecDescent::_tracefirst($_[1]), q{count_operand}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['*']}, Parse::RecDescent::_tracefirst($_[1]), q{count_operand}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{count_operand}); %item = (__RULE__ => q{count_operand}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['*']}, Parse::RecDescent::_tracefirst($text), q{count_operand}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\*//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{count_operand}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = 'STAR' }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['*']<<}, Parse::RecDescent::_tracefirst($text), q{count_operand}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [value_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{count_operand}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{count_operand}); %item = (__RULE__ => q{count_operand}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{count_operand}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{count_operand}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{count_operand}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{count_operand}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = [{ value_expression => $item{value_expression}}]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [value_expression]<<}, Parse::RecDescent::_tracefirst($text), q{count_operand}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{count_operand}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{count_operand}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{count_operand}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{count_operand}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SUM_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SUM_"}; Parse::RecDescent::_trace(q{Trying rule: [SUM_]}, Parse::RecDescent::_tracefirst($_[1]), q{SUM_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SUM/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SUM_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SUM_}); %item = (__RULE__ => q{SUM_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SUM/i]}, Parse::RecDescent::_tracefirst($text), q{SUM_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SUM)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SUM_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SUM/i]<<}, Parse::RecDescent::_tracefirst($text), q{SUM_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SUM_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SUM_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SUM_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SUM_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sqCHAR { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sqCHAR"}; Parse::RecDescent::_trace(q{Trying rule: [sqCHAR]}, Parse::RecDescent::_tracefirst($_[1]), q{sqCHAR}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CHAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sqCHAR}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sqCHAR}); %item = (__RULE__ => q{sqCHAR}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CHAR/i]}, Parse::RecDescent::_tracefirst($text), q{sqCHAR}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CHAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sqCHAR}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/CHAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{sqCHAR}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sqCHAR}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sqCHAR}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sqCHAR}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sqCHAR}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::bool_TFN { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"bool_TFN"}; Parse::RecDescent::_trace(q{Trying rule: [bool_TFN]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [TRUE]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{bool_TFN}); %item = (__RULE__ => q{bool_TFN}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [TRUE]}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::TRUE($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [TRUE]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $item{q{TRUE}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {tfn_literal => 1, tc_expr_type => 'n' } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [TRUE]<<}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [FALSE]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{bool_TFN}); %item = (__RULE__ => q{bool_TFN}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [FALSE]}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::FALSE($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [FALSE]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $item{q{FALSE}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {tfn_literal => 0, tc_expr_type => 'n' } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [FALSE]<<}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NULL]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{bool_TFN}); %item = (__RULE__ => q{bool_TFN}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [NULL]}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::NULL($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NULL]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $item{q{NULL}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {tfn_literal => undef, tc_expr_type => 'n' } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [NULL]<<}, Parse::RecDescent::_tracefirst($text), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{bool_TFN}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{bool_TFN}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{bool_TFN}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::POSITION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"POSITION_"}; Parse::RecDescent::_trace(q{Trying rule: [POSITION_]}, Parse::RecDescent::_tracefirst($_[1]), q{POSITION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/POSITION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{POSITION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{POSITION_}); %item = (__RULE__ => q{POSITION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/POSITION/i]}, Parse::RecDescent::_tracefirst($text), q{POSITION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:POSITION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{POSITION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/POSITION/i]<<}, Parse::RecDescent::_tracefirst($text), q{POSITION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{POSITION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{POSITION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{POSITION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{POSITION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::all_distinct { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"all_distinct"}; Parse::RecDescent::_trace(q{Trying rule: [all_distinct]}, Parse::RecDescent::_tracefirst($_[1]), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [ALL]}, Parse::RecDescent::_tracefirst($_[1]), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{all_distinct}); %item = (__RULE__ => q{all_distinct}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [ALL]}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::ALL($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ALL]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; $item{q{ALL}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @ad1 = @{$item[1]}; $return = $ad1[0]; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [ALL]<<}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [DISTINCT]}, Parse::RecDescent::_tracefirst($_[1]), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{all_distinct}); %item = (__RULE__ => q{all_distinct}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [DISTINCT]}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::DISTINCT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [DISTINCT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; $item{q{DISTINCT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @ad1 = @{$item[1]}; $return = $ad1[0]; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [DISTINCT]<<}, Parse::RecDescent::_tracefirst($text), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{all_distinct}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{all_distinct}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{all_distinct}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{all_distinct}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::njq_union { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"njq_union"}; Parse::RecDescent::_trace(q{Trying rule: [njq_union]}, Parse::RecDescent::_tracefirst($_[1]), q{njq_union}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{njq_union}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{njq_union}); %item = (__RULE__ => q{njq_union}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [njq_except]}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{njq_except})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::njq_except($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [njq_except]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $item{q{njq_except}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [setop_union]}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{setop_union})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::setop_union($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [setop_union]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $item{q{setop_union}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [njq_except]}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{njq_except})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::njq_except($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [njq_except]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $item{q{njq_except}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @set_op = @{$item[1]}; if (exists($item{setop_union})) { $return = {sql_setop => $item[0], operands => \@set_op }; } else { $return = $set_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{njq_union}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{njq_union}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{njq_union}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{njq_union}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{njq_union}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::GRANT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"GRANT_"}; Parse::RecDescent::_trace(q{Trying rule: [GRANT_]}, Parse::RecDescent::_tracefirst($_[1]), q{GRANT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GRANT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{GRANT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{GRANT_}); %item = (__RULE__ => q{GRANT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/GRANT/i]}, Parse::RecDescent::_tracefirst($text), q{GRANT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:GRANT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{GRANT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/GRANT/i]<<}, Parse::RecDescent::_tracefirst($text), q{GRANT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{GRANT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{GRANT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{GRANT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{GRANT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::FROM_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FROM_"}; Parse::RecDescent::_trace(q{Trying rule: [FROM_]}, Parse::RecDescent::_tracefirst($_[1]), q{FROM_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FROM/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FROM_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FROM_}); %item = (__RULE__ => q{FROM_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/FROM/i]}, Parse::RecDescent::_tracefirst($text), q{FROM_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:FROM)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{FROM_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/FROM/i]<<}, Parse::RecDescent::_tracefirst($text), q{FROM_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{FROM_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FROM_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FROM_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FROM_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::groupby_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"groupby_clause"}; Parse::RecDescent::_trace(q{Trying rule: [groupby_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [GROUP_ BY_ expr_list]}, Parse::RecDescent::_tracefirst($_[1]), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{groupby_clause}); %item = (__RULE__ => q{groupby_clause}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [GROUP_]}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::GROUP_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [GROUP_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{GROUP_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [BY_]}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{BY_})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::BY_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [BY_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{BY_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [expr_list]}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expr_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::expr_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expr_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{expr_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{expr_list}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [GROUP_ BY_ expr_list]<<}, Parse::RecDescent::_tracefirst($text), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{groupby_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{groupby_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{groupby_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DEFAULT { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DEFAULT"}; Parse::RecDescent::_trace(q{Trying rule: [DEFAULT]}, Parse::RecDescent::_tracefirst($_[1]), q{DEFAULT}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DEFAULT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DEFAULT}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DEFAULT}); %item = (__RULE__ => q{DEFAULT}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DEFAULT/i]}, Parse::RecDescent::_tracefirst($text), q{DEFAULT}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DEFAULT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DEFAULT}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/DEFAULT/i]<<}, Parse::RecDescent::_tracefirst($text), q{DEFAULT}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DEFAULT}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DEFAULT}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DEFAULT}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DEFAULT}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::quoted_string { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"quoted_string"}; Parse::RecDescent::_trace(q{Trying rule: [quoted_string]}, Parse::RecDescent::_tracefirst($_[1]), q{quoted_string}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{quoted_string}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{quoted_string}); %item = (__RULE__ => q{quoted_string}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{quoted_string}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $string = extract_delimited($text,q{"}); $return = $string if $string; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{quoted_string}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{quoted_string}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{quoted_string}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{quoted_string}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{quoted_string}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::INPUT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"INPUT_"}; Parse::RecDescent::_trace(q{Trying rule: [INPUT_]}, Parse::RecDescent::_tracefirst($_[1]), q{INPUT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INPUT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{INPUT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{INPUT_}); %item = (__RULE__ => q{INPUT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INPUT/i]}, Parse::RecDescent::_tracefirst($text), q{INPUT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INPUT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{INPUT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/INPUT/i]<<}, Parse::RecDescent::_tracefirst($text), q{INPUT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{INPUT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{INPUT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{INPUT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{INPUT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TRIM_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TRIM_"}; Parse::RecDescent::_trace(q{Trying rule: [TRIM_]}, Parse::RecDescent::_tracefirst($_[1]), q{TRIM_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRIM/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TRIM_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TRIM_}); %item = (__RULE__ => q{TRIM_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TRIM/i]}, Parse::RecDescent::_tracefirst($text), q{TRIM_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TRIM)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TRIM_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TRIM/i]<<}, Parse::RecDescent::_tracefirst($text), q{TRIM_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TRIM_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TRIM_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TRIM_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TRIM_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CLOSE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CLOSE_"}; Parse::RecDescent::_trace(q{Trying rule: [CLOSE_]}, Parse::RecDescent::_tracefirst($_[1]), q{CLOSE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CLOSE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CLOSE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CLOSE_}); %item = (__RULE__ => q{CLOSE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CLOSE/i]}, Parse::RecDescent::_tracefirst($text), q{CLOSE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CLOSE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CLOSE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CLOSE/i]<<}, Parse::RecDescent::_tracefirst($text), q{CLOSE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CLOSE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CLOSE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CLOSE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CLOSE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CURSOR_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CURSOR_"}; Parse::RecDescent::_trace(q{Trying rule: [CURSOR_]}, Parse::RecDescent::_tracefirst($_[1]), q{CURSOR_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CURSOR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CURSOR_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CURSOR_}); %item = (__RULE__ => q{CURSOR_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CURSOR/i]}, Parse::RecDescent::_tracefirst($text), q{CURSOR_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CURSOR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CURSOR_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CURSOR/i]<<}, Parse::RecDescent::_tracefirst($text), q{CURSOR_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CURSOR_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CURSOR_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CURSOR_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CURSOR_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TRANSACTION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TRANSACTION_"}; Parse::RecDescent::_trace(q{Trying rule: [TRANSACTION_]}, Parse::RecDescent::_tracefirst($_[1]), q{TRANSACTION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRANSACTION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TRANSACTION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TRANSACTION_}); %item = (__RULE__ => q{TRANSACTION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TRANSACTION/i]}, Parse::RecDescent::_tracefirst($text), q{TRANSACTION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TRANSACTION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TRANSACTION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TRANSACTION/i]<<}, Parse::RecDescent::_tracefirst($text), q{TRANSACTION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TRANSACTION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TRANSACTION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TRANSACTION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TRANSACTION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CAST_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CAST_"}; Parse::RecDescent::_trace(q{Trying rule: [CAST_]}, Parse::RecDescent::_tracefirst($_[1]), q{CAST_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CAST/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CAST_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CAST_}); %item = (__RULE__ => q{CAST_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CAST/i]}, Parse::RecDescent::_tracefirst($text), q{CAST_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CAST)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CAST_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CAST/i]<<}, Parse::RecDescent::_tracefirst($text), q{CAST_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CAST_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CAST_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CAST_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CAST_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sqCHARACTER { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sqCHARACTER"}; Parse::RecDescent::_trace(q{Trying rule: [sqCHARACTER]}, Parse::RecDescent::_tracefirst($_[1]), q{sqCHARACTER}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CHARACTER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sqCHARACTER}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sqCHARACTER}); %item = (__RULE__ => q{sqCHARACTER}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CHARACTER/i]}, Parse::RecDescent::_tracefirst($text), q{sqCHARACTER}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CHARACTER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sqCHARACTER}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/CHARACTER/i]<<}, Parse::RecDescent::_tracefirst($text), q{sqCHARACTER}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sqCHARACTER}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sqCHARACTER}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sqCHARACTER}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sqCHARACTER}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::EXISTS_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"EXISTS_"}; Parse::RecDescent::_trace(q{Trying rule: [EXISTS_]}, Parse::RecDescent::_tracefirst($_[1]), q{EXISTS_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/EXISTS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{EXISTS_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{EXISTS_}); %item = (__RULE__ => q{EXISTS_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/EXISTS/i]}, Parse::RecDescent::_tracefirst($text), q{EXISTS_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:EXISTS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{EXISTS_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/EXISTS/i]<<}, Parse::RecDescent::_tracefirst($text), q{EXISTS_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{EXISTS_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{EXISTS_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{EXISTS_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{EXISTS_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::join_LRF { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"join_LRF"}; Parse::RecDescent::_trace(q{Trying rule: [join_LRF]}, Parse::RecDescent::_tracefirst($_[1]), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [LEFT]}, Parse::RecDescent::_tracefirst($_[1]), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{join_LRF}); %item = (__RULE__ => q{join_LRF}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [LEFT]}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::LEFT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [LEFT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $item{q{LEFT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [LEFT]<<}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [RIGHT]}, Parse::RecDescent::_tracefirst($_[1]), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{join_LRF}); %item = (__RULE__ => q{join_LRF}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [RIGHT]}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::RIGHT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [RIGHT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $item{q{RIGHT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [RIGHT]<<}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [FULL]}, Parse::RecDescent::_tracefirst($_[1]), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{join_LRF}); %item = (__RULE__ => q{join_LRF}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [FULL]}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::FULL($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [FULL]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $item{q{FULL}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [FULL]<<}, Parse::RecDescent::_tracefirst($text), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{join_LRF}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{join_LRF}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{join_LRF}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{join_LRF}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::PREPARE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"PREPARE_"}; Parse::RecDescent::_trace(q{Trying rule: [PREPARE_]}, Parse::RecDescent::_tracefirst($_[1]), q{PREPARE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PREPARE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{PREPARE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{PREPARE_}); %item = (__RULE__ => q{PREPARE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/PREPARE/i]}, Parse::RecDescent::_tracefirst($text), q{PREPARE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:PREPARE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{PREPARE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/PREPARE/i]<<}, Parse::RecDescent::_tracefirst($text), q{PREPARE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{PREPARE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{PREPARE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{PREPARE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{PREPARE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::comparison_predicate { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"comparison_predicate"}; Parse::RecDescent::_trace(q{Trying rule: [comparison_predicate]}, Parse::RecDescent::_tracefirst($_[1]), q{comparison_predicate}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [comp_pred1]}, Parse::RecDescent::_tracefirst($_[1]), q{comparison_predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{comparison_predicate}); %item = (__RULE__ => q{comparison_predicate}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [comp_pred1]}, Parse::RecDescent::_tracefirst($text), q{comparison_predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::comp_pred1($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comparison_predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [comp_pred1]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{comparison_predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{comp_pred1}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comparison_predicate}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [comp_pred1]<<}, Parse::RecDescent::_tracefirst($text), q{comparison_predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{comparison_predicate}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{comparison_predicate}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{comparison_predicate}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{comparison_predicate}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::INNER { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"INNER"}; Parse::RecDescent::_trace(q{Trying rule: [INNER]}, Parse::RecDescent::_tracefirst($_[1]), q{INNER}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INNER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{INNER}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{INNER}); %item = (__RULE__ => q{INNER}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INNER/i]}, Parse::RecDescent::_tracefirst($text), q{INNER}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INNER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{INNER}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/INNER/i]<<}, Parse::RecDescent::_tracefirst($text), q{INNER}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{INNER}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{INNER}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{INNER}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{INNER}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TRANSLATION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TRANSLATION_"}; Parse::RecDescent::_trace(q{Trying rule: [TRANSLATION_]}, Parse::RecDescent::_tracefirst($_[1]), q{TRANSLATION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRANSLATION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TRANSLATION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TRANSLATION_}); %item = (__RULE__ => q{TRANSLATION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TRANSLATION/i]}, Parse::RecDescent::_tracefirst($text), q{TRANSLATION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TRANSLATION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TRANSLATION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TRANSLATION/i]<<}, Parse::RecDescent::_tracefirst($text), q{TRANSLATION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TRANSLATION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TRANSLATION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TRANSLATION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TRANSLATION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::PRECISION { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"PRECISION"}; Parse::RecDescent::_trace(q{Trying rule: [PRECISION]}, Parse::RecDescent::_tracefirst($_[1]), q{PRECISION}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PRECISION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{PRECISION}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{PRECISION}); %item = (__RULE__ => q{PRECISION}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/PRECISION/i]}, Parse::RecDescent::_tracefirst($text), q{PRECISION}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:PRECISION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{PRECISION}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/PRECISION/i]<<}, Parse::RecDescent::_tracefirst($text), q{PRECISION}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{PRECISION}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{PRECISION}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{PRECISION}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{PRECISION}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sqMINUS { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sqMINUS"}; Parse::RecDescent::_trace(q{Trying rule: [sqMINUS]}, Parse::RecDescent::_tracefirst($_[1]), q{sqMINUS}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MINUS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sqMINUS}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sqMINUS}); %item = (__RULE__ => q{sqMINUS}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/MINUS/i]}, Parse::RecDescent::_tracefirst($text), q{sqMINUS}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:MINUS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sqMINUS}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/MINUS/i]<<}, Parse::RecDescent::_tracefirst($text), q{sqMINUS}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sqMINUS}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sqMINUS}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sqMINUS}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sqMINUS}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::end_of_query { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"end_of_query"}; Parse::RecDescent::_trace(q{Trying rule: [end_of_query]}, Parse::RecDescent::_tracefirst($_[1]), q{end_of_query}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/\\Z/]}, Parse::RecDescent::_tracefirst($_[1]), q{end_of_query}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{end_of_query}); %item = (__RULE__ => q{end_of_query}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/\\Z/]}, Parse::RecDescent::_tracefirst($text), q{end_of_query}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:\Z)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{end_of_query}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/\\Z/]<<}, Parse::RecDescent::_tracefirst($text), q{end_of_query}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{end_of_query}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{end_of_query}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{end_of_query}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{end_of_query}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::bool_test { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"bool_test"}; Parse::RecDescent::_trace(q{Trying rule: [bool_test]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_test}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [bool_primary bool_isTFN]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_test}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{bool_test}); %item = (__RULE__ => q{bool_test}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [bool_primary]}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bool_primary($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bool_primary]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $item{q{bool_primary}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [bool_isTFN]}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{bool_isTFN})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::bool_isTFN, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [bool_isTFN]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $item{q{bool_isTFN(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if (scalar(@{$item{'bool_isTFN(?)'}})) { $return = {IS => $item{'bool_isTFN(?)'}, operands => $item{bool_primary} }; } else { $return = $item{bool_primary}; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [bool_primary bool_isTFN]<<}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [function_name '(' '(' function_guts ')']}, Parse::RecDescent::_tracefirst($_[1]), q{bool_test}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{bool_test}); %item = (__RULE__ => q{bool_test}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [function_name]}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::function_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [function_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $item{q{function_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); $_savetext = $text; unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $text = $_savetext; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [function_guts]}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{function_guts})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::function_guts, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [function_guts]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $item{q{function_guts(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING3__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = { function_name => $item{function_name}, operands => $item{'function_guts(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [function_name '(' '(' function_guts ')']<<}, Parse::RecDescent::_tracefirst($text), q{bool_test}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{bool_test}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{bool_test}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{bool_test}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{bool_test}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::NCHAR_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"NCHAR_"}; Parse::RecDescent::_trace(q{Trying rule: [NCHAR_]}, Parse::RecDescent::_tracefirst($_[1]), q{NCHAR_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NCHAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{NCHAR_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{NCHAR_}); %item = (__RULE__ => q{NCHAR_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/NCHAR/i]}, Parse::RecDescent::_tracefirst($text), q{NCHAR_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:NCHAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{NCHAR_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/NCHAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{NCHAR_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{NCHAR_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{NCHAR_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{NCHAR_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{NCHAR_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::LIKE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"LIKE_"}; Parse::RecDescent::_trace(q{Trying rule: [LIKE_]}, Parse::RecDescent::_tracefirst($_[1]), q{LIKE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LIKE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{LIKE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{LIKE_}); %item = (__RULE__ => q{LIKE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/LIKE/i]}, Parse::RecDescent::_tracefirst($text), q{LIKE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:LIKE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{LIKE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/LIKE/i]<<}, Parse::RecDescent::_tracefirst($text), q{LIKE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{LIKE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{LIKE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{LIKE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{LIKE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::setop_minus { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"setop_minus"}; Parse::RecDescent::_trace(q{Trying rule: [setop_minus]}, Parse::RecDescent::_tracefirst($_[1]), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sqMINUS ALL]}, Parse::RecDescent::_tracefirst($_[1]), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{setop_minus}); %item = (__RULE__ => q{setop_minus}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sqMINUS]}, Parse::RecDescent::_tracefirst($text), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sqMINUS($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sqMINUS]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; $item{q{sqMINUS}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [ALL]}, Parse::RecDescent::_tracefirst($text), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{ALL})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::ALL, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [ALL]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; $item{q{ALL(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @set_op = @{$item[1]}; my @set_all = @{$item{'ALL(?)'}}; $return = {setop => 'MINUS', # fix name all => $set_all[0] }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sqMINUS ALL]<<}, Parse::RecDescent::_tracefirst($text), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{setop_minus}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{setop_minus}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{setop_minus}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{setop_minus}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ISOLATION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ISOLATION_"}; Parse::RecDescent::_trace(q{Trying rule: [ISOLATION_]}, Parse::RecDescent::_tracefirst($_[1]), q{ISOLATION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ISOLATION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ISOLATION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ISOLATION_}); %item = (__RULE__ => q{ISOLATION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ISOLATION/i]}, Parse::RecDescent::_tracefirst($text), q{ISOLATION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ISOLATION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ISOLATION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ISOLATION/i]<<}, Parse::RecDescent::_tracefirst($text), q{ISOLATION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ISOLATION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ISOLATION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ISOLATION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ISOLATION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::bool_fact { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"bool_fact"}; Parse::RecDescent::_trace(q{Trying rule: [bool_fact]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NOT bool_test]}, Parse::RecDescent::_tracefirst($_[1]), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{bool_fact}); %item = (__RULE__ => q{bool_fact}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [NOT]}, Parse::RecDescent::_tracefirst($text), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::NOT, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NOT]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; $item{q{NOT(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [bool_test]}, Parse::RecDescent::_tracefirst($text), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{bool_test})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bool_test($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bool_test]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; $item{q{bool_test}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if (scalar(@{$item{'NOT(?)'}})) { $return = {bool_op => 'NOT', operands => [$item{bool_test}] }; } else { $return = $item{bool_test}; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [NOT bool_test]<<}, Parse::RecDescent::_tracefirst($text), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{bool_fact}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{bool_fact}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{bool_fact}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{bool_fact}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::col_cons_list { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"col_cons_list"}; Parse::RecDescent::_trace(q{Trying rule: [col_cons_list]}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons_list}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [column_constraint_def]}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons_list}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{col_cons_list}); %item = (__RULE__ => q{col_cons_list}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [column_constraint_def]}, Parse::RecDescent::_tracefirst($text), q{col_cons_list}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::column_constraint_def, 1, 100000000, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons_list}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [column_constraint_def]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{col_cons_list}, $tracelevel) if defined $::RD_TRACE; $item{q{column_constraint_def(s)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_cons_list}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item[1]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [column_constraint_def]<<}, Parse::RecDescent::_tracefirst($text), q{col_cons_list}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons_list}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{col_cons_list}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{col_cons_list}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{col_cons_list}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::LEFT { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"LEFT"}; Parse::RecDescent::_trace(q{Trying rule: [LEFT]}, Parse::RecDescent::_tracefirst($_[1]), q{LEFT}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LEFT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{LEFT}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{LEFT}); %item = (__RULE__ => q{LEFT}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/LEFT/i]}, Parse::RecDescent::_tracefirst($text), q{LEFT}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:LEFT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{LEFT}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/LEFT/i]<<}, Parse::RecDescent::_tracefirst($text), q{LEFT}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{LEFT}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{LEFT}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{LEFT}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{LEFT}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::table_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_name"}; Parse::RecDescent::_trace(q{Trying rule: [table_name]}, Parse::RecDescent::_tracefirst($_[1]), q{table_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [big_id]}, Parse::RecDescent::_tracefirst($_[1]), q{table_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_name}); %item = (__RULE__ => q{table_name}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [big_id]}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::big_id($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [big_id]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $item{q{big_id}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{big_id}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [big_id]<<}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{table_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; my $_savetext; @item = (q{table_name}); %item = (__RULE__ => q{table_name}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{ invalid tablename},$thisline];} unless $_noactions; undef } else {0} }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{table_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{table_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::IDENTITY_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"IDENTITY_"}; Parse::RecDescent::_trace(q{Trying rule: [IDENTITY_]}, Parse::RecDescent::_tracefirst($_[1]), q{IDENTITY_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/IDENTITY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{IDENTITY_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{IDENTITY_}); %item = (__RULE__ => q{IDENTITY_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/IDENTITY/i]}, Parse::RecDescent::_tracefirst($text), q{IDENTITY_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:IDENTITY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{IDENTITY_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/IDENTITY/i]<<}, Parse::RecDescent::_tracefirst($text), q{IDENTITY_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{IDENTITY_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{IDENTITY_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{IDENTITY_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{IDENTITY_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::col_cons { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"col_cons"}; Parse::RecDescent::_trace(q{Trying rule: [col_cons]}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [NOT NULL]}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{col_cons}); %item = (__RULE__ => q{col_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [NOT]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::NOT, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NOT]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{NOT(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [NULL]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{NULL})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::NULL($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [NULL]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{NULL}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {operator => $item[2], cons_type => 'nullable', operands => $item{'NOT(?)'} }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [NOT NULL]<<}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [UNIQUE]}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{col_cons}); %item = (__RULE__ => q{col_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [UNIQUE]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::UNIQUE($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [UNIQUE]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{UNIQUE}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {operator => $item[1], cons_type => 'unique' }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [UNIQUE]<<}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [PRIMARY KEY]}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{col_cons}); %item = (__RULE__ => q{col_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [PRIMARY]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::PRIMARY($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [PRIMARY]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{PRIMARY}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [KEY]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{KEY})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::KEY($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [KEY]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{KEY}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {operator => $item[1], cons_type => 'primary_key' }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [PRIMARY KEY]<<}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [REFERENCES_ big_id fkref_column_list]}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{col_cons}); %item = (__RULE__ => q{col_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [REFERENCES_]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::REFERENCES_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [REFERENCES_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{REFERENCES_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [big_id]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{big_id})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::big_id($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [big_id]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{big_id}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [fkref_column_list]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{fkref_column_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::fkref_column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [fkref_column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{fkref_column_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {operator => $item[1], cons_type => 'foreign_key', operands => { table => $item{big_id}, keycols => $item{fkref_column_list} } } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [REFERENCES_ big_id fkref_column_list]<<}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sqCHECK_ '(' search_cond ')']}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{col_cons}); %item = (__RULE__ => q{col_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sqCHECK_]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sqCHECK_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sqCHECK_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{sqCHECK_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [search_cond]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_cond})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::search_cond($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_cond]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{search_cond}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $p1 = $itempos[3]{offset}{from}; my $p2 = $itempos[3]{offset}{to}; $return = {operator => $item[1], cons_type => 'check', operands => { p1 => $p1, p2 => $p2, sc_tree => $item{search_cond} } }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sqCHECK_ '(' search_cond ')']<<}, Parse::RecDescent::_tracefirst($text), q{col_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{col_cons}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{col_cons}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{col_cons}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{col_cons}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::READ_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"READ_"}; Parse::RecDescent::_trace(q{Trying rule: [READ_]}, Parse::RecDescent::_tracefirst($_[1]), q{READ_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/READ/i]}, Parse::RecDescent::_tracefirst($_[1]), q{READ_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{READ_}); %item = (__RULE__ => q{READ_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/READ/i]}, Parse::RecDescent::_tracefirst($text), q{READ_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:READ)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{READ_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/READ/i]<<}, Parse::RecDescent::_tracefirst($text), q{READ_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{READ_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{READ_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{READ_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{READ_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DAY_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DAY_"}; Parse::RecDescent::_trace(q{Trying rule: [DAY_]}, Parse::RecDescent::_tracefirst($_[1]), q{DAY_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DAY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DAY_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DAY_}); %item = (__RULE__ => q{DAY_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DAY/i]}, Parse::RecDescent::_tracefirst($text), q{DAY_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DAY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DAY_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DAY/i]<<}, Parse::RecDescent::_tracefirst($text), q{DAY_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DAY_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DAY_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DAY_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DAY_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::big_id { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"big_id"}; Parse::RecDescent::_trace(q{Trying rule: [big_id]}, Parse::RecDescent::_tracefirst($_[1]), q{big_id}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{big_id}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{big_id}); %item = (__RULE__ => q{big_id}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [identifier]}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{identifier})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; $item{q{identifier}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/\\./]}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/\\./})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\.)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; pop @item; if (defined $1) {push @item, $item{'identifier(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [identifier]}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{identifier})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; $item{q{identifier}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'identifier(s)'}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @foo = @{$item[1]}; $return = \@foo; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{big_id}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{big_id}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{big_id}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{big_id}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{big_id}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::OCTET_LENGTH_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OCTET_LENGTH_"}; Parse::RecDescent::_trace(q{Trying rule: [OCTET_LENGTH_]}, Parse::RecDescent::_tracefirst($_[1]), q{OCTET_LENGTH_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OCTET_LENGTH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{OCTET_LENGTH_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OCTET_LENGTH_}); %item = (__RULE__ => q{OCTET_LENGTH_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/OCTET_LENGTH/i]}, Parse::RecDescent::_tracefirst($text), q{OCTET_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:OCTET_LENGTH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{OCTET_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/OCTET_LENGTH/i]<<}, Parse::RecDescent::_tracefirst($text), q{OCTET_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{OCTET_LENGTH_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OCTET_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OCTET_LENGTH_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OCTET_LENGTH_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DEC { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DEC"}; Parse::RecDescent::_trace(q{Trying rule: [DEC]}, Parse::RecDescent::_tracefirst($_[1]), q{DEC}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DEC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DEC}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DEC}); %item = (__RULE__ => q{DEC}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DEC/i]}, Parse::RecDescent::_tracefirst($text), q{DEC}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DEC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DEC}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/DEC/i]<<}, Parse::RecDescent::_tracefirst($text), q{DEC}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DEC}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DEC}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DEC}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DEC}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sql_dml { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sql_dml"}; Parse::RecDescent::_trace(q{Trying rule: [sql_dml]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_insert]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sql_dml}); %item = (__RULE__ => q{sql_dml}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_insert]}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_insert($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_insert]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_insert}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_insert => $item{sql_insert}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_insert]<<}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_update]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{sql_dml}); %item = (__RULE__ => q{sql_dml}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_update]}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_update($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_update]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_update}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_update => $item{sql_update}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_update]<<}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_delete]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{sql_dml}); %item = (__RULE__ => q{sql_dml}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_delete]}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_delete($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_delete]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_delete}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_delete => $item{sql_delete}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_delete]<<}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [top_query]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{sql_dml}); %item = (__RULE__ => q{sql_dml}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [top_query]}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::top_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [top_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $item{q{top_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{top_query}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [top_query]<<}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; my $_savetext; @item = (q{sql_dml}); %item = (__RULE__ => q{sql_dml}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{ unknown or invalid command},$thisline];} unless $_noactions; undef } else {0} }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sql_dml}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sql_dml}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sql_dml}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sql_dml}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::OF_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OF_"}; Parse::RecDescent::_trace(q{Trying rule: [OF_]}, Parse::RecDescent::_tracefirst($_[1]), q{OF_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OF/i]}, Parse::RecDescent::_tracefirst($_[1]), q{OF_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OF_}); %item = (__RULE__ => q{OF_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/OF/i]}, Parse::RecDescent::_tracefirst($text), q{OF_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:OF)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{OF_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/OF/i]<<}, Parse::RecDescent::_tracefirst($text), q{OF_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{OF_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OF_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OF_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OF_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DESCRIBE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DESCRIBE_"}; Parse::RecDescent::_trace(q{Trying rule: [DESCRIBE_]}, Parse::RecDescent::_tracefirst($_[1]), q{DESCRIBE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DESCRIBE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DESCRIBE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DESCRIBE_}); %item = (__RULE__ => q{DESCRIBE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DESCRIBE/i]}, Parse::RecDescent::_tracefirst($text), q{DESCRIBE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DESCRIBE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DESCRIBE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DESCRIBE/i]<<}, Parse::RecDescent::_tracefirst($text), q{DESCRIBE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DESCRIBE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DESCRIBE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DESCRIBE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DESCRIBE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::add_op { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"add_op"}; Parse::RecDescent::_trace(q{Trying rule: [add_op]}, Parse::RecDescent::_tracefirst($_[1]), q{add_op}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['+']}, Parse::RecDescent::_tracefirst($_[1]), q{add_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{add_op}); %item = (__RULE__ => q{add_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['+']}, Parse::RecDescent::_tracefirst($text), q{add_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\+//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{add_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['+']<<}, Parse::RecDescent::_tracefirst($text), q{add_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['-']}, Parse::RecDescent::_tracefirst($_[1]), q{add_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{add_op}); %item = (__RULE__ => q{add_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['-']}, Parse::RecDescent::_tracefirst($text), q{add_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\-//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{add_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['-']<<}, Parse::RecDescent::_tracefirst($text), q{add_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{add_op}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{add_op}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{add_op}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{add_op}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::FLOAT { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FLOAT"}; Parse::RecDescent::_trace(q{Trying rule: [FLOAT]}, Parse::RecDescent::_tracefirst($_[1]), q{FLOAT}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FLOAT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FLOAT}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FLOAT}); %item = (__RULE__ => q{FLOAT}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/FLOAT/i]}, Parse::RecDescent::_tracefirst($text), q{FLOAT}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:FLOAT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{FLOAT}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/FLOAT/i]<<}, Parse::RecDescent::_tracefirst($text), q{FLOAT}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{FLOAT}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FLOAT}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FLOAT}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FLOAT}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::MODULE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"MODULE_"}; Parse::RecDescent::_trace(q{Trying rule: [MODULE_]}, Parse::RecDescent::_tracefirst($_[1]), q{MODULE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MODULE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{MODULE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{MODULE_}); %item = (__RULE__ => q{MODULE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/MODULE/i]}, Parse::RecDescent::_tracefirst($text), q{MODULE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:MODULE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{MODULE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/MODULE/i]<<}, Parse::RecDescent::_tracefirst($text), q{MODULE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{MODULE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{MODULE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{MODULE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{MODULE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DIAGNOSTICS_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DIAGNOSTICS_"}; Parse::RecDescent::_trace(q{Trying rule: [DIAGNOSTICS_]}, Parse::RecDescent::_tracefirst($_[1]), q{DIAGNOSTICS_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DIAGNOSTICS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DIAGNOSTICS_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DIAGNOSTICS_}); %item = (__RULE__ => q{DIAGNOSTICS_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DIAGNOSTICS/i]}, Parse::RecDescent::_tracefirst($text), q{DIAGNOSTICS_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DIAGNOSTICS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DIAGNOSTICS_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DIAGNOSTICS/i]<<}, Parse::RecDescent::_tracefirst($text), q{DIAGNOSTICS_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DIAGNOSTICS_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DIAGNOSTICS_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DIAGNOSTICS_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DIAGNOSTICS_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::cj1 { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"cj1"}; Parse::RecDescent::_trace(q{Trying rule: [cj1]}, Parse::RecDescent::_tracefirst($_[1]), q{cj1}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [CROSS JOIN]}, Parse::RecDescent::_tracefirst($_[1]), q{cj1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{cj1}); %item = (__RULE__ => q{cj1}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [CROSS]}, Parse::RecDescent::_tracefirst($text), q{cj1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::CROSS($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{cj1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [CROSS]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{cj1}, $tracelevel) if defined $::RD_TRACE; $item{q{CROSS}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [JOIN]}, Parse::RecDescent::_tracefirst($text), q{cj1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{JOIN})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::JOIN($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{cj1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [JOIN]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{cj1}, $tracelevel) if defined $::RD_TRACE; $item{q{JOIN}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{cj1}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [CROSS JOIN]<<}, Parse::RecDescent::_tracefirst($text), q{cj1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{cj1}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{cj1}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{cj1}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{cj1}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::IMMEDIATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"IMMEDIATE_"}; Parse::RecDescent::_trace(q{Trying rule: [IMMEDIATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{IMMEDIATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/IMMEDIATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{IMMEDIATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{IMMEDIATE_}); %item = (__RULE__ => q{IMMEDIATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/IMMEDIATE/i]}, Parse::RecDescent::_tracefirst($text), q{IMMEDIATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:IMMEDIATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{IMMEDIATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/IMMEDIATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{IMMEDIATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{IMMEDIATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{IMMEDIATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{IMMEDIATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{IMMEDIATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::col_char_len { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"col_char_len"}; Parse::RecDescent::_trace(q{Trying rule: [col_char_len]}, Parse::RecDescent::_tracefirst($_[1]), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' numeric_literal ')']}, Parse::RecDescent::_tracefirst($_[1]), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{col_char_len}); %item = (__RULE__ => q{col_char_len}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [numeric_literal]}, Parse::RecDescent::_tracefirst($text), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{numeric_literal})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::numeric_literal($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [numeric_literal]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; $item{q{numeric_literal}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{numeric_literal} }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' numeric_literal ')']<<}, Parse::RecDescent::_tracefirst($text), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{col_char_len}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{col_char_len}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{col_char_len}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{col_char_len}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SELECT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SELECT_"}; Parse::RecDescent::_trace(q{Trying rule: [SELECT_]}, Parse::RecDescent::_tracefirst($_[1]), q{SELECT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SELECT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SELECT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SELECT_}); %item = (__RULE__ => q{SELECT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SELECT/i]}, Parse::RecDescent::_tracefirst($text), q{SELECT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SELECT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SELECT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SELECT/i]<<}, Parse::RecDescent::_tracefirst($text), q{SELECT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SELECT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SELECT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SELECT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SELECT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ANY_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ANY_"}; Parse::RecDescent::_trace(q{Trying rule: [ANY_]}, Parse::RecDescent::_tracefirst($_[1]), q{ANY_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ANY/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ANY_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ANY_}); %item = (__RULE__ => q{ANY_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ANY/i]}, Parse::RecDescent::_tracefirst($text), q{ANY_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ANY)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ANY_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ANY/i]<<}, Parse::RecDescent::_tracefirst($text), q{ANY_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ANY_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ANY_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ANY_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ANY_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::WRITE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"WRITE_"}; Parse::RecDescent::_trace(q{Trying rule: [WRITE_]}, Parse::RecDescent::_tracefirst($_[1]), q{WRITE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WRITE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{WRITE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{WRITE_}); %item = (__RULE__ => q{WRITE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/WRITE/i]}, Parse::RecDescent::_tracefirst($text), q{WRITE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:WRITE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{WRITE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/WRITE/i]<<}, Parse::RecDescent::_tracefirst($text), q{WRITE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{WRITE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{WRITE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{WRITE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{WRITE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::search_cond { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"search_cond"}; Parse::RecDescent::_trace(q{Trying rule: [search_cond]}, Parse::RecDescent::_tracefirst($_[1]), q{search_cond}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{search_cond}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{search_cond}); %item = (__RULE__ => q{search_cond}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [bool_term]}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{bool_term})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bool_term($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bool_term]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $item{q{bool_term}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [OR]}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{OR})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::OR($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [OR]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $item{q{OR}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [bool_term]}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{bool_term})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bool_term($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bool_term]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $item{q{bool_term}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @bool_op = @{$item[1]}; if (exists($item{OR})) { $return = {bool_op => 'OR', operands => \@bool_op }; } else { $return = $bool_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{search_cond}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{search_cond}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{search_cond}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{search_cond}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{search_cond}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::create_guts { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"create_guts"}; Parse::RecDescent::_trace(q{Trying rule: [create_guts]}, Parse::RecDescent::_tracefirst($_[1]), q{create_guts}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [TABLE_ table_name create_table_def]}, Parse::RecDescent::_tracefirst($_[1]), q{create_guts}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{create_guts}); %item = (__RULE__ => q{create_guts}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [TABLE_]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::TABLE_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [TABLE_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{TABLE_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [create_table_def]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{create_table_def})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::create_table_def($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [create_table_def]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{create_table_def}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { create_op => "TABLE", new_table_name => $item{table_name}, table_def => $item{create_table_def} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [TABLE_ table_name create_table_def]<<}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INDEX/i big_id ON table_name column_list storage_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{create_guts}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{create_guts}); %item = (__RULE__ => q{create_guts}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INDEX/i]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INDEX)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [big_id]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{big_id})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::big_id($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [big_id]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{big_id}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [ON]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{ON})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::ON($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ON]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{ON}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{column_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [storage_clause]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{storage_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::storage_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [storage_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{storage_clause(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { create_op => "INDEX", new_index_name => $item{big_id}, table_name => $item{table_name}, column_list => $item{column_list}, storage_clause => $item{'storage_clause(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/INDEX/i big_id ON table_name column_list storage_clause]<<}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TABLESPACE/i identifier]}, Parse::RecDescent::_tracefirst($_[1]), q{create_guts}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{create_guts}); %item = (__RULE__ => q{create_guts}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TABLESPACE/i]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TABLESPACE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [identifier]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{identifier})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{identifier}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { create_op => "TABLESPACE", new_tablespace_name => [$item{identifier}] }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TABLESPACE/i identifier]<<}, Parse::RecDescent::_tracefirst($text), q{create_guts}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{create_guts}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{create_guts}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{create_guts}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{create_guts}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::setop_isec { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"setop_isec"}; Parse::RecDescent::_trace(q{Trying rule: [setop_isec]}, Parse::RecDescent::_tracefirst($_[1]), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [INTERSECT ALL]}, Parse::RecDescent::_tracefirst($_[1]), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{setop_isec}); %item = (__RULE__ => q{setop_isec}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [INTERSECT]}, Parse::RecDescent::_tracefirst($text), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::INTERSECT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [INTERSECT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; $item{q{INTERSECT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [ALL]}, Parse::RecDescent::_tracefirst($text), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{ALL})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::ALL, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [ALL]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; $item{q{ALL(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @set_op = @{$item[1]}; my @set_all = @{$item{'ALL(?)'}}; $return = {setop => $set_op[0], all => $set_all[0] }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [INTERSECT ALL]<<}, Parse::RecDescent::_tracefirst($text), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{setop_isec}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{setop_isec}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{setop_isec}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{setop_isec}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::PUBLIC_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"PUBLIC_"}; Parse::RecDescent::_trace(q{Trying rule: [PUBLIC_]}, Parse::RecDescent::_tracefirst($_[1]), q{PUBLIC_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PUBLIC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{PUBLIC_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{PUBLIC_}); %item = (__RULE__ => q{PUBLIC_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/PUBLIC/i]}, Parse::RecDescent::_tracefirst($text), q{PUBLIC_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:PUBLIC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{PUBLIC_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/PUBLIC/i]<<}, Parse::RecDescent::_tracefirst($text), q{PUBLIC_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{PUBLIC_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{PUBLIC_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{PUBLIC_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{PUBLIC_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::EXCEPT { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"EXCEPT"}; Parse::RecDescent::_trace(q{Trying rule: [EXCEPT]}, Parse::RecDescent::_tracefirst($_[1]), q{EXCEPT}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/EXCEPT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{EXCEPT}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{EXCEPT}); %item = (__RULE__ => q{EXCEPT}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/EXCEPT/i]}, Parse::RecDescent::_tracefirst($text), q{EXCEPT}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:EXCEPT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{EXCEPT}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/EXCEPT/i]<<}, Parse::RecDescent::_tracefirst($text), q{EXCEPT}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{EXCEPT}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{EXCEPT}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{EXCEPT}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{EXCEPT}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::USING { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"USING"}; Parse::RecDescent::_trace(q{Trying rule: [USING]}, Parse::RecDescent::_tracefirst($_[1]), q{USING}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/USING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{USING}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{USING}); %item = (__RULE__ => q{USING}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/USING/i]}, Parse::RecDescent::_tracefirst($text), q{USING}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:USING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{USING}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/USING/i]<<}, Parse::RecDescent::_tracefirst($text), q{USING}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{USING}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{USING}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{USING}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{USING}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::NAMES_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"NAMES_"}; Parse::RecDescent::_trace(q{Trying rule: [NAMES_]}, Parse::RecDescent::_tracefirst($_[1]), q{NAMES_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NAMES/i]}, Parse::RecDescent::_tracefirst($_[1]), q{NAMES_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{NAMES_}); %item = (__RULE__ => q{NAMES_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/NAMES/i]}, Parse::RecDescent::_tracefirst($text), q{NAMES_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:NAMES)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{NAMES_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/NAMES/i]<<}, Parse::RecDescent::_tracefirst($text), q{NAMES_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{NAMES_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{NAMES_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{NAMES_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{NAMES_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::storage_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"storage_clause"}; Parse::RecDescent::_trace(q{Trying rule: [storage_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{storage_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TABLESPACE/i identifier]}, Parse::RecDescent::_tracefirst($_[1]), q{storage_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{storage_clause}); %item = (__RULE__ => q{storage_clause}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TABLESPACE/i]}, Parse::RecDescent::_tracefirst($text), q{storage_clause}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TABLESPACE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [identifier]}, Parse::RecDescent::_tracefirst($text), q{storage_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{identifier})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{storage_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{storage_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{identifier}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{storage_clause}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { store_op => "TABLESPACE", tablespace_name => [$item{identifier}] }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TABLESPACE/i identifier]<<}, Parse::RecDescent::_tracefirst($text), q{storage_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{storage_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{storage_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{storage_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{storage_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::create_table_def { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"create_table_def"}; Parse::RecDescent::_trace(q{Trying rule: [create_table_def]}, Parse::RecDescent::_tracefirst($_[1]), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [table_constraint_def table_element_list storage_clause ct_as_select]}, Parse::RecDescent::_tracefirst($_[1]), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{create_table_def}); %item = (__RULE__ => q{create_table_def}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [table_constraint_def]}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::table_constraint_def, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [table_constraint_def]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $item{q{table_constraint_def(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [table_element_list]}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{table_element_list})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::table_element_list, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [table_element_list]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $item{q{table_element_list(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [storage_clause]}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{storage_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::storage_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [storage_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $item{q{storage_clause(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [ct_as_select]}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{ct_as_select})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::ct_as_select, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [ct_as_select]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $item{q{ct_as_select(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {tab_column_list => $item{'table_element_list(?)'}, table_query => $item{'ct_as_select(?)'}, table_constraint => $item{'table_constraint_def(?)'}, storage_clause => $item{'storage_clause(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [table_constraint_def table_element_list storage_clause ct_as_select]<<}, Parse::RecDescent::_tracefirst($text), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{create_table_def}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{create_table_def}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{create_table_def}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{create_table_def}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::mult_op { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"mult_op"}; Parse::RecDescent::_trace(q{Trying rule: [mult_op]}, Parse::RecDescent::_tracefirst($_[1]), q{mult_op}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['*']}, Parse::RecDescent::_tracefirst($_[1]), q{mult_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{mult_op}); %item = (__RULE__ => q{mult_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['*']}, Parse::RecDescent::_tracefirst($text), q{mult_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\*//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{mult_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['*']<<}, Parse::RecDescent::_tracefirst($text), q{mult_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['/']}, Parse::RecDescent::_tracefirst($_[1]), q{mult_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{mult_op}); %item = (__RULE__ => q{mult_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['/']}, Parse::RecDescent::_tracefirst($text), q{mult_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\///) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{mult_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['/']<<}, Parse::RecDescent::_tracefirst($text), q{mult_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{mult_op}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{mult_op}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{mult_op}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{mult_op}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::LOWER_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"LOWER_"}; Parse::RecDescent::_trace(q{Trying rule: [LOWER_]}, Parse::RecDescent::_tracefirst($_[1]), q{LOWER_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LOWER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{LOWER_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{LOWER_}); %item = (__RULE__ => q{LOWER_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/LOWER/i]}, Parse::RecDescent::_tracefirst($text), q{LOWER_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:LOWER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{LOWER_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/LOWER/i]<<}, Parse::RecDescent::_tracefirst($text), q{LOWER_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{LOWER_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{LOWER_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{LOWER_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{LOWER_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DECIMAL { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DECIMAL"}; Parse::RecDescent::_trace(q{Trying rule: [DECIMAL]}, Parse::RecDescent::_tracefirst($_[1]), q{DECIMAL}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DECIMAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DECIMAL}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DECIMAL}); %item = (__RULE__ => q{DECIMAL}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DECIMAL/i]}, Parse::RecDescent::_tracefirst($text), q{DECIMAL}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DECIMAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DECIMAL}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/DECIMAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{DECIMAL}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DECIMAL}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DECIMAL}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DECIMAL}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DECIMAL}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::COLLATION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"COLLATION_"}; Parse::RecDescent::_trace(q{Trying rule: [COLLATION_]}, Parse::RecDescent::_tracefirst($_[1]), q{COLLATION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COLLATION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{COLLATION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{COLLATION_}); %item = (__RULE__ => q{COLLATION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/COLLATION/i]}, Parse::RecDescent::_tracefirst($text), q{COLLATION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:COLLATION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{COLLATION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/COLLATION/i]<<}, Parse::RecDescent::_tracefirst($text), q{COLLATION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{COLLATION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{COLLATION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{COLLATION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{COLLATION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TIMEZONE_HOUR_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TIMEZONE_HOUR_"}; Parse::RecDescent::_trace(q{Trying rule: [TIMEZONE_HOUR_]}, Parse::RecDescent::_tracefirst($_[1]), q{TIMEZONE_HOUR_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TIMEZONE_HOUR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TIMEZONE_HOUR_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TIMEZONE_HOUR_}); %item = (__RULE__ => q{TIMEZONE_HOUR_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TIMEZONE_HOUR/i]}, Parse::RecDescent::_tracefirst($text), q{TIMEZONE_HOUR_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TIMEZONE_HOUR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TIMEZONE_HOUR_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TIMEZONE_HOUR/i]<<}, Parse::RecDescent::_tracefirst($text), q{TIMEZONE_HOUR_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TIMEZONE_HOUR_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TIMEZONE_HOUR_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TIMEZONE_HOUR_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TIMEZONE_HOUR_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TRANSLATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TRANSLATE_"}; Parse::RecDescent::_trace(q{Trying rule: [TRANSLATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{TRANSLATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRANSLATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TRANSLATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TRANSLATE_}); %item = (__RULE__ => q{TRANSLATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TRANSLATE/i]}, Parse::RecDescent::_tracefirst($text), q{TRANSLATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TRANSLATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TRANSLATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TRANSLATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{TRANSLATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TRANSLATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TRANSLATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TRANSLATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TRANSLATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::HAVING_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"HAVING_"}; Parse::RecDescent::_trace(q{Trying rule: [HAVING_]}, Parse::RecDescent::_tracefirst($_[1]), q{HAVING_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/HAVING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{HAVING_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{HAVING_}); %item = (__RULE__ => q{HAVING_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/HAVING/i]}, Parse::RecDescent::_tracefirst($text), q{HAVING_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:HAVING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{HAVING_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/HAVING/i]<<}, Parse::RecDescent::_tracefirst($text), q{HAVING_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{HAVING_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{HAVING_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{HAVING_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{HAVING_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::FOREIGN { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FOREIGN"}; Parse::RecDescent::_trace(q{Trying rule: [FOREIGN]}, Parse::RecDescent::_tracefirst($_[1]), q{FOREIGN}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FOREIGN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FOREIGN}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FOREIGN}); %item = (__RULE__ => q{FOREIGN}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/FOREIGN/i]}, Parse::RecDescent::_tracefirst($text), q{FOREIGN}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:FOREIGN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{FOREIGN}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/FOREIGN/i]<<}, Parse::RecDescent::_tracefirst($text), q{FOREIGN}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{FOREIGN}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FOREIGN}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FOREIGN}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FOREIGN}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CURRENT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CURRENT_"}; Parse::RecDescent::_trace(q{Trying rule: [CURRENT_]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CURRENT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CURRENT_}); %item = (__RULE__ => q{CURRENT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CURRENT/i]}, Parse::RecDescent::_tracefirst($text), q{CURRENT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CURRENT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CURRENT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CURRENT/i]<<}, Parse::RecDescent::_tracefirst($text), q{CURRENT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CURRENT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CURRENT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CURRENT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::countfunc_guts { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"countfunc_guts"}; Parse::RecDescent::_trace(q{Trying rule: [countfunc_guts]}, Parse::RecDescent::_tracefirst($_[1]), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [all_distinct count_operand]}, Parse::RecDescent::_tracefirst($_[1]), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{countfunc_guts}); %item = (__RULE__ => q{countfunc_guts}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [all_distinct]}, Parse::RecDescent::_tracefirst($text), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::all_distinct, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [all_distinct]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{all_distinct(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [count_operand]}, Parse::RecDescent::_tracefirst($text), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{count_operand})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::count_operand($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [count_operand]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{count_operand}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {all_distinct => $item{'all_distinct(?)'}, operands => $item{count_operand} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [all_distinct count_operand]<<}, Parse::RecDescent::_tracefirst($text), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{countfunc_guts}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{countfunc_guts}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{countfunc_guts}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::BIT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"BIT_"}; Parse::RecDescent::_trace(q{Trying rule: [BIT_]}, Parse::RecDescent::_tracefirst($_[1]), q{BIT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/BIT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{BIT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{BIT_}); %item = (__RULE__ => q{BIT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/BIT/i]}, Parse::RecDescent::_tracefirst($text), q{BIT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:BIT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{BIT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/BIT/i]<<}, Parse::RecDescent::_tracefirst($text), q{BIT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{BIT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{BIT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{BIT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{BIT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::PARTIAL_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"PARTIAL_"}; Parse::RecDescent::_trace(q{Trying rule: [PARTIAL_]}, Parse::RecDescent::_tracefirst($_[1]), q{PARTIAL_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PARTIAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{PARTIAL_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{PARTIAL_}); %item = (__RULE__ => q{PARTIAL_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/PARTIAL/i]}, Parse::RecDescent::_tracefirst($text), q{PARTIAL_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:PARTIAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{PARTIAL_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/PARTIAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{PARTIAL_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{PARTIAL_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{PARTIAL_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{PARTIAL_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{PARTIAL_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::UPPER_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"UPPER_"}; Parse::RecDescent::_trace(q{Trying rule: [UPPER_]}, Parse::RecDescent::_tracefirst($_[1]), q{UPPER_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UPPER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{UPPER_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{UPPER_}); %item = (__RULE__ => q{UPPER_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/UPPER/i]}, Parse::RecDescent::_tracefirst($text), q{UPPER_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:UPPER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{UPPER_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/UPPER/i]<<}, Parse::RecDescent::_tracefirst($text), q{UPPER_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{UPPER_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{UPPER_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{UPPER_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{UPPER_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SET_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SET_"}; Parse::RecDescent::_trace(q{Trying rule: [SET_]}, Parse::RecDescent::_tracefirst($_[1]), q{SET_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SET/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SET_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SET_}); %item = (__RULE__ => q{SET_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SET/i]}, Parse::RecDescent::_tracefirst($text), q{SET_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SET)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SET_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SET/i]<<}, Parse::RecDescent::_tracefirst($text), q{SET_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SET_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SET_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SET_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SET_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::num_val { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"num_val"}; Parse::RecDescent::_trace(q{Trying rule: [num_val]}, Parse::RecDescent::_tracefirst($_[1]), q{num_val}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [concat_expr]}, Parse::RecDescent::_tracefirst($_[1]), q{num_val}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{num_val}); %item = (__RULE__ => q{num_val}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [concat_expr]}, Parse::RecDescent::_tracefirst($text), q{num_val}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::concat_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{num_val}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [concat_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{num_val}, $tracelevel) if defined $::RD_TRACE; $item{q{concat_expr}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{num_val}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [concat_expr]<<}, Parse::RecDescent::_tracefirst($text), q{num_val}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{num_val}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{num_val}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{num_val}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{num_val}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SQLSTATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SQLSTATE_"}; Parse::RecDescent::_trace(q{Trying rule: [SQLSTATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{SQLSTATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SQLSTATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SQLSTATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SQLSTATE_}); %item = (__RULE__ => q{SQLSTATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SQLSTATE/i]}, Parse::RecDescent::_tracefirst($text), q{SQLSTATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SQLSTATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SQLSTATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SQLSTATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{SQLSTATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SQLSTATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SQLSTATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SQLSTATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SQLSTATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::OVERLAPS_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OVERLAPS_"}; Parse::RecDescent::_trace(q{Trying rule: [OVERLAPS_]}, Parse::RecDescent::_tracefirst($_[1]), q{OVERLAPS_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OVERLAPS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{OVERLAPS_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OVERLAPS_}); %item = (__RULE__ => q{OVERLAPS_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/OVERLAPS/i]}, Parse::RecDescent::_tracefirst($text), q{OVERLAPS_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:OVERLAPS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{OVERLAPS_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/OVERLAPS/i]<<}, Parse::RecDescent::_tracefirst($text), q{OVERLAPS_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{OVERLAPS_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OVERLAPS_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OVERLAPS_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OVERLAPS_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::FETCH_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FETCH_"}; Parse::RecDescent::_trace(q{Trying rule: [FETCH_]}, Parse::RecDescent::_tracefirst($_[1]), q{FETCH_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FETCH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FETCH_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FETCH_}); %item = (__RULE__ => q{FETCH_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/FETCH/i]}, Parse::RecDescent::_tracefirst($text), q{FETCH_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:FETCH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{FETCH_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/FETCH/i]<<}, Parse::RecDescent::_tracefirst($text), q{FETCH_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{FETCH_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FETCH_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FETCH_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FETCH_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::col_expr { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"col_expr"}; Parse::RecDescent::_trace(q{Trying rule: [col_expr]}, Parse::RecDescent::_tracefirst($_[1]), q{col_expr}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [value_expression col_alias]}, Parse::RecDescent::_tracefirst($_[1]), q{col_expr}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{col_expr}); %item = (__RULE__ => q{col_expr}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{col_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_alias]}, Parse::RecDescent::_tracefirst($text), q{col_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_alias})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_alias, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_expr}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_alias]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{col_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{col_alias(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_expr}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $p1 = $itempos[1]{offset}{from}; my $p2 = $itempos[1]{offset}{to}; $return = { value_expression => $item{value_expression}, col_alias => $item{'col_alias(?)'}, p1 => $p1, p2 => $p2, } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [value_expression col_alias]<<}, Parse::RecDescent::_tracefirst($text), q{col_expr}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{col_expr}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{col_expr}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{col_expr}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{col_expr}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::PRESERVE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"PRESERVE_"}; Parse::RecDescent::_trace(q{Trying rule: [PRESERVE_]}, Parse::RecDescent::_tracefirst($_[1]), q{PRESERVE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PRESERVE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{PRESERVE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{PRESERVE_}); %item = (__RULE__ => q{PRESERVE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/PRESERVE/i]}, Parse::RecDescent::_tracefirst($text), q{PRESERVE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:PRESERVE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{PRESERVE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/PRESERVE/i]<<}, Parse::RecDescent::_tracefirst($text), q{PRESERVE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{PRESERVE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{PRESERVE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{PRESERVE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{PRESERVE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::WORK_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"WORK_"}; Parse::RecDescent::_trace(q{Trying rule: [WORK_]}, Parse::RecDescent::_tracefirst($_[1]), q{WORK_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WORK/i]}, Parse::RecDescent::_tracefirst($_[1]), q{WORK_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{WORK_}); %item = (__RULE__ => q{WORK_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/WORK/i]}, Parse::RecDescent::_tracefirst($text), q{WORK_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:WORK)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{WORK_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/WORK/i]<<}, Parse::RecDescent::_tracefirst($text), q{WORK_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{WORK_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{WORK_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{WORK_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{WORK_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TIME_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TIME_"}; Parse::RecDescent::_trace(q{Trying rule: [TIME_]}, Parse::RecDescent::_tracefirst($_[1]), q{TIME_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TIME/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TIME_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TIME_}); %item = (__RULE__ => q{TIME_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TIME/i]}, Parse::RecDescent::_tracefirst($text), q{TIME_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TIME)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TIME_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TIME/i]<<}, Parse::RecDescent::_tracefirst($text), q{TIME_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TIME_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TIME_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TIME_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TIME_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::NULLIF_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"NULLIF_"}; Parse::RecDescent::_trace(q{Trying rule: [NULLIF_]}, Parse::RecDescent::_tracefirst($_[1]), q{NULLIF_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NULLIF/i]}, Parse::RecDescent::_tracefirst($_[1]), q{NULLIF_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{NULLIF_}); %item = (__RULE__ => q{NULLIF_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/NULLIF/i]}, Parse::RecDescent::_tracefirst($text), q{NULLIF_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:NULLIF)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{NULLIF_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/NULLIF/i]<<}, Parse::RecDescent::_tracefirst($text), q{NULLIF_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{NULLIF_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{NULLIF_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{NULLIF_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{NULLIF_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CHARACTER_LENGTH_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CHARACTER_LENGTH_"}; Parse::RecDescent::_trace(q{Trying rule: [CHARACTER_LENGTH_]}, Parse::RecDescent::_tracefirst($_[1]), q{CHARACTER_LENGTH_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CHARACTER_LENGTH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CHARACTER_LENGTH_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CHARACTER_LENGTH_}); %item = (__RULE__ => q{CHARACTER_LENGTH_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CHARACTER_LENGTH/i]}, Parse::RecDescent::_tracefirst($text), q{CHARACTER_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CHARACTER_LENGTH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CHARACTER_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CHARACTER_LENGTH/i]<<}, Parse::RecDescent::_tracefirst($text), q{CHARACTER_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CHARACTER_LENGTH_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CHARACTER_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CHARACTER_LENGTH_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CHARACTER_LENGTH_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SMALLINT { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SMALLINT"}; Parse::RecDescent::_trace(q{Trying rule: [SMALLINT]}, Parse::RecDescent::_tracefirst($_[1]), q{SMALLINT}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SMALLINT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SMALLINT}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SMALLINT}); %item = (__RULE__ => q{SMALLINT}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SMALLINT/i]}, Parse::RecDescent::_tracefirst($text), q{SMALLINT}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SMALLINT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SMALLINT}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/SMALLINT/i]<<}, Parse::RecDescent::_tracefirst($text), q{SMALLINT}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SMALLINT}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SMALLINT}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SMALLINT}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SMALLINT}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sqNUMERIC { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sqNUMERIC"}; Parse::RecDescent::_trace(q{Trying rule: [sqNUMERIC]}, Parse::RecDescent::_tracefirst($_[1]), q{sqNUMERIC}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NUMERIC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sqNUMERIC}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sqNUMERIC}); %item = (__RULE__ => q{sqNUMERIC}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/NUMERIC/i]}, Parse::RecDescent::_tracefirst($text), q{sqNUMERIC}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:NUMERIC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sqNUMERIC}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/NUMERIC/i]<<}, Parse::RecDescent::_tracefirst($text), q{sqNUMERIC}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sqNUMERIC}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sqNUMERIC}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sqNUMERIC}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sqNUMERIC}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::table_elt { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_elt"}; Parse::RecDescent::_trace(q{Trying rule: [table_elt]}, Parse::RecDescent::_tracefirst($_[1]), q{table_elt}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [column_name column_type column_default col_cons_list]}, Parse::RecDescent::_tracefirst($_[1]), q{table_elt}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_elt}); %item = (__RULE__ => q{table_elt}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [column_name]}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::column_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $item{q{column_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [column_type]}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{column_type})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::column_type, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [column_type]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $item{q{column_type(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [column_default]}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{column_default})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::column_default, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [column_default]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $item{q{column_default(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_cons_list]}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_cons_list})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_cons_list, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_cons_list]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $item{q{col_cons_list(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {new_column_name => $item{column_name}, column_type => $item{'column_type(?)'}, column_default => $item{'column_default(?)'}, col_cons_list => $item{'col_cons_list(?)'}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [column_name column_type column_default col_cons_list]<<}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [table_constraint_def]}, Parse::RecDescent::_tracefirst($_[1]), q{table_elt}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{table_elt}); %item = (__RULE__ => q{table_elt}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_constraint_def]}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_constraint_def($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_constraint_def]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $item{q{table_constraint_def}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {table_constraint => $item{table_constraint_def}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [table_constraint_def]<<}, Parse::RecDescent::_tracefirst($text), q{table_elt}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{table_elt}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_elt}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_elt}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_elt}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::concat_expr { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"concat_expr"}; Parse::RecDescent::_trace(q{Trying rule: [concat_expr]}, Parse::RecDescent::_tracefirst($_[1]), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{concat_expr}); %item = (__RULE__ => q{concat_expr}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [add_expr]}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{add_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::add_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [add_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{add_expr}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [concat_op]}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{concat_op})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::concat_op($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [concat_op]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{concat_op}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [add_expr]}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{add_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::add_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [add_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{add_expr}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @math_op = @{$item[1]}; if (exists($item{concat_op})) { $return = {math_op => $item[0], tc_expr_type => 'c', operands => \@math_op }; } else { $return = $math_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{concat_expr}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{concat_expr}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{concat_expr}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{concat_expr}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::GROUP_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"GROUP_"}; Parse::RecDescent::_trace(q{Trying rule: [GROUP_]}, Parse::RecDescent::_tracefirst($_[1]), q{GROUP_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GROUP/i]}, Parse::RecDescent::_tracefirst($_[1]), q{GROUP_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{GROUP_}); %item = (__RULE__ => q{GROUP_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/GROUP/i]}, Parse::RecDescent::_tracefirst($text), q{GROUP_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:GROUP)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{GROUP_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/GROUP/i]<<}, Parse::RecDescent::_tracefirst($text), q{GROUP_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{GROUP_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{GROUP_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{GROUP_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{GROUP_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::function_base_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"function_base_name"}; Parse::RecDescent::_trace(q{Trying rule: [function_base_name]}, Parse::RecDescent::_tracefirst($_[1]), q{function_base_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [reserved_non_funcs /[a-z]\\w*/i]}, Parse::RecDescent::_tracefirst($_[1]), q{function_base_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{function_base_name}); %item = (__RULE__ => q{function_base_name}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [reserved_non_funcs]}, Parse::RecDescent::_tracefirst($text), q{function_base_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); $_savetext = $text;if (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::reserved_non_funcs($thisparser,$text,$repeating,1,sub { \@arg }))) { $text = $_savetext; Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{function_base_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [reserved_non_funcs]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{function_base_name}, $tracelevel) if defined $::RD_TRACE; $item{q{reserved_non_funcs}} = $_tok; push @item, $_tok; $text = $_savetext; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/[a-z]\\w*/i]}, Parse::RecDescent::_tracefirst($text), q{function_base_name}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/[a-z]\\w*/i})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:[a-z]\w*)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{function_base_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[-1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [reserved_non_funcs /[a-z]\\w*/i]<<}, Parse::RecDescent::_tracefirst($text), q{function_base_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{function_base_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{function_base_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{function_base_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{function_base_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::njq_minus { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"njq_minus"}; Parse::RecDescent::_trace(q{Trying rule: [njq_minus]}, Parse::RecDescent::_tracefirst($_[1]), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{njq_minus}); %item = (__RULE__ => q{njq_minus}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [njq_union]}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{njq_union})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::njq_union($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [njq_union]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $item{q{njq_union}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [setop_minus]}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{setop_minus})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::setop_minus($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [setop_minus]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $item{q{setop_minus}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [njq_union]}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{njq_union})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::njq_union($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [njq_union]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $item{q{njq_union}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @set_op = @{$item[1]}; if (exists($item{setop_minus})) { $return = {sql_setop => $item[0], operands => \@set_op }; } else { $return = $set_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{njq_minus}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{njq_minus}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{njq_minus}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{njq_minus}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SOME_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SOME_"}; Parse::RecDescent::_trace(q{Trying rule: [SOME_]}, Parse::RecDescent::_tracefirst($_[1]), q{SOME_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SOME/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SOME_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SOME_}); %item = (__RULE__ => q{SOME_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SOME/i]}, Parse::RecDescent::_tracefirst($text), q{SOME_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SOME)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SOME_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SOME/i]<<}, Parse::RecDescent::_tracefirst($text), q{SOME_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SOME_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SOME_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SOME_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SOME_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::add_table_cons { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"add_table_cons"}; Parse::RecDescent::_trace(q{Trying rule: [add_table_cons]}, Parse::RecDescent::_tracefirst($_[1]), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [ADD_ table_constraint_def]}, Parse::RecDescent::_tracefirst($_[1]), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{add_table_cons}); %item = (__RULE__ => q{add_table_cons}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [ADD_]}, Parse::RecDescent::_tracefirst($text), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::ADD_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [ADD_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{ADD_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_constraint_def]}, Parse::RecDescent::_tracefirst($text), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_constraint_def})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_constraint_def($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_constraint_def]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; $item{q{table_constraint_def}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item{table_constraint_def}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [ADD_ table_constraint_def]<<}, Parse::RecDescent::_tracefirst($text), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{add_table_cons}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{add_table_cons}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{add_table_cons}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::OUTER { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OUTER"}; Parse::RecDescent::_trace(q{Trying rule: [OUTER]}, Parse::RecDescent::_tracefirst($_[1]), q{OUTER}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OUTER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{OUTER}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OUTER}); %item = (__RULE__ => q{OUTER}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/OUTER/i]}, Parse::RecDescent::_tracefirst($text), q{OUTER}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:OUTER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{OUTER}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/OUTER/i]<<}, Parse::RecDescent::_tracefirst($text), q{OUTER}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{OUTER}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OUTER}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OUTER}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OUTER}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CREATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CREATE_"}; Parse::RecDescent::_trace(q{Trying rule: [CREATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{CREATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CREATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CREATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CREATE_}); %item = (__RULE__ => q{CREATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CREATE/i]}, Parse::RecDescent::_tracefirst($text), q{CREATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CREATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CREATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CREATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{CREATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CREATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CREATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CREATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CREATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::NO_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"NO_"}; Parse::RecDescent::_trace(q{Trying rule: [NO_]}, Parse::RecDescent::_tracefirst($_[1]), q{NO_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/NO/i]}, Parse::RecDescent::_tracefirst($_[1]), q{NO_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{NO_}); %item = (__RULE__ => q{NO_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/NO/i]}, Parse::RecDescent::_tracefirst($text), q{NO_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:NO)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{NO_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/NO/i]<<}, Parse::RecDescent::_tracefirst($text), q{NO_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{NO_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{NO_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{NO_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{NO_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CONSTRAINT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CONSTRAINT_"}; Parse::RecDescent::_trace(q{Trying rule: [CONSTRAINT_]}, Parse::RecDescent::_tracefirst($_[1]), q{CONSTRAINT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CONSTRAINT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CONSTRAINT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CONSTRAINT_}); %item = (__RULE__ => q{CONSTRAINT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CONSTRAINT/i]}, Parse::RecDescent::_tracefirst($text), q{CONSTRAINT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CONSTRAINT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CONSTRAINT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CONSTRAINT/i]<<}, Parse::RecDescent::_tracefirst($text), q{CONSTRAINT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CONSTRAINT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CONSTRAINT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CONSTRAINT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CONSTRAINT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sqBEGIN_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sqBEGIN_"}; Parse::RecDescent::_trace(q{Trying rule: [sqBEGIN_]}, Parse::RecDescent::_tracefirst($_[1]), q{sqBEGIN_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/BEGIN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sqBEGIN_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sqBEGIN_}); %item = (__RULE__ => q{sqBEGIN_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/BEGIN/i]}, Parse::RecDescent::_tracefirst($text), q{sqBEGIN_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:BEGIN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sqBEGIN_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/BEGIN/i]<<}, Parse::RecDescent::_tracefirst($text), q{sqBEGIN_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sqBEGIN_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sqBEGIN_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sqBEGIN_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sqBEGIN_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::VARCHAR { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"VARCHAR"}; Parse::RecDescent::_trace(q{Trying rule: [VARCHAR]}, Parse::RecDescent::_tracefirst($_[1]), q{VARCHAR}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VARCHAR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{VARCHAR}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{VARCHAR}); %item = (__RULE__ => q{VARCHAR}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/VARCHAR/i]}, Parse::RecDescent::_tracefirst($text), q{VARCHAR}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:VARCHAR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{VARCHAR}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/VARCHAR/i]<<}, Parse::RecDescent::_tracefirst($text), q{VARCHAR}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{VARCHAR}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{VARCHAR}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{VARCHAR}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{VARCHAR}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DELETE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DELETE_"}; Parse::RecDescent::_trace(q{Trying rule: [DELETE_]}, Parse::RecDescent::_tracefirst($_[1]), q{DELETE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DELETE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DELETE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DELETE_}); %item = (__RULE__ => q{DELETE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DELETE/i]}, Parse::RecDescent::_tracefirst($text), q{DELETE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DELETE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DELETE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DELETE/i]<<}, Parse::RecDescent::_tracefirst($text), q{DELETE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DELETE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DELETE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DELETE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DELETE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sql_select { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sql_select"}; Parse::RecDescent::_trace(q{Trying rule: [sql_select]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_select}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [SELECT_ all_distinct select_list from_clause where_clause groupby_clause having_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_select}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sql_select}); %item = (__RULE__ => q{sql_select}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [SELECT_]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::SELECT_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [SELECT_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $item{q{SELECT_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [all_distinct]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{all_distinct})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::all_distinct, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [all_distinct]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $item{q{all_distinct(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [select_list]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{select_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::select_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [select_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $item{q{select_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [from_clause]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{from_clause})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::from_clause($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [from_clause]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $item{q{from_clause}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [where_clause]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{where_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::where_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [where_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $item{q{where_clause(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [groupby_clause]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{groupby_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::groupby_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [groupby_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $item{q{groupby_clause(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [having_clause]}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{having_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::having_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [having_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $item{q{having_clause(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {all_distinct => $item{'all_distinct(?)'}, select_list => $item{select_list}, from_clause => $item{from_clause}, where_clause => $item{'where_clause(?)'}, groupby_clause => $item{'groupby_clause(?)'}, having_clause => $item{'having_clause(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [SELECT_ all_distinct select_list from_clause where_clause groupby_clause having_clause]<<}, Parse::RecDescent::_tracefirst($text), q{sql_select}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sql_select}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sql_select}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sql_select}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sql_select}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::join_type { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"join_type"}; Parse::RecDescent::_trace(q{Trying rule: [join_type]}, Parse::RecDescent::_tracefirst($_[1]), q{join_type}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [INNER]}, Parse::RecDescent::_tracefirst($_[1]), q{join_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{join_type}); %item = (__RULE__ => q{join_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [INNER]}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::INNER($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [INNER]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $item{q{INNER}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {$item[0] => $item[1] }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [INNER]<<}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [join_LRF OUTER]}, Parse::RecDescent::_tracefirst($_[1]), q{join_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{join_type}); %item = (__RULE__ => q{join_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [join_LRF]}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::join_LRF($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [join_LRF]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $item{q{join_LRF}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [OUTER]}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{OUTER})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::OUTER, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [OUTER]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $item{q{OUTER(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {$item[0] => $item[1], OUTER => $item{'OUTER(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [join_LRF OUTER]<<}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [UNION]}, Parse::RecDescent::_tracefirst($_[1]), q{join_type}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{join_type}); %item = (__RULE__ => q{join_type}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [UNION]}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::UNION($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [UNION]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $item{q{UNION}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {$item[0] => $item[1] }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [UNION]<<}, Parse::RecDescent::_tracefirst($text), q{join_type}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{join_type}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{join_type}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{join_type}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{join_type}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SYSTEM_USER_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SYSTEM_USER_"}; Parse::RecDescent::_trace(q{Trying rule: [SYSTEM_USER_]}, Parse::RecDescent::_tracefirst($_[1]), q{SYSTEM_USER_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SYSTEM_USER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SYSTEM_USER_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SYSTEM_USER_}); %item = (__RULE__ => q{SYSTEM_USER_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SYSTEM_USER/i]}, Parse::RecDescent::_tracefirst($text), q{SYSTEM_USER_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SYSTEM_USER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SYSTEM_USER_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SYSTEM_USER/i]<<}, Parse::RecDescent::_tracefirst($text), q{SYSTEM_USER_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SYSTEM_USER_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SYSTEM_USER_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SYSTEM_USER_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SYSTEM_USER_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ORDER_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ORDER_"}; Parse::RecDescent::_trace(q{Trying rule: [ORDER_]}, Parse::RecDescent::_tracefirst($_[1]), q{ORDER_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ORDER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ORDER_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ORDER_}); %item = (__RULE__ => q{ORDER_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ORDER/i]}, Parse::RecDescent::_tracefirst($text), q{ORDER_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ORDER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ORDER_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ORDER/i]<<}, Parse::RecDescent::_tracefirst($text), q{ORDER_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ORDER_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ORDER_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ORDER_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ORDER_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::col_num_prec { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"col_num_prec"}; Parse::RecDescent::_trace(q{Trying rule: [col_num_prec]}, Parse::RecDescent::_tracefirst($_[1]), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' numeric_literal col_num_scale ')']}, Parse::RecDescent::_tracefirst($_[1]), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{col_num_prec}); %item = (__RULE__ => q{col_num_prec}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [numeric_literal]}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{numeric_literal})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::numeric_literal($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [numeric_literal]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; $item{q{numeric_literal}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [col_num_scale]}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{col_num_scale})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::col_num_scale, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [col_num_scale]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; $item{q{col_num_scale(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { precision => $item{numeric_literal}, scale => $item{'col_num_scale(?)'} }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' numeric_literal col_num_scale ')']<<}, Parse::RecDescent::_tracefirst($text), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{col_num_prec}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{col_num_prec}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{col_num_prec}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::perlish_substitution { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"perlish_substitution"}; Parse::RecDescent::_trace(q{Trying rule: [perlish_substitution]}, Parse::RecDescent::_tracefirst($_[1]), q{perlish_substitution}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: ['=~' ]}, Parse::RecDescent::_tracefirst($_[1]), q{perlish_substitution}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{perlish_substitution}); %item = (__RULE__ => q{perlish_substitution}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['=~']}, Parse::RecDescent::_tracefirst($text), q{perlish_substitution}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\=\~//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{perlish_substitution}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my ($match,@res); ($match,$text,undef,@res) = Text::Balanced::extract_quotelike($text,$skip); $match ? \@res : undef; }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{perlish_substitution}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = { math_op => 'perlish_substitution', operator => $item[1], operands => [$item[1], $item[2]] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['=~' ]<<}, Parse::RecDescent::_tracefirst($text), q{perlish_substitution}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{perlish_substitution}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{perlish_substitution}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{perlish_substitution}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{perlish_substitution}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::concat_op { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"concat_op"}; Parse::RecDescent::_trace(q{Trying rule: [concat_op]}, Parse::RecDescent::_tracefirst($_[1]), q{concat_op}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['||']}, Parse::RecDescent::_tracefirst($_[1]), q{concat_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{concat_op}); %item = (__RULE__ => q{concat_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['||']}, Parse::RecDescent::_tracefirst($text), q{concat_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\|\|//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{concat_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['||']<<}, Parse::RecDescent::_tracefirst($text), q{concat_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{concat_op}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{concat_op}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{concat_op}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{concat_op}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::INTO_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"INTO_"}; Parse::RecDescent::_trace(q{Trying rule: [INTO_]}, Parse::RecDescent::_tracefirst($_[1]), q{INTO_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INTO/i]}, Parse::RecDescent::_tracefirst($_[1]), q{INTO_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{INTO_}); %item = (__RULE__ => q{INTO_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INTO/i]}, Parse::RecDescent::_tracefirst($text), q{INTO_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INTO)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{INTO_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/INTO/i]<<}, Parse::RecDescent::_tracefirst($text), q{INTO_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{INTO_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{INTO_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{INTO_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{INTO_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::comp_op { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"comp_op"}; Parse::RecDescent::_trace(q{Trying rule: [comp_op]}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['<=>']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{comp_op}); %item = (__RULE__ => q{comp_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['<=>']}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\<\=\>//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['<=>']<<}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['==']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{comp_op}); %item = (__RULE__ => q{comp_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['==']}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\=\=//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['==']<<}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['!=']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{comp_op}); %item = (__RULE__ => q{comp_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['!=']}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\!\=//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['!=']<<}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['<>']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{comp_op}); %item = (__RULE__ => q{comp_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['<>']}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\<\>//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['<>']<<}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['>=']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{comp_op}); %item = (__RULE__ => q{comp_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['>=']}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\>\=//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['>=']<<}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['<=']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{comp_op}); %item = (__RULE__ => q{comp_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['<=']}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\<\=//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['<=']<<}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['>']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[6]; $text = $_[1]; my $_savetext; @item = (q{comp_op}); %item = (__RULE__ => q{comp_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['>']}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\>//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['>']<<}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['<']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[7]; $text = $_[1]; my $_savetext; @item = (q{comp_op}); %item = (__RULE__ => q{comp_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['<']}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['<']<<}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['=']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[8]; $text = $_[1]; my $_savetext; @item = (q{comp_op}); %item = (__RULE__ => q{comp_op}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['=']}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\=//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['=']<<}, Parse::RecDescent::_tracefirst($text), q{comp_op}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{comp_op}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{comp_op}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{comp_op}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{comp_op}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::AUTHORIZATION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"AUTHORIZATION_"}; Parse::RecDescent::_trace(q{Trying rule: [AUTHORIZATION_]}, Parse::RecDescent::_tracefirst($_[1]), q{AUTHORIZATION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/AUTHORIZATION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{AUTHORIZATION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{AUTHORIZATION_}); %item = (__RULE__ => q{AUTHORIZATION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/AUTHORIZATION/i]}, Parse::RecDescent::_tracefirst($text), q{AUTHORIZATION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:AUTHORIZATION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{AUTHORIZATION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/AUTHORIZATION/i]<<}, Parse::RecDescent::_tracefirst($text), q{AUTHORIZATION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{AUTHORIZATION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{AUTHORIZATION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{AUTHORIZATION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{AUTHORIZATION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sqCHECK_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sqCHECK_"}; Parse::RecDescent::_trace(q{Trying rule: [sqCHECK_]}, Parse::RecDescent::_tracefirst($_[1]), q{sqCHECK_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CHECK/i]}, Parse::RecDescent::_tracefirst($_[1]), q{sqCHECK_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sqCHECK_}); %item = (__RULE__ => q{sqCHECK_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CHECK/i]}, Parse::RecDescent::_tracefirst($text), q{sqCHECK_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CHECK)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sqCHECK_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CHECK/i]<<}, Parse::RecDescent::_tracefirst($text), q{sqCHECK_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sqCHECK_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sqCHECK_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sqCHECK_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sqCHECK_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ddl_object { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ddl_object"}; Parse::RecDescent::_trace(q{Trying rule: [ddl_object]}, Parse::RecDescent::_tracefirst($_[1]), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [TABLE_ table_name]}, Parse::RecDescent::_tracefirst($_[1]), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ddl_object}); %item = (__RULE__ => q{ddl_object}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [TABLE_]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::TABLE_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [TABLE_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $item{q{TABLE_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { table_name => $item{table_name} }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [TABLE_ table_name]<<}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [VIEW_ table_name]}, Parse::RecDescent::_tracefirst($_[1]), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{ddl_object}); %item = (__RULE__ => q{ddl_object}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [VIEW_]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::VIEW_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [VIEW_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $item{q{VIEW_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { view_name => $item{table_name} }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [VIEW_ table_name]<<}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INDEX/i table_name]}, Parse::RecDescent::_tracefirst($_[1]), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{ddl_object}); %item = (__RULE__ => q{ddl_object}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INDEX/i]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INDEX)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { index_name => $item{table_name} }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/INDEX/i table_name]<<}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TABLESPACE/i table_name]}, Parse::RecDescent::_tracefirst($_[1]), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{ddl_object}); %item = (__RULE__ => q{ddl_object}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TABLESPACE/i]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TABLESPACE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { tablespace_name => $item{table_name} }}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TABLESPACE/i table_name]<<}, Parse::RecDescent::_tracefirst($text), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ddl_object}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ddl_object}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ddl_object}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ddl_object}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::join_tab { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"join_tab"}; Parse::RecDescent::_trace(q{Trying rule: [join_tab]}, Parse::RecDescent::_tracefirst($_[1]), q{join_tab}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [cross_join]}, Parse::RecDescent::_tracefirst($_[1]), q{join_tab}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{join_tab}); %item = (__RULE__ => q{join_tab}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [cross_join]}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::cross_join($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [cross_join]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $item{q{cross_join}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [cross_join]<<}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' join_tab ')']}, Parse::RecDescent::_tracefirst($_[1]), q{join_tab}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{join_tab}); %item = (__RULE__ => q{join_tab}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [join_tab]}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{join_tab})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::join_tab($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [join_tab]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $item{q{join_tab}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[2]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' join_tab ')']<<}, Parse::RecDescent::_tracefirst($text), q{join_tab}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{join_tab}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{join_tab}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{join_tab}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{join_tab}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CROSS { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CROSS"}; Parse::RecDescent::_trace(q{Trying rule: [CROSS]}, Parse::RecDescent::_tracefirst($_[1]), q{CROSS}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CROSS/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CROSS}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CROSS}); %item = (__RULE__ => q{CROSS}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CROSS/i]}, Parse::RecDescent::_tracefirst($text), q{CROSS}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CROSS)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CROSS}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/CROSS/i]<<}, Parse::RecDescent::_tracefirst($text), q{CROSS}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CROSS}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CROSS}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CROSS}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CROSS}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::comp_perlish { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"comp_perlish"}; Parse::RecDescent::_trace(q{Trying rule: [comp_perlish]}, Parse::RecDescent::_tracefirst($_[1]), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['!~']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{comp_perlish}); %item = (__RULE__ => q{comp_perlish}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['!~']}, Parse::RecDescent::_tracefirst($text), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\!\~//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['!~']<<}, Parse::RecDescent::_tracefirst($text), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['=~']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{comp_perlish}); %item = (__RULE__ => q{comp_perlish}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['=~']}, Parse::RecDescent::_tracefirst($text), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\=\~//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['=~']<<}, Parse::RecDescent::_tracefirst($text), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{comp_perlish}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{comp_perlish}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{comp_perlish}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CHAR_LENGTH_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CHAR_LENGTH_"}; Parse::RecDescent::_trace(q{Trying rule: [CHAR_LENGTH_]}, Parse::RecDescent::_tracefirst($_[1]), q{CHAR_LENGTH_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CHAR_LENGTH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CHAR_LENGTH_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CHAR_LENGTH_}); %item = (__RULE__ => q{CHAR_LENGTH_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CHAR_LENGTH/i]}, Parse::RecDescent::_tracefirst($text), q{CHAR_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CHAR_LENGTH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CHAR_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CHAR_LENGTH/i]<<}, Parse::RecDescent::_tracefirst($text), q{CHAR_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CHAR_LENGTH_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CHAR_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CHAR_LENGTH_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CHAR_LENGTH_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SESSION_USER_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SESSION_USER_"}; Parse::RecDescent::_trace(q{Trying rule: [SESSION_USER_]}, Parse::RecDescent::_tracefirst($_[1]), q{SESSION_USER_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SESSION_USER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SESSION_USER_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SESSION_USER_}); %item = (__RULE__ => q{SESSION_USER_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SESSION_USER/i]}, Parse::RecDescent::_tracefirst($text), q{SESSION_USER_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SESSION_USER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SESSION_USER_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SESSION_USER/i]<<}, Parse::RecDescent::_tracefirst($text), q{SESSION_USER_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SESSION_USER_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SESSION_USER_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SESSION_USER_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SESSION_USER_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::function_guts { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"function_guts"}; Parse::RecDescent::_trace(q{Trying rule: [function_guts]}, Parse::RecDescent::_tracefirst($_[1]), q{function_guts}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_query]}, Parse::RecDescent::_tracefirst($_[1]), q{function_guts}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{function_guts}); %item = (__RULE__ => q{function_guts}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_query]}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_query => $item{sql_query}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_query]<<}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [all_distinct expr_list]}, Parse::RecDescent::_tracefirst($_[1]), q{function_guts}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{function_guts}); %item = (__RULE__ => q{function_guts}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [all_distinct]}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::all_distinct, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [all_distinct]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{all_distinct(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [expr_list]}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expr_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::expr_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expr_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{expr_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {all_distinct => $item{'all_distinct(?)'}, operands => $item{expr_list} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [all_distinct expr_list]<<}, Parse::RecDescent::_tracefirst($text), q{function_guts}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{function_guts}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{function_guts}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{function_guts}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{function_guts}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::value_expr_primary { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"value_expr_primary"}; Parse::RecDescent::_trace(q{Trying rule: [value_expr_primary]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' value_expression ')']}, Parse::RecDescent::_tracefirst($_[1]), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{value_expr_primary}); %item = (__RULE__ => q{value_expr_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{value_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{value_expression}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' value_expression ')']<<}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [column_name '(']}, Parse::RecDescent::_tracefirst($_[1]), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{value_expr_primary}); %item = (__RULE__ => q{value_expr_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [column_name]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::column_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{column_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); $_savetext = $text; if ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $text = $_savetext; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {column_name => $item{column_name}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [column_name '(']<<}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [numeric_literal]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{value_expr_primary}); %item = (__RULE__ => q{value_expr_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [numeric_literal]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::numeric_literal($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [numeric_literal]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{numeric_literal}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {numeric_literal => $item{numeric_literal}, tc_expr_type => 'n' } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [numeric_literal]<<}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [string_literal]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{value_expr_primary}); %item = (__RULE__ => q{value_expr_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [string_literal]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::string_literal($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [string_literal]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{string_literal}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {string_literal => $item[1], tc_expr_type => 'c' } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [string_literal]<<}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [bind_placeholder]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[4]; $text = $_[1]; my $_savetext; @item = (q{value_expr_primary}); %item = (__RULE__ => q{value_expr_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [bind_placeholder]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::bind_placeholder($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [bind_placeholder]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{bind_placeholder}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [bind_placeholder]<<}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [scalar_subquery]}, Parse::RecDescent::_tracefirst($_[1]), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[5]; $text = $_[1]; my $_savetext; @item = (q{value_expr_primary}); %item = (__RULE__ => q{value_expr_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [scalar_subquery]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::scalar_subquery($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [scalar_subquery]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $item{q{scalar_subquery}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{scalar_subquery}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [scalar_subquery]<<}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[6]; my $_savetext; @item = (q{value_expr_primary}); %item = (__RULE__ => q{value_expr_primary}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{ invalid expression},$thisline];} unless $_noactions; undef } else {0} }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{value_expr_primary}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{value_expr_primary}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{value_expr_primary}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::unary_expr { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"unary_expr"}; Parse::RecDescent::_trace(q{Trying rule: [unary_expr]}, Parse::RecDescent::_tracefirst($_[1]), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [unary_op num_primary1]}, Parse::RecDescent::_tracefirst($_[1]), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{unary_expr}); %item = (__RULE__ => q{unary_expr}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [unary_op]}, Parse::RecDescent::_tracefirst($text), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::unary_op, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [unary_op]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{unary_op(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [num_primary1]}, Parse::RecDescent::_tracefirst($text), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{num_primary1})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::num_primary1($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [num_primary1]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{num_primary1}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if (scalar(@{$item{'unary_op(?)'}})) { $return = {unary => $item{'unary_op(?)'}, tc_expr_type => 'n', val => $item{num_primary1} } } else { $return = $item{num_primary1}; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [unary_op num_primary1]<<}, Parse::RecDescent::_tracefirst($text), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{unary_expr}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{unary_expr}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{unary_expr}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{unary_expr}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ACTION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ACTION_"}; Parse::RecDescent::_trace(q{Trying rule: [ACTION_]}, Parse::RecDescent::_tracefirst($_[1]), q{ACTION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ACTION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ACTION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ACTION_}); %item = (__RULE__ => q{ACTION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ACTION/i]}, Parse::RecDescent::_tracefirst($text), q{ACTION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ACTION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ACTION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ACTION/i]<<}, Parse::RecDescent::_tracefirst($text), q{ACTION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ACTION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ACTION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ACTION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ACTION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SQLCODE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SQLCODE_"}; Parse::RecDescent::_trace(q{Trying rule: [SQLCODE_]}, Parse::RecDescent::_tracefirst($_[1]), q{SQLCODE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SQLCODE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SQLCODE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SQLCODE_}); %item = (__RULE__ => q{SQLCODE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SQLCODE/i]}, Parse::RecDescent::_tracefirst($text), q{SQLCODE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SQLCODE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SQLCODE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SQLCODE/i]<<}, Parse::RecDescent::_tracefirst($text), q{SQLCODE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SQLCODE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SQLCODE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SQLCODE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SQLCODE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CASCADED_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CASCADED_"}; Parse::RecDescent::_trace(q{Trying rule: [CASCADED_]}, Parse::RecDescent::_tracefirst($_[1]), q{CASCADED_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CASCADED/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CASCADED_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CASCADED_}); %item = (__RULE__ => q{CASCADED_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CASCADED/i]}, Parse::RecDescent::_tracefirst($text), q{CASCADED_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CASCADED)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CASCADED_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CASCADED/i]<<}, Parse::RecDescent::_tracefirst($text), q{CASCADED_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CASCADED_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CASCADED_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CASCADED_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CASCADED_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::PAD_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"PAD_"}; Parse::RecDescent::_trace(q{Trying rule: [PAD_]}, Parse::RecDescent::_tracefirst($_[1]), q{PAD_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PAD/i]}, Parse::RecDescent::_tracefirst($_[1]), q{PAD_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{PAD_}); %item = (__RULE__ => q{PAD_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/PAD/i]}, Parse::RecDescent::_tracefirst($text), q{PAD_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:PAD)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{PAD_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/PAD/i]<<}, Parse::RecDescent::_tracefirst($text), q{PAD_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{PAD_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{PAD_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{PAD_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{PAD_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::table_list { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_list"}; Parse::RecDescent::_trace(q{Trying rule: [table_list]}, Parse::RecDescent::_tracefirst($_[1]), q{table_list}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{table_list}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_list}); %item = (__RULE__ => q{table_list}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [table_expr]}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; $item{q{table_expr}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; pop @item; if (defined $1) {push @item, $item{'table_expr(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [table_expr]}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; $item{q{table_expr}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'table_expr(s)'}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{table_list}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{table_list}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_list}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_list}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_list}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TRUE { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TRUE"}; Parse::RecDescent::_trace(q{Trying rule: [TRUE]}, Parse::RecDescent::_tracefirst($_[1]), q{TRUE}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRUE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TRUE}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TRUE}); %item = (__RULE__ => q{TRUE}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TRUE/i]}, Parse::RecDescent::_tracefirst($text), q{TRUE}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TRUE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TRUE}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/TRUE/i]<<}, Parse::RecDescent::_tracefirst($text), q{TRUE}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TRUE}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TRUE}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TRUE}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TRUE}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::LANGUAGE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"LANGUAGE_"}; Parse::RecDescent::_trace(q{Trying rule: [LANGUAGE_]}, Parse::RecDescent::_tracefirst($_[1]), q{LANGUAGE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LANGUAGE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{LANGUAGE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{LANGUAGE_}); %item = (__RULE__ => q{LANGUAGE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/LANGUAGE/i]}, Parse::RecDescent::_tracefirst($text), q{LANGUAGE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:LANGUAGE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{LANGUAGE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/LANGUAGE/i]<<}, Parse::RecDescent::_tracefirst($text), q{LANGUAGE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{LANGUAGE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{LANGUAGE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{LANGUAGE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{LANGUAGE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::COUNT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"COUNT_"}; Parse::RecDescent::_trace(q{Trying rule: [COUNT_]}, Parse::RecDescent::_tracefirst($_[1]), q{COUNT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COUNT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{COUNT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{COUNT_}); %item = (__RULE__ => q{COUNT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/COUNT/i]}, Parse::RecDescent::_tracefirst($text), q{COUNT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:COUNT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{COUNT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/COUNT/i]<<}, Parse::RecDescent::_tracefirst($text), q{COUNT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{COUNT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{COUNT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{COUNT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{COUNT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CONNECT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CONNECT_"}; Parse::RecDescent::_trace(q{Trying rule: [CONNECT_]}, Parse::RecDescent::_tracefirst($_[1]), q{CONNECT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CONNECT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CONNECT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CONNECT_}); %item = (__RULE__ => q{CONNECT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CONNECT/i]}, Parse::RecDescent::_tracefirst($text), q{CONNECT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CONNECT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CONNECT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CONNECT/i]<<}, Parse::RecDescent::_tracefirst($text), q{CONNECT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CONNECT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CONNECT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CONNECT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CONNECT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::MINUTE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"MINUTE_"}; Parse::RecDescent::_trace(q{Trying rule: [MINUTE_]}, Parse::RecDescent::_tracefirst($_[1]), q{MINUTE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MINUTE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{MINUTE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{MINUTE_}); %item = (__RULE__ => q{MINUTE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/MINUTE/i]}, Parse::RecDescent::_tracefirst($text), q{MINUTE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:MINUTE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{MINUTE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/MINUTE/i]<<}, Parse::RecDescent::_tracefirst($text), q{MINUTE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{MINUTE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{MINUTE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{MINUTE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{MINUTE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::UNION { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"UNION"}; Parse::RecDescent::_trace(q{Trying rule: [UNION]}, Parse::RecDescent::_tracefirst($_[1]), q{UNION}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UNION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{UNION}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{UNION}); %item = (__RULE__ => q{UNION}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/UNION/i]}, Parse::RecDescent::_tracefirst($text), q{UNION}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:UNION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{UNION}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/UNION/i]<<}, Parse::RecDescent::_tracefirst($text), q{UNION}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{UNION}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{UNION}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{UNION}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{UNION}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::top_query { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"top_query"}; Parse::RecDescent::_trace(q{Trying rule: [top_query]}, Parse::RecDescent::_tracefirst($_[1]), q{top_query}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_query orderby_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{top_query}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{top_query}); %item = (__RULE__ => q{top_query}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_query]}, Parse::RecDescent::_tracefirst($text), q{top_query}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{top_query}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{top_query}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [orderby_clause]}, Parse::RecDescent::_tracefirst($text), q{top_query}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{orderby_clause})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::orderby_clause, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{top_query}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [orderby_clause]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{top_query}, $tracelevel) if defined $::RD_TRACE; $item{q{orderby_clause(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{top_query}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_query => $item{sql_query}, orderby_clause => $item{'orderby_clause(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_query orderby_clause]<<}, Parse::RecDescent::_tracefirst($text), q{top_query}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{top_query}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{top_query}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{top_query}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{top_query}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::col_expr_list { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"col_expr_list"}; Parse::RecDescent::_trace(q{Trying rule: [col_expr_list]}, Parse::RecDescent::_tracefirst($_[1]), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{col_expr_list}); %item = (__RULE__ => q{col_expr_list}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [col_expr]}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{col_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::col_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [col_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $item{q{col_expr}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; pop @item; if (defined $1) {push @item, $item{'col_expr(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [col_expr]}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{col_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::col_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [col_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $item{q{col_expr}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'col_expr(s)'}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @foo = @{$item[1]}; $return = \@foo; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{col_expr_list}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{col_expr_list}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{col_expr_list}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DOUBLE { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DOUBLE"}; Parse::RecDescent::_trace(q{Trying rule: [DOUBLE]}, Parse::RecDescent::_tracefirst($_[1]), q{DOUBLE}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DOUBLE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DOUBLE}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DOUBLE}); %item = (__RULE__ => q{DOUBLE}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DOUBLE/i]}, Parse::RecDescent::_tracefirst($text), q{DOUBLE}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DOUBLE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DOUBLE}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/DOUBLE/i]<<}, Parse::RecDescent::_tracefirst($text), q{DOUBLE}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DOUBLE}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DOUBLE}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DOUBLE}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DOUBLE}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::OPEN_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OPEN_"}; Parse::RecDescent::_trace(q{Trying rule: [OPEN_]}, Parse::RecDescent::_tracefirst($_[1]), q{OPEN_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OPEN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{OPEN_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OPEN_}); %item = (__RULE__ => q{OPEN_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/OPEN/i]}, Parse::RecDescent::_tracefirst($text), q{OPEN_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:OPEN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{OPEN_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/OPEN/i]<<}, Parse::RecDescent::_tracefirst($text), q{OPEN_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{OPEN_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OPEN_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OPEN_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OPEN_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::VALUE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"VALUE_"}; Parse::RecDescent::_trace(q{Trying rule: [VALUE_]}, Parse::RecDescent::_tracefirst($_[1]), q{VALUE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/VALUE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{VALUE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{VALUE_}); %item = (__RULE__ => q{VALUE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/VALUE/i]}, Parse::RecDescent::_tracefirst($text), q{VALUE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:VALUE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{VALUE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/VALUE/i]<<}, Parse::RecDescent::_tracefirst($text), q{VALUE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{VALUE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{VALUE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{VALUE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{VALUE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::update_set_exprlist { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"update_set_exprlist"}; Parse::RecDescent::_trace(q{Trying rule: [update_set_exprlist]}, Parse::RecDescent::_tracefirst($_[1]), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{update_set_exprlist}); %item = (__RULE__ => q{update_set_exprlist}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [update_set_expr]}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{update_set_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::update_set_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [update_set_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $item{q{update_set_expr}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; pop @item; if (defined $1) {push @item, $item{'update_set_expr(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [update_set_expr]}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{update_set_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::update_set_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [update_set_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $item{q{update_set_expr}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'update_set_expr(s)'}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{update_set_exprlist}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{update_set_exprlist}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{update_set_exprlist}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::BOTH_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"BOTH_"}; Parse::RecDescent::_trace(q{Trying rule: [BOTH_]}, Parse::RecDescent::_tracefirst($_[1]), q{BOTH_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/BOTH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{BOTH_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{BOTH_}); %item = (__RULE__ => q{BOTH_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/BOTH/i]}, Parse::RecDescent::_tracefirst($text), q{BOTH_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:BOTH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{BOTH_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/BOTH/i]<<}, Parse::RecDescent::_tracefirst($text), q{BOTH_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{BOTH_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{BOTH_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{BOTH_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{BOTH_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::add_expr { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"add_expr"}; Parse::RecDescent::_trace(q{Trying rule: [add_expr]}, Parse::RecDescent::_tracefirst($_[1]), q{add_expr}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{add_expr}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{add_expr}); %item = (__RULE__ => q{add_expr}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [mult_expr]}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{mult_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::mult_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [mult_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{mult_expr}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [add_op]}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{add_op})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::add_op($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [add_op]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{add_op}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [mult_expr]}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{mult_expr})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::mult_expr($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [mult_expr]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{mult_expr}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @math_op = @{$item[1]}; if (exists($item{add_op})) { $return = {math_op => $item[0], tc_expr_type => 'n', operands => \@math_op }; } else { $return = $math_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{add_expr}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{add_expr}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{add_expr}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{add_expr}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{add_expr}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::update_colthing { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"update_colthing"}; Parse::RecDescent::_trace(q{Trying rule: [update_colthing]}, Parse::RecDescent::_tracefirst($_[1]), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [column_list]}, Parse::RecDescent::_tracefirst($_[1]), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{update_colthing}); %item = (__RULE__ => q{update_colthing}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::column_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {column_list => $item[1]}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [column_list]<<}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [column_name]}, Parse::RecDescent::_tracefirst($_[1]), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{update_colthing}); %item = (__RULE__ => q{update_colthing}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [column_name]}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::column_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [column_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; $item{q{column_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {column_name => $item[1]}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [column_name]<<}, Parse::RecDescent::_tracefirst($text), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{update_colthing}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{update_colthing}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{update_colthing}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{update_colthing}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::UPDATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"UPDATE_"}; Parse::RecDescent::_trace(q{Trying rule: [UPDATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{UPDATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UPDATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{UPDATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{UPDATE_}); %item = (__RULE__ => q{UPDATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/UPDATE/i]}, Parse::RecDescent::_tracefirst($text), q{UPDATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:UPDATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{UPDATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/UPDATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{UPDATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{UPDATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{UPDATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{UPDATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{UPDATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::update_sources { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"update_sources"}; Parse::RecDescent::_trace(q{Trying rule: [update_sources]}, Parse::RecDescent::_tracefirst($_[1]), q{update_sources}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [value_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{update_sources}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{update_sources}); %item = (__RULE__ => q{update_sources}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item{value_expression}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [value_expression]<<}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' expr_list ')']}, Parse::RecDescent::_tracefirst($_[1]), q{update_sources}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{update_sources}); %item = (__RULE__ => q{update_sources}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [expr_list]}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expr_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::expr_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expr_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $item{q{expr_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item{expr_list}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' expr_list ')']<<}, Parse::RecDescent::_tracefirst($text), q{update_sources}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{update_sources}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{update_sources}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{update_sources}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{update_sources}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::table_expr { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_expr"}; Parse::RecDescent::_trace(q{Trying rule: [table_expr]}, Parse::RecDescent::_tracefirst($_[1]), q{table_expr}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [join_tab]}, Parse::RecDescent::_tracefirst($_[1]), q{table_expr}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_expr}); %item = (__RULE__ => q{table_expr}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [join_tab]}, Parse::RecDescent::_tracefirst($text), q{table_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::join_tab($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [join_tab]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{join_tab}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_expr}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [join_tab]<<}, Parse::RecDescent::_tracefirst($text), q{table_expr}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{table_expr}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_expr}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_expr}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_expr}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ABSOLUTE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ABSOLUTE_"}; Parse::RecDescent::_trace(q{Trying rule: [ABSOLUTE_]}, Parse::RecDescent::_tracefirst($_[1]), q{ABSOLUTE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ABSOLUTE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ABSOLUTE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ABSOLUTE_}); %item = (__RULE__ => q{ABSOLUTE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ABSOLUTE/i]}, Parse::RecDescent::_tracefirst($text), q{ABSOLUTE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ABSOLUTE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ABSOLUTE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ABSOLUTE/i]<<}, Parse::RecDescent::_tracefirst($text), q{ABSOLUTE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ABSOLUTE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ABSOLUTE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ABSOLUTE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ABSOLUTE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CURRENT_DATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CURRENT_DATE_"}; Parse::RecDescent::_trace(q{Trying rule: [CURRENT_DATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_DATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CURRENT_DATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_DATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CURRENT_DATE_}); %item = (__RULE__ => q{CURRENT_DATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CURRENT_DATE/i]}, Parse::RecDescent::_tracefirst($text), q{CURRENT_DATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CURRENT_DATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CURRENT_DATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CURRENT_DATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{CURRENT_DATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_DATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CURRENT_DATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CURRENT_DATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CURRENT_DATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ct_as_select { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ct_as_select"}; Parse::RecDescent::_trace(q{Trying rule: [ct_as_select]}, Parse::RecDescent::_tracefirst($_[1]), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [AS_ sql_query]}, Parse::RecDescent::_tracefirst($_[1]), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ct_as_select}); %item = (__RULE__ => q{ct_as_select}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [AS_]}, Parse::RecDescent::_tracefirst($text), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::AS_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [AS_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; $item{q{AS_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_query]}, Parse::RecDescent::_tracefirst($text), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{sql_query})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {sql_query => $item{sql_query}}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [AS_ sql_query]<<}, Parse::RecDescent::_tracefirst($text), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ct_as_select}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ct_as_select}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ct_as_select}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::LAST_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"LAST_"}; Parse::RecDescent::_trace(q{Trying rule: [LAST_]}, Parse::RecDescent::_tracefirst($_[1]), q{LAST_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LAST/i]}, Parse::RecDescent::_tracefirst($_[1]), q{LAST_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{LAST_}); %item = (__RULE__ => q{LAST_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/LAST/i]}, Parse::RecDescent::_tracefirst($text), q{LAST_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:LAST)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{LAST_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/LAST/i]<<}, Parse::RecDescent::_tracefirst($text), q{LAST_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{LAST_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{LAST_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{LAST_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{LAST_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::setop_union { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"setop_union"}; Parse::RecDescent::_trace(q{Trying rule: [setop_union]}, Parse::RecDescent::_tracefirst($_[1]), q{setop_union}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [UNION ALL]}, Parse::RecDescent::_tracefirst($_[1]), q{setop_union}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{setop_union}); %item = (__RULE__ => q{setop_union}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [UNION]}, Parse::RecDescent::_tracefirst($text), q{setop_union}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::UNION($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{setop_union}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [UNION]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{setop_union}, $tracelevel) if defined $::RD_TRACE; $item{q{UNION}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [ALL]}, Parse::RecDescent::_tracefirst($text), q{setop_union}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{ALL})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::ALL, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{setop_union}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [ALL]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{setop_union}, $tracelevel) if defined $::RD_TRACE; $item{q{ALL(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{setop_union}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @set_op = @{$item[1]}; my @set_all = @{$item{'ALL(?)'}}; $return = {setop => $set_op[0], all => $set_all[0] }; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [UNION ALL]<<}, Parse::RecDescent::_tracefirst($text), q{setop_union}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{setop_union}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{setop_union}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{setop_union}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{setop_union}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::reserved_word { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"reserved_word"}; Parse::RecDescent::_trace(q{Trying rule: [reserved_word]}, Parse::RecDescent::_tracefirst($_[1]), q{reserved_word}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ABSOLUTE(?!([a-z0-9_]))|ACTION(?!([a-z0-9_]))|ADD(?!([a-z0-9_]))|ALL(?!([a-z0-9_]))|ALLOCATE(?!([a-z0-9_]))|ALTER(?!([a-z0-9_]))|AND(?!([a-z0-9_]))|ANY(?!([a-z0-9_]))|ARE(?!([a-z0-9_]))|AS(?!([a-z0-9_]))|ASC(?!([a-z0-9_]))|ASSERTION(?!([a-z0-9_]))|AT(?!([a-z0-9_]))|AUTHORIZATION(?!([a-z0-9_]))|AVG(?!([a-z0-9_]))|BEGIN(?!([a-z0-9_]))|BETWEEN(?!([a-z0-9_]))|BIT(?!([a-z0-9_]))|BIT_LENGTH(?!([a-z0-9_]))|BOTH(?!([a-z0-9_]))|BY(?!([a-z0-9_]))|CASCADE(?!([a-z0-9_]))|CASCADED(?!([a-z0-9_]))|CASE(?!([a-z0-9_]))|CAST(?!([a-z0-9_]))|CATALOG(?!([a-z0-9_]))|CHAR(?!([a-z0-9_]))|CHARACTER(?!([a-z0-9_]))|CHARACTER_LENGTH(?!([a-z0-9_]))|CHAR_LENGTH(?!([a-z0-9_]))|CHECK(?!([a-z0-9_]))|CLOSE(?!([a-z0-9_]))|COALESCE(?!([a-z0-9_]))|COLLATE(?!([a-z0-9_]))|COLLATION(?!([a-z0-9_]))|COLUMN(?!([a-z0-9_]))|COMMIT(?!([a-z0-9_]))|CONNECT(?!([a-z0-9_]))|CONNECTION(?!([a-z0-9_]))|CONSTRAINT(?!([a-z0-9_]))|CONSTRAINTS(?!([a-z0-9_]))|CONTINUE(?!([a-z0-9_]))|CONVERT(?!([a-z0-9_]))|CORRESPONDING(?!([a-z0-9_]))|COUNT(?!([a-z0-9_]))|CREATE(?!([a-z0-9_]))|CROSS(?!([a-z0-9_]))|CURRENT(?!([a-z0-9_]))|CURRENT_DATE(?!([a-z0-9_]))|CURRENT_TIME(?!([a-z0-9_]))|CURRENT_TIMESTAMP(?!([a-z0-9_]))|CURRENT_USER(?!([a-z0-9_]))|CURSOR(?!([a-z0-9_]))|DATE(?!([a-z0-9_]))|DAY(?!([a-z0-9_]))|DEALLOCATE(?!([a-z0-9_]))|DEC(?!([a-z0-9_]))|DECIMAL(?!([a-z0-9_]))|DECLARE(?!([a-z0-9_]))|DEFAULT(?!([a-z0-9_]))|DEFERRABLE(?!([a-z0-9_]))|DEFERRED(?!([a-z0-9_]))|DELETE(?!([a-z0-9_]))|DESC(?!([a-z0-9_]))|DESCRIBE(?!([a-z0-9_]))|DESCRIPTOR(?!([a-z0-9_]))|DIAGNOSTICS(?!([a-z0-9_]))|DISCONNECT(?!([a-z0-9_]))|DISTINCT(?!([a-z0-9_]))|DOMAIN(?!([a-z0-9_]))|DOUBLE(?!([a-z0-9_]))|DROP(?!([a-z0-9_]))|ECOUNT(?!([a-z0-9_]))|ELSE(?!([a-z0-9_]))|END(?!([a-z0-9_]))|END_EXEC(?!([a-z0-9_]))|ESCAPE(?!([a-z0-9_]))|EXCEPT(?!([a-z0-9_]))|EXCEPTION(?!([a-z0-9_]))|EXEC(?!([a-z0-9_]))|EXECUTE(?!([a-z0-9_]))|EXISTS(?!([a-z0-9_]))|EXTERNAL(?!([a-z0-9_]))|EXTRACT(?!([a-z0-9_]))|FALSE(?!([a-z0-9_]))|FETCH(?!([a-z0-9_]))|FIRST(?!([a-z0-9_]))|FLOAT(?!([a-z0-9_]))|FOR(?!([a-z0-9_]))|FOREIGN(?!([a-z0-9_]))|FOUND(?!([a-z0-9_]))|FROM(?!([a-z0-9_]))|FULL(?!([a-z0-9_]))|GET(?!([a-z0-9_]))|GLOBAL(?!([a-z0-9_]))|GO(?!([a-z0-9_]))|GOTO(?!([a-z0-9_]))|GRANT(?!([a-z0-9_]))|GROUP(?!([a-z0-9_]))|HAVING(?!([a-z0-9_]))|HOUR(?!([a-z0-9_]))|IDENTITY(?!([a-z0-9_]))|IMMEDIATE(?!([a-z0-9_]))|IN(?!([a-z0-9_]))|INDICATOR(?!([a-z0-9_]))|INITIALLY(?!([a-z0-9_]))|INNER(?!([a-z0-9_]))|INPUT(?!([a-z0-9_]))|INSENSITIVE(?!([a-z0-9_]))|INSERT(?!([a-z0-9_]))|INT(?!([a-z0-9_]))|INTEGER(?!([a-z0-9_]))|INTERSECT(?!([a-z0-9_]))|INTERVAL(?!([a-z0-9_]))|INTO(?!([a-z0-9_]))|IS(?!([a-z0-9_]))|ISOLATION(?!([a-z0-9_]))|JOIN(?!([a-z0-9_]))|KEY(?!([a-z0-9_]))|LANGUAGE(?!([a-z0-9_]))|LAST(?!([a-z0-9_]))|LEADING(?!([a-z0-9_]))|LEFT(?!([a-z0-9_]))|LEVEL(?!([a-z0-9_]))|LIKE(?!([a-z0-9_]))|LOCAL(?!([a-z0-9_]))|LOWER(?!([a-z0-9_]))|MATCH(?!([a-z0-9_]))|MAX(?!([a-z0-9_]))|MIN(?!([a-z0-9_]))|MINUS(?!([a-z0-9_]))|MINUTE(?!([a-z0-9_]))|MODULE(?!([a-z0-9_]))|MONTH(?!([a-z0-9_]))|NAMES(?!([a-z0-9_]))|NATIONAL(?!([a-z0-9_]))|NATURAL(?!([a-z0-9_]))|NCHAR(?!([a-z0-9_]))|NEXT(?!([a-z0-9_]))|NO(?!([a-z0-9_]))|NOT(?!([a-z0-9_]))|NULL(?!([a-z0-9_]))|NULLIF(?!([a-z0-9_]))|NUMERIC(?!([a-z0-9_]))|OCTET_LENGTH(?!([a-z0-9_]))|OF(?!([a-z0-9_]))|ON(?!([a-z0-9_]))|ONLY(?!([a-z0-9_]))|OPEN(?!([a-z0-9_]))|OPTION(?!([a-z0-9_]))|OR(?!([a-z0-9_]))|ORDER(?!([a-z0-9_]))|OUTER(?!([a-z0-9_]))|OUTPUT(?!([a-z0-9_]))|OVERLAPS(?!([a-z0-9_]))|PAD(?!([a-z0-9_]))|PARTIAL(?!([a-z0-9_]))|POSITION(?!([a-z0-9_]))|PRECISION(?!([a-z0-9_]))|PREPARE(?!([a-z0-9_]))|PRESERVE(?!([a-z0-9_]))|PRIMARY(?!([a-z0-9_]))|PRIOR(?!([a-z0-9_]))|PRIVILEGES(?!([a-z0-9_]))|PROCEDURE(?!([a-z0-9_]))|PUBLIC(?!([a-z0-9_]))|READ(?!([a-z0-9_]))|REAL(?!([a-z0-9_]))|REFERENCES(?!([a-z0-9_]))|RELATIVE(?!([a-z0-9_]))|RESTRICT(?!([a-z0-9_]))|REVOKE(?!([a-z0-9_]))|RIGHT(?!([a-z0-9_]))|ROLLBACK(?!([a-z0-9_]))|ROWS(?!([a-z0-9_]))|SCHEMA(?!([a-z0-9_]))|SCROLL(?!([a-z0-9_]))|SECOND(?!([a-z0-9_]))|SECTION(?!([a-z0-9_]))|SELECT(?!([a-z0-9_]))|SESSION(?!([a-z0-9_]))|SESSION_USER(?!([a-z0-9_]))|SET(?!([a-z0-9_]))|SIZE(?!([a-z0-9_]))|SMALLINT(?!([a-z0-9_]))|SOME(?!([a-z0-9_]))|SPACE(?!([a-z0-9_]))|SQL(?!([a-z0-9_]))|SQLCODE(?!([a-z0-9_]))|SQLERROR(?!([a-z0-9_]))|SQLSTATE(?!([a-z0-9_]))|SUBSTRING(?!([a-z0-9_]))|SUM(?!([a-z0-9_]))|SYSTEM_USER(?!([a-z0-9_]))|TABLE(?!([a-z0-9_]))|TEMPORARY(?!([a-z0-9_]))|THEN(?!([a-z0-9_]))|TIME(?!([a-z0-9_]))|TIMESTAMP(?!([a-z0-9_]))|TIMEZONE_HOUR(?!([a-z0-9_]))|TIMEZONE_MINUTE(?!([a-z0-9_]))|TO(?!([a-z0-9_]))|TRAILING(?!([a-z0-9_]))|TRANSACTION(?!([a-z0-9_]))|TRANSLATE(?!([a-z0-9_]))|TRANSLATION(?!([a-z0-9_]))|TRIM(?!([a-z0-9_]))|TRUE(?!([a-z0-9_]))|UNION(?!([a-z0-9_]))|UNIQUE(?!([a-z0-9_]))|UNKNOWN(?!([a-z0-9_]))|UPDATE(?!([a-z0-9_]))|UPPER(?!([a-z0-9_]))|USAGE(?!([a-z0-9_]))|USER(?!([a-z0-9_]))|USING(?!([a-z0-9_]))|VALUE(?!([a-z0-9_]))|VALUES(?!([a-z0-9_]))|VARCHAR(?!([a-z0-9_]))|VARCHAR2(?!([a-z0-9_]))|VARYING(?!([a-z0-9_]))|VIEW(?!([a-z0-9_]))|WHEN(?!([a-z0-9_]))|WHENEVER(?!([a-z0-9_]))|WHERE(?!([a-z0-9_]))|WITH(?!([a-z0-9_]))|WORK(?!([a-z0-9_]))|WRITE(?!([a-z0-9_]))|YEAR(?!([a-z0-9_]))|ZONE(?!([a-z0-9_]))/i]}, Parse::RecDescent::_tracefirst($_[1]), q{reserved_word}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{reserved_word}); %item = (__RULE__ => q{reserved_word}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ABSOLUTE(?!([a-z0-9_]))|ACTION(?!([a-z0-9_]))|ADD(?!([a-z0-9_]))|ALL(?!([a-z0-9_]))|ALLOCATE(?!([a-z0-9_]))|ALTER(?!([a-z0-9_]))|AND(?!([a-z0-9_]))|ANY(?!([a-z0-9_]))|ARE(?!([a-z0-9_]))|AS(?!([a-z0-9_]))|ASC(?!([a-z0-9_]))|ASSERTION(?!([a-z0-9_]))|AT(?!([a-z0-9_]))|AUTHORIZATION(?!([a-z0-9_]))|AVG(?!([a-z0-9_]))|BEGIN(?!([a-z0-9_]))|BETWEEN(?!([a-z0-9_]))|BIT(?!([a-z0-9_]))|BIT_LENGTH(?!([a-z0-9_]))|BOTH(?!([a-z0-9_]))|BY(?!([a-z0-9_]))|CASCADE(?!([a-z0-9_]))|CASCADED(?!([a-z0-9_]))|CASE(?!([a-z0-9_]))|CAST(?!([a-z0-9_]))|CATALOG(?!([a-z0-9_]))|CHAR(?!([a-z0-9_]))|CHARACTER(?!([a-z0-9_]))|CHARACTER_LENGTH(?!([a-z0-9_]))|CHAR_LENGTH(?!([a-z0-9_]))|CHECK(?!([a-z0-9_]))|CLOSE(?!([a-z0-9_]))|COALESCE(?!([a-z0-9_]))|COLLATE(?!([a-z0-9_]))|COLLATION(?!([a-z0-9_]))|COLUMN(?!([a-z0-9_]))|COMMIT(?!([a-z0-9_]))|CONNECT(?!([a-z0-9_]))|CONNECTION(?!([a-z0-9_]))|CONSTRAINT(?!([a-z0-9_]))|CONSTRAINTS(?!([a-z0-9_]))|CONTINUE(?!([a-z0-9_]))|CONVERT(?!([a-z0-9_]))|CORRESPONDING(?!([a-z0-9_]))|COUNT(?!([a-z0-9_]))|CREATE(?!([a-z0-9_]))|CROSS(?!([a-z0-9_]))|CURRENT(?!([a-z0-9_]))|CURRENT_DATE(?!([a-z0-9_]))|CURRENT_TIME(?!([a-z0-9_]))|CURRENT_TIMESTAMP(?!([a-z0-9_]))|CURRENT_USER(?!([a-z0-9_]))|CURSOR(?!([a-z0-9_]))|DATE(?!([a-z0-9_]))|DAY(?!([a-z0-9_]))|DEALLOCATE(?!([a-z0-9_]))|DEC(?!([a-z0-9_]))|DECIMAL(?!([a-z0-9_]))|DECLARE(?!([a-z0-9_]))|DEFAULT(?!([a-z0-9_]))|DEFERRABLE(?!([a-z0-9_]))|DEFERRED(?!([a-z0-9_]))|DELETE(?!([a-z0-9_]))|DESC(?!([a-z0-9_]))|DESCRIBE(?!([a-z0-9_]))|DESCRIPTOR(?!([a-z0-9_]))|DIAGNOSTICS(?!([a-z0-9_]))|DISCONNECT(?!([a-z0-9_]))|DISTINCT(?!([a-z0-9_]))|DOMAIN(?!([a-z0-9_]))|DOUBLE(?!([a-z0-9_]))|DROP(?!([a-z0-9_]))|ECOUNT(?!([a-z0-9_]))|ELSE(?!([a-z0-9_]))|END(?!([a-z0-9_]))|END_EXEC(?!([a-z0-9_]))|ESCAPE(?!([a-z0-9_]))|EXCEPT(?!([a-z0-9_]))|EXCEPTION(?!([a-z0-9_]))|EXEC(?!([a-z0-9_]))|EXECUTE(?!([a-z0-9_]))|EXISTS(?!([a-z0-9_]))|EXTERNAL(?!([a-z0-9_]))|EXTRACT(?!([a-z0-9_]))|FALSE(?!([a-z0-9_]))|FETCH(?!([a-z0-9_]))|FIRST(?!([a-z0-9_]))|FLOAT(?!([a-z0-9_]))|FOR(?!([a-z0-9_]))|FOREIGN(?!([a-z0-9_]))|FOUND(?!([a-z0-9_]))|FROM(?!([a-z0-9_]))|FULL(?!([a-z0-9_]))|GET(?!([a-z0-9_]))|GLOBAL(?!([a-z0-9_]))|GO(?!([a-z0-9_]))|GOTO(?!([a-z0-9_]))|GRANT(?!([a-z0-9_]))|GROUP(?!([a-z0-9_]))|HAVING(?!([a-z0-9_]))|HOUR(?!([a-z0-9_]))|IDENTITY(?!([a-z0-9_]))|IMMEDIATE(?!([a-z0-9_]))|IN(?!([a-z0-9_]))|INDICATOR(?!([a-z0-9_]))|INITIALLY(?!([a-z0-9_]))|INNER(?!([a-z0-9_]))|INPUT(?!([a-z0-9_]))|INSENSITIVE(?!([a-z0-9_]))|INSERT(?!([a-z0-9_]))|INT(?!([a-z0-9_]))|INTEGER(?!([a-z0-9_]))|INTERSECT(?!([a-z0-9_]))|INTERVAL(?!([a-z0-9_]))|INTO(?!([a-z0-9_]))|IS(?!([a-z0-9_]))|ISOLATION(?!([a-z0-9_]))|JOIN(?!([a-z0-9_]))|KEY(?!([a-z0-9_]))|LANGUAGE(?!([a-z0-9_]))|LAST(?!([a-z0-9_]))|LEADING(?!([a-z0-9_]))|LEFT(?!([a-z0-9_]))|LEVEL(?!([a-z0-9_]))|LIKE(?!([a-z0-9_]))|LOCAL(?!([a-z0-9_]))|LOWER(?!([a-z0-9_]))|MATCH(?!([a-z0-9_]))|MAX(?!([a-z0-9_]))|MIN(?!([a-z0-9_]))|MINUS(?!([a-z0-9_]))|MINUTE(?!([a-z0-9_]))|MODULE(?!([a-z0-9_]))|MONTH(?!([a-z0-9_]))|NAMES(?!([a-z0-9_]))|NATIONAL(?!([a-z0-9_]))|NATURAL(?!([a-z0-9_]))|NCHAR(?!([a-z0-9_]))|NEXT(?!([a-z0-9_]))|NO(?!([a-z0-9_]))|NOT(?!([a-z0-9_]))|NULL(?!([a-z0-9_]))|NULLIF(?!([a-z0-9_]))|NUMERIC(?!([a-z0-9_]))|OCTET_LENGTH(?!([a-z0-9_]))|OF(?!([a-z0-9_]))|ON(?!([a-z0-9_]))|ONLY(?!([a-z0-9_]))|OPEN(?!([a-z0-9_]))|OPTION(?!([a-z0-9_]))|OR(?!([a-z0-9_]))|ORDER(?!([a-z0-9_]))|OUTER(?!([a-z0-9_]))|OUTPUT(?!([a-z0-9_]))|OVERLAPS(?!([a-z0-9_]))|PAD(?!([a-z0-9_]))|PARTIAL(?!([a-z0-9_]))|POSITION(?!([a-z0-9_]))|PRECISION(?!([a-z0-9_]))|PREPARE(?!([a-z0-9_]))|PRESERVE(?!([a-z0-9_]))|PRIMARY(?!([a-z0-9_]))|PRIOR(?!([a-z0-9_]))|PRIVILEGES(?!([a-z0-9_]))|PROCEDURE(?!([a-z0-9_]))|PUBLIC(?!([a-z0-9_]))|READ(?!([a-z0-9_]))|REAL(?!([a-z0-9_]))|REFERENCES(?!([a-z0-9_]))|RELATIVE(?!([a-z0-9_]))|RESTRICT(?!([a-z0-9_]))|REVOKE(?!([a-z0-9_]))|RIGHT(?!([a-z0-9_]))|ROLLBACK(?!([a-z0-9_]))|ROWS(?!([a-z0-9_]))|SCHEMA(?!([a-z0-9_]))|SCROLL(?!([a-z0-9_]))|SECOND(?!([a-z0-9_]))|SECTION(?!([a-z0-9_]))|SELECT(?!([a-z0-9_]))|SESSION(?!([a-z0-9_]))|SESSION_USER(?!([a-z0-9_]))|SET(?!([a-z0-9_]))|SIZE(?!([a-z0-9_]))|SMALLINT(?!([a-z0-9_]))|SOME(?!([a-z0-9_]))|SPACE(?!([a-z0-9_]))|SQL(?!([a-z0-9_]))|SQLCODE(?!([a-z0-9_]))|SQLERROR(?!([a-z0-9_]))|SQLSTATE(?!([a-z0-9_]))|SUBSTRING(?!([a-z0-9_]))|SUM(?!([a-z0-9_]))|SYSTEM_USER(?!([a-z0-9_]))|TABLE(?!([a-z0-9_]))|TEMPORARY(?!([a-z0-9_]))|THEN(?!([a-z0-9_]))|TIME(?!([a-z0-9_]))|TIMESTAMP(?!([a-z0-9_]))|TIMEZONE_HOUR(?!([a-z0-9_]))|TIMEZONE_MINUTE(?!([a-z0-9_]))|TO(?!([a-z0-9_]))|TRAILING(?!([a-z0-9_]))|TRANSACTION(?!([a-z0-9_]))|TRANSLATE(?!([a-z0-9_]))|TRANSLATION(?!([a-z0-9_]))|TRIM(?!([a-z0-9_]))|TRUE(?!([a-z0-9_]))|UNION(?!([a-z0-9_]))|UNIQUE(?!([a-z0-9_]))|UNKNOWN(?!([a-z0-9_]))|UPDATE(?!([a-z0-9_]))|UPPER(?!([a-z0-9_]))|USAGE(?!([a-z0-9_]))|USER(?!([a-z0-9_]))|USING(?!([a-z0-9_]))|VALUE(?!([a-z0-9_]))|VALUES(?!([a-z0-9_]))|VARCHAR(?!([a-z0-9_]))|VARCHAR2(?!([a-z0-9_]))|VARYING(?!([a-z0-9_]))|VIEW(?!([a-z0-9_]))|WHEN(?!([a-z0-9_]))|WHENEVER(?!([a-z0-9_]))|WHERE(?!([a-z0-9_]))|WITH(?!([a-z0-9_]))|WORK(?!([a-z0-9_]))|WRITE(?!([a-z0-9_]))|YEAR(?!([a-z0-9_]))|ZONE(?!([a-z0-9_]))/i]}, Parse::RecDescent::_tracefirst($text), q{reserved_word}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ABSOLUTE(?!([a-z0-9_]))|ACTION(?!([a-z0-9_]))|ADD(?!([a-z0-9_]))|ALL(?!([a-z0-9_]))|ALLOCATE(?!([a-z0-9_]))|ALTER(?!([a-z0-9_]))|AND(?!([a-z0-9_]))|ANY(?!([a-z0-9_]))|ARE(?!([a-z0-9_]))|AS(?!([a-z0-9_]))|ASC(?!([a-z0-9_]))|ASSERTION(?!([a-z0-9_]))|AT(?!([a-z0-9_]))|AUTHORIZATION(?!([a-z0-9_]))|AVG(?!([a-z0-9_]))|BEGIN(?!([a-z0-9_]))|BETWEEN(?!([a-z0-9_]))|BIT(?!([a-z0-9_]))|BIT_LENGTH(?!([a-z0-9_]))|BOTH(?!([a-z0-9_]))|BY(?!([a-z0-9_]))|CASCADE(?!([a-z0-9_]))|CASCADED(?!([a-z0-9_]))|CASE(?!([a-z0-9_]))|CAST(?!([a-z0-9_]))|CATALOG(?!([a-z0-9_]))|CHAR(?!([a-z0-9_]))|CHARACTER(?!([a-z0-9_]))|CHARACTER_LENGTH(?!([a-z0-9_]))|CHAR_LENGTH(?!([a-z0-9_]))|CHECK(?!([a-z0-9_]))|CLOSE(?!([a-z0-9_]))|COALESCE(?!([a-z0-9_]))|COLLATE(?!([a-z0-9_]))|COLLATION(?!([a-z0-9_]))|COLUMN(?!([a-z0-9_]))|COMMIT(?!([a-z0-9_]))|CONNECT(?!([a-z0-9_]))|CONNECTION(?!([a-z0-9_]))|CONSTRAINT(?!([a-z0-9_]))|CONSTRAINTS(?!([a-z0-9_]))|CONTINUE(?!([a-z0-9_]))|CONVERT(?!([a-z0-9_]))|CORRESPONDING(?!([a-z0-9_]))|COUNT(?!([a-z0-9_]))|CREATE(?!([a-z0-9_]))|CROSS(?!([a-z0-9_]))|CURRENT(?!([a-z0-9_]))|CURRENT_DATE(?!([a-z0-9_]))|CURRENT_TIME(?!([a-z0-9_]))|CURRENT_TIMESTAMP(?!([a-z0-9_]))|CURRENT_USER(?!([a-z0-9_]))|CURSOR(?!([a-z0-9_]))|DATE(?!([a-z0-9_]))|DAY(?!([a-z0-9_]))|DEALLOCATE(?!([a-z0-9_]))|DEC(?!([a-z0-9_]))|DECIMAL(?!([a-z0-9_]))|DECLARE(?!([a-z0-9_]))|DEFAULT(?!([a-z0-9_]))|DEFERRABLE(?!([a-z0-9_]))|DEFERRED(?!([a-z0-9_]))|DELETE(?!([a-z0-9_]))|DESC(?!([a-z0-9_]))|DESCRIBE(?!([a-z0-9_]))|DESCRIPTOR(?!([a-z0-9_]))|DIAGNOSTICS(?!([a-z0-9_]))|DISCONNECT(?!([a-z0-9_]))|DISTINCT(?!([a-z0-9_]))|DOMAIN(?!([a-z0-9_]))|DOUBLE(?!([a-z0-9_]))|DROP(?!([a-z0-9_]))|ECOUNT(?!([a-z0-9_]))|ELSE(?!([a-z0-9_]))|END(?!([a-z0-9_]))|END_EXEC(?!([a-z0-9_]))|ESCAPE(?!([a-z0-9_]))|EXCEPT(?!([a-z0-9_]))|EXCEPTION(?!([a-z0-9_]))|EXEC(?!([a-z0-9_]))|EXECUTE(?!([a-z0-9_]))|EXISTS(?!([a-z0-9_]))|EXTERNAL(?!([a-z0-9_]))|EXTRACT(?!([a-z0-9_]))|FALSE(?!([a-z0-9_]))|FETCH(?!([a-z0-9_]))|FIRST(?!([a-z0-9_]))|FLOAT(?!([a-z0-9_]))|FOR(?!([a-z0-9_]))|FOREIGN(?!([a-z0-9_]))|FOUND(?!([a-z0-9_]))|FROM(?!([a-z0-9_]))|FULL(?!([a-z0-9_]))|GET(?!([a-z0-9_]))|GLOBAL(?!([a-z0-9_]))|GO(?!([a-z0-9_]))|GOTO(?!([a-z0-9_]))|GRANT(?!([a-z0-9_]))|GROUP(?!([a-z0-9_]))|HAVING(?!([a-z0-9_]))|HOUR(?!([a-z0-9_]))|IDENTITY(?!([a-z0-9_]))|IMMEDIATE(?!([a-z0-9_]))|IN(?!([a-z0-9_]))|INDICATOR(?!([a-z0-9_]))|INITIALLY(?!([a-z0-9_]))|INNER(?!([a-z0-9_]))|INPUT(?!([a-z0-9_]))|INSENSITIVE(?!([a-z0-9_]))|INSERT(?!([a-z0-9_]))|INT(?!([a-z0-9_]))|INTEGER(?!([a-z0-9_]))|INTERSECT(?!([a-z0-9_]))|INTERVAL(?!([a-z0-9_]))|INTO(?!([a-z0-9_]))|IS(?!([a-z0-9_]))|ISOLATION(?!([a-z0-9_]))|JOIN(?!([a-z0-9_]))|KEY(?!([a-z0-9_]))|LANGUAGE(?!([a-z0-9_]))|LAST(?!([a-z0-9_]))|LEADING(?!([a-z0-9_]))|LEFT(?!([a-z0-9_]))|LEVEL(?!([a-z0-9_]))|LIKE(?!([a-z0-9_]))|LOCAL(?!([a-z0-9_]))|LOWER(?!([a-z0-9_]))|MATCH(?!([a-z0-9_]))|MAX(?!([a-z0-9_]))|MIN(?!([a-z0-9_]))|MINUS(?!([a-z0-9_]))|MINUTE(?!([a-z0-9_]))|MODULE(?!([a-z0-9_]))|MONTH(?!([a-z0-9_]))|NAMES(?!([a-z0-9_]))|NATIONAL(?!([a-z0-9_]))|NATURAL(?!([a-z0-9_]))|NCHAR(?!([a-z0-9_]))|NEXT(?!([a-z0-9_]))|NO(?!([a-z0-9_]))|NOT(?!([a-z0-9_]))|NULL(?!([a-z0-9_]))|NULLIF(?!([a-z0-9_]))|NUMERIC(?!([a-z0-9_]))|OCTET_LENGTH(?!([a-z0-9_]))|OF(?!([a-z0-9_]))|ON(?!([a-z0-9_]))|ONLY(?!([a-z0-9_]))|OPEN(?!([a-z0-9_]))|OPTION(?!([a-z0-9_]))|OR(?!([a-z0-9_]))|ORDER(?!([a-z0-9_]))|OUTER(?!([a-z0-9_]))|OUTPUT(?!([a-z0-9_]))|OVERLAPS(?!([a-z0-9_]))|PAD(?!([a-z0-9_]))|PARTIAL(?!([a-z0-9_]))|POSITION(?!([a-z0-9_]))|PRECISION(?!([a-z0-9_]))|PREPARE(?!([a-z0-9_]))|PRESERVE(?!([a-z0-9_]))|PRIMARY(?!([a-z0-9_]))|PRIOR(?!([a-z0-9_]))|PRIVILEGES(?!([a-z0-9_]))|PROCEDURE(?!([a-z0-9_]))|PUBLIC(?!([a-z0-9_]))|READ(?!([a-z0-9_]))|REAL(?!([a-z0-9_]))|REFERENCES(?!([a-z0-9_]))|RELATIVE(?!([a-z0-9_]))|RESTRICT(?!([a-z0-9_]))|REVOKE(?!([a-z0-9_]))|RIGHT(?!([a-z0-9_]))|ROLLBACK(?!([a-z0-9_]))|ROWS(?!([a-z0-9_]))|SCHEMA(?!([a-z0-9_]))|SCROLL(?!([a-z0-9_]))|SECOND(?!([a-z0-9_]))|SECTION(?!([a-z0-9_]))|SELECT(?!([a-z0-9_]))|SESSION(?!([a-z0-9_]))|SESSION_USER(?!([a-z0-9_]))|SET(?!([a-z0-9_]))|SIZE(?!([a-z0-9_]))|SMALLINT(?!([a-z0-9_]))|SOME(?!([a-z0-9_]))|SPACE(?!([a-z0-9_]))|SQL(?!([a-z0-9_]))|SQLCODE(?!([a-z0-9_]))|SQLERROR(?!([a-z0-9_]))|SQLSTATE(?!([a-z0-9_]))|SUBSTRING(?!([a-z0-9_]))|SUM(?!([a-z0-9_]))|SYSTEM_USER(?!([a-z0-9_]))|TABLE(?!([a-z0-9_]))|TEMPORARY(?!([a-z0-9_]))|THEN(?!([a-z0-9_]))|TIME(?!([a-z0-9_]))|TIMESTAMP(?!([a-z0-9_]))|TIMEZONE_HOUR(?!([a-z0-9_]))|TIMEZONE_MINUTE(?!([a-z0-9_]))|TO(?!([a-z0-9_]))|TRAILING(?!([a-z0-9_]))|TRANSACTION(?!([a-z0-9_]))|TRANSLATE(?!([a-z0-9_]))|TRANSLATION(?!([a-z0-9_]))|TRIM(?!([a-z0-9_]))|TRUE(?!([a-z0-9_]))|UNION(?!([a-z0-9_]))|UNIQUE(?!([a-z0-9_]))|UNKNOWN(?!([a-z0-9_]))|UPDATE(?!([a-z0-9_]))|UPPER(?!([a-z0-9_]))|USAGE(?!([a-z0-9_]))|USER(?!([a-z0-9_]))|USING(?!([a-z0-9_]))|VALUE(?!([a-z0-9_]))|VALUES(?!([a-z0-9_]))|VARCHAR(?!([a-z0-9_]))|VARCHAR2(?!([a-z0-9_]))|VARYING(?!([a-z0-9_]))|VIEW(?!([a-z0-9_]))|WHEN(?!([a-z0-9_]))|WHENEVER(?!([a-z0-9_]))|WHERE(?!([a-z0-9_]))|WITH(?!([a-z0-9_]))|WORK(?!([a-z0-9_]))|WRITE(?!([a-z0-9_]))|YEAR(?!([a-z0-9_]))|ZONE(?!([a-z0-9_])))//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{reserved_word}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/ABSOLUTE(?!([a-z0-9_]))|ACTION(?!([a-z0-9_]))|ADD(?!([a-z0-9_]))|ALL(?!([a-z0-9_]))|ALLOCATE(?!([a-z0-9_]))|ALTER(?!([a-z0-9_]))|AND(?!([a-z0-9_]))|ANY(?!([a-z0-9_]))|ARE(?!([a-z0-9_]))|AS(?!([a-z0-9_]))|ASC(?!([a-z0-9_]))|ASSERTION(?!([a-z0-9_]))|AT(?!([a-z0-9_]))|AUTHORIZATION(?!([a-z0-9_]))|AVG(?!([a-z0-9_]))|BEGIN(?!([a-z0-9_]))|BETWEEN(?!([a-z0-9_]))|BIT(?!([a-z0-9_]))|BIT_LENGTH(?!([a-z0-9_]))|BOTH(?!([a-z0-9_]))|BY(?!([a-z0-9_]))|CASCADE(?!([a-z0-9_]))|CASCADED(?!([a-z0-9_]))|CASE(?!([a-z0-9_]))|CAST(?!([a-z0-9_]))|CATALOG(?!([a-z0-9_]))|CHAR(?!([a-z0-9_]))|CHARACTER(?!([a-z0-9_]))|CHARACTER_LENGTH(?!([a-z0-9_]))|CHAR_LENGTH(?!([a-z0-9_]))|CHECK(?!([a-z0-9_]))|CLOSE(?!([a-z0-9_]))|COALESCE(?!([a-z0-9_]))|COLLATE(?!([a-z0-9_]))|COLLATION(?!([a-z0-9_]))|COLUMN(?!([a-z0-9_]))|COMMIT(?!([a-z0-9_]))|CONNECT(?!([a-z0-9_]))|CONNECTION(?!([a-z0-9_]))|CONSTRAINT(?!([a-z0-9_]))|CONSTRAINTS(?!([a-z0-9_]))|CONTINUE(?!([a-z0-9_]))|CONVERT(?!([a-z0-9_]))|CORRESPONDING(?!([a-z0-9_]))|COUNT(?!([a-z0-9_]))|CREATE(?!([a-z0-9_]))|CROSS(?!([a-z0-9_]))|CURRENT(?!([a-z0-9_]))|CURRENT_DATE(?!([a-z0-9_]))|CURRENT_TIME(?!([a-z0-9_]))|CURRENT_TIMESTAMP(?!([a-z0-9_]))|CURRENT_USER(?!([a-z0-9_]))|CURSOR(?!([a-z0-9_]))|DATE(?!([a-z0-9_]))|DAY(?!([a-z0-9_]))|DEALLOCATE(?!([a-z0-9_]))|DEC(?!([a-z0-9_]))|DECIMAL(?!([a-z0-9_]))|DECLARE(?!([a-z0-9_]))|DEFAULT(?!([a-z0-9_]))|DEFERRABLE(?!([a-z0-9_]))|DEFERRED(?!([a-z0-9_]))|DELETE(?!([a-z0-9_]))|DESC(?!([a-z0-9_]))|DESCRIBE(?!([a-z0-9_]))|DESCRIPTOR(?!([a-z0-9_]))|DIAGNOSTICS(?!([a-z0-9_]))|DISCONNECT(?!([a-z0-9_]))|DISTINCT(?!([a-z0-9_]))|DOMAIN(?!([a-z0-9_]))|DOUBLE(?!([a-z0-9_]))|DROP(?!([a-z0-9_]))|ECOUNT(?!([a-z0-9_]))|ELSE(?!([a-z0-9_]))|END(?!([a-z0-9_]))|END_EXEC(?!([a-z0-9_]))|ESCAPE(?!([a-z0-9_]))|EXCEPT(?!([a-z0-9_]))|EXCEPTION(?!([a-z0-9_]))|EXEC(?!([a-z0-9_]))|EXECUTE(?!([a-z0-9_]))|EXISTS(?!([a-z0-9_]))|EXTERNAL(?!([a-z0-9_]))|EXTRACT(?!([a-z0-9_]))|FALSE(?!([a-z0-9_]))|FETCH(?!([a-z0-9_]))|FIRST(?!([a-z0-9_]))|FLOAT(?!([a-z0-9_]))|FOR(?!([a-z0-9_]))|FOREIGN(?!([a-z0-9_]))|FOUND(?!([a-z0-9_]))|FROM(?!([a-z0-9_]))|FULL(?!([a-z0-9_]))|GET(?!([a-z0-9_]))|GLOBAL(?!([a-z0-9_]))|GO(?!([a-z0-9_]))|GOTO(?!([a-z0-9_]))|GRANT(?!([a-z0-9_]))|GROUP(?!([a-z0-9_]))|HAVING(?!([a-z0-9_]))|HOUR(?!([a-z0-9_]))|IDENTITY(?!([a-z0-9_]))|IMMEDIATE(?!([a-z0-9_]))|IN(?!([a-z0-9_]))|INDICATOR(?!([a-z0-9_]))|INITIALLY(?!([a-z0-9_]))|INNER(?!([a-z0-9_]))|INPUT(?!([a-z0-9_]))|INSENSITIVE(?!([a-z0-9_]))|INSERT(?!([a-z0-9_]))|INT(?!([a-z0-9_]))|INTEGER(?!([a-z0-9_]))|INTERSECT(?!([a-z0-9_]))|INTERVAL(?!([a-z0-9_]))|INTO(?!([a-z0-9_]))|IS(?!([a-z0-9_]))|ISOLATION(?!([a-z0-9_]))|JOIN(?!([a-z0-9_]))|KEY(?!([a-z0-9_]))|LANGUAGE(?!([a-z0-9_]))|LAST(?!([a-z0-9_]))|LEADING(?!([a-z0-9_]))|LEFT(?!([a-z0-9_]))|LEVEL(?!([a-z0-9_]))|LIKE(?!([a-z0-9_]))|LOCAL(?!([a-z0-9_]))|LOWER(?!([a-z0-9_]))|MATCH(?!([a-z0-9_]))|MAX(?!([a-z0-9_]))|MIN(?!([a-z0-9_]))|MINUS(?!([a-z0-9_]))|MINUTE(?!([a-z0-9_]))|MODULE(?!([a-z0-9_]))|MONTH(?!([a-z0-9_]))|NAMES(?!([a-z0-9_]))|NATIONAL(?!([a-z0-9_]))|NATURAL(?!([a-z0-9_]))|NCHAR(?!([a-z0-9_]))|NEXT(?!([a-z0-9_]))|NO(?!([a-z0-9_]))|NOT(?!([a-z0-9_]))|NULL(?!([a-z0-9_]))|NULLIF(?!([a-z0-9_]))|NUMERIC(?!([a-z0-9_]))|OCTET_LENGTH(?!([a-z0-9_]))|OF(?!([a-z0-9_]))|ON(?!([a-z0-9_]))|ONLY(?!([a-z0-9_]))|OPEN(?!([a-z0-9_]))|OPTION(?!([a-z0-9_]))|OR(?!([a-z0-9_]))|ORDER(?!([a-z0-9_]))|OUTER(?!([a-z0-9_]))|OUTPUT(?!([a-z0-9_]))|OVERLAPS(?!([a-z0-9_]))|PAD(?!([a-z0-9_]))|PARTIAL(?!([a-z0-9_]))|POSITION(?!([a-z0-9_]))|PRECISION(?!([a-z0-9_]))|PREPARE(?!([a-z0-9_]))|PRESERVE(?!([a-z0-9_]))|PRIMARY(?!([a-z0-9_]))|PRIOR(?!([a-z0-9_]))|PRIVILEGES(?!([a-z0-9_]))|PROCEDURE(?!([a-z0-9_]))|PUBLIC(?!([a-z0-9_]))|READ(?!([a-z0-9_]))|REAL(?!([a-z0-9_]))|REFERENCES(?!([a-z0-9_]))|RELATIVE(?!([a-z0-9_]))|RESTRICT(?!([a-z0-9_]))|REVOKE(?!([a-z0-9_]))|RIGHT(?!([a-z0-9_]))|ROLLBACK(?!([a-z0-9_]))|ROWS(?!([a-z0-9_]))|SCHEMA(?!([a-z0-9_]))|SCROLL(?!([a-z0-9_]))|SECOND(?!([a-z0-9_]))|SECTION(?!([a-z0-9_]))|SELECT(?!([a-z0-9_]))|SESSION(?!([a-z0-9_]))|SESSION_USER(?!([a-z0-9_]))|SET(?!([a-z0-9_]))|SIZE(?!([a-z0-9_]))|SMALLINT(?!([a-z0-9_]))|SOME(?!([a-z0-9_]))|SPACE(?!([a-z0-9_]))|SQL(?!([a-z0-9_]))|SQLCODE(?!([a-z0-9_]))|SQLERROR(?!([a-z0-9_]))|SQLSTATE(?!([a-z0-9_]))|SUBSTRING(?!([a-z0-9_]))|SUM(?!([a-z0-9_]))|SYSTEM_USER(?!([a-z0-9_]))|TABLE(?!([a-z0-9_]))|TEMPORARY(?!([a-z0-9_]))|THEN(?!([a-z0-9_]))|TIME(?!([a-z0-9_]))|TIMESTAMP(?!([a-z0-9_]))|TIMEZONE_HOUR(?!([a-z0-9_]))|TIMEZONE_MINUTE(?!([a-z0-9_]))|TO(?!([a-z0-9_]))|TRAILING(?!([a-z0-9_]))|TRANSACTION(?!([a-z0-9_]))|TRANSLATE(?!([a-z0-9_]))|TRANSLATION(?!([a-z0-9_]))|TRIM(?!([a-z0-9_]))|TRUE(?!([a-z0-9_]))|UNION(?!([a-z0-9_]))|UNIQUE(?!([a-z0-9_]))|UNKNOWN(?!([a-z0-9_]))|UPDATE(?!([a-z0-9_]))|UPPER(?!([a-z0-9_]))|USAGE(?!([a-z0-9_]))|USER(?!([a-z0-9_]))|USING(?!([a-z0-9_]))|VALUE(?!([a-z0-9_]))|VALUES(?!([a-z0-9_]))|VARCHAR(?!([a-z0-9_]))|VARCHAR2(?!([a-z0-9_]))|VARYING(?!([a-z0-9_]))|VIEW(?!([a-z0-9_]))|WHEN(?!([a-z0-9_]))|WHENEVER(?!([a-z0-9_]))|WHERE(?!([a-z0-9_]))|WITH(?!([a-z0-9_]))|WORK(?!([a-z0-9_]))|WRITE(?!([a-z0-9_]))|YEAR(?!([a-z0-9_]))|ZONE(?!([a-z0-9_]))/i]<<}, Parse::RecDescent::_tracefirst($text), q{reserved_word}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{reserved_word}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{reserved_word}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{reserved_word}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{reserved_word}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::from_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"from_clause"}; Parse::RecDescent::_trace(q{Trying rule: [from_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{from_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [FROM_ table_list]}, Parse::RecDescent::_tracefirst($_[1]), q{from_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{from_clause}); %item = (__RULE__ => q{from_clause}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [FROM_]}, Parse::RecDescent::_tracefirst($text), q{from_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::FROM_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{from_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [FROM_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{from_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{FROM_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_list]}, Parse::RecDescent::_tracefirst($text), q{from_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{from_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{from_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{table_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{from_clause}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{table_list}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [FROM_ table_list]<<}, Parse::RecDescent::_tracefirst($text), q{from_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{from_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{from_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{from_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{from_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::WHEN_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"WHEN_"}; Parse::RecDescent::_trace(q{Trying rule: [WHEN_]}, Parse::RecDescent::_tracefirst($_[1]), q{WHEN_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WHEN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{WHEN_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{WHEN_}); %item = (__RULE__ => q{WHEN_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/WHEN/i]}, Parse::RecDescent::_tracefirst($text), q{WHEN_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:WHEN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{WHEN_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/WHEN/i]<<}, Parse::RecDescent::_tracefirst($text), q{WHEN_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{WHEN_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{WHEN_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{WHEN_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{WHEN_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sql_000 { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sql_000"}; Parse::RecDescent::_trace(q{Trying rule: [sql_000]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_000}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_dml end_of_query]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_000}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sql_000}); %item = (__RULE__ => q{sql_000}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_dml]}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_dml($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_dml]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_dml}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [end_of_query]}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{end_of_query})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::end_of_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [end_of_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $item{q{end_of_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_dml end_of_query]<<}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_ddl end_of_query]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_000}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{sql_000}); %item = (__RULE__ => q{sql_000}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_ddl]}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_ddl($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_ddl]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_ddl}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [end_of_query]}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{end_of_query})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::end_of_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [end_of_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $item{q{end_of_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_ddl end_of_query]<<}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{sql_000}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{sql_000}); %item = (__RULE__ => q{sql_000}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { foreach (@{$thisparser->{errors}}) { my $msg = "Line $_->[1]:$_->[0]\n"; # check for a special error hook if (defined(&gnz_err_hook)) { gnz_err_hook($msg); } else { print $msg; } } $thisparser->{errors} = undef; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{sql_000}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sql_000}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sql_000}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sql_000}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sql_000}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::BETWEEN_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"BETWEEN_"}; Parse::RecDescent::_trace(q{Trying rule: [BETWEEN_]}, Parse::RecDescent::_tracefirst($_[1]), q{BETWEEN_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/BETWEEN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{BETWEEN_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{BETWEEN_}); %item = (__RULE__ => q{BETWEEN_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/BETWEEN/i]}, Parse::RecDescent::_tracefirst($text), q{BETWEEN_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:BETWEEN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{BETWEEN_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/BETWEEN/i]<<}, Parse::RecDescent::_tracefirst($text), q{BETWEEN_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{BETWEEN_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{BETWEEN_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{BETWEEN_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{BETWEEN_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::RESTRICT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"RESTRICT_"}; Parse::RecDescent::_trace(q{Trying rule: [RESTRICT_]}, Parse::RecDescent::_tracefirst($_[1]), q{RESTRICT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RESTRICT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{RESTRICT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{RESTRICT_}); %item = (__RULE__ => q{RESTRICT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/RESTRICT/i]}, Parse::RecDescent::_tracefirst($text), q{RESTRICT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:RESTRICT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{RESTRICT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/RESTRICT/i]<<}, Parse::RecDescent::_tracefirst($text), q{RESTRICT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{RESTRICT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{RESTRICT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{RESTRICT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{RESTRICT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::insert_values { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"insert_values"}; Parse::RecDescent::_trace(q{Trying rule: [insert_values]}, Parse::RecDescent::_tracefirst($_[1]), q{insert_values}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [VALUES_ '(' expr_list ')']}, Parse::RecDescent::_tracefirst($_[1]), q{insert_values}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{insert_values}); %item = (__RULE__ => q{insert_values}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [VALUES_]}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::VALUES_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [VALUES_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $item{q{VALUES_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [expr_list]}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{expr_list})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::expr_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [expr_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $item{q{expr_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{expr_list}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [VALUES_ '(' expr_list ')']<<}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [DEFAULT]}, Parse::RecDescent::_tracefirst($_[1]), q{insert_values}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{insert_values}); %item = (__RULE__ => q{insert_values}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [DEFAULT]}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::DEFAULT($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [DEFAULT]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $item{q{DEFAULT}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = 'DEFAULT'}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [DEFAULT]<<}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [sql_query]}, Parse::RecDescent::_tracefirst($_[1]), q{insert_values}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{insert_values}); %item = (__RULE__ => q{insert_values}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_query]}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{sql_query}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [sql_query]<<}, Parse::RecDescent::_tracefirst($text), q{insert_values}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{insert_values}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{insert_values}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{insert_values}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{insert_values}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::GET_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"GET_"}; Parse::RecDescent::_trace(q{Trying rule: [GET_]}, Parse::RecDescent::_tracefirst($_[1]), q{GET_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/GET/i]}, Parse::RecDescent::_tracefirst($_[1]), q{GET_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{GET_}); %item = (__RULE__ => q{GET_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/GET/i]}, Parse::RecDescent::_tracefirst($text), q{GET_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:GET)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{GET_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/GET/i]<<}, Parse::RecDescent::_tracefirst($text), q{GET_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{GET_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{GET_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{GET_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{GET_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CASCADE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CASCADE_"}; Parse::RecDescent::_trace(q{Trying rule: [CASCADE_]}, Parse::RecDescent::_tracefirst($_[1]), q{CASCADE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CASCADE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CASCADE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CASCADE_}); %item = (__RULE__ => q{CASCADE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CASCADE/i]}, Parse::RecDescent::_tracefirst($text), q{CASCADE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CASCADE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CASCADE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CASCADE/i]<<}, Parse::RecDescent::_tracefirst($text), q{CASCADE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CASCADE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CASCADE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CASCADE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CASCADE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DEFERRABLE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DEFERRABLE_"}; Parse::RecDescent::_trace(q{Trying rule: [DEFERRABLE_]}, Parse::RecDescent::_tracefirst($_[1]), q{DEFERRABLE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DEFERRABLE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DEFERRABLE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DEFERRABLE_}); %item = (__RULE__ => q{DEFERRABLE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DEFERRABLE/i]}, Parse::RecDescent::_tracefirst($text), q{DEFERRABLE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DEFERRABLE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DEFERRABLE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DEFERRABLE/i]<<}, Parse::RecDescent::_tracefirst($text), q{DEFERRABLE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DEFERRABLE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DEFERRABLE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DEFERRABLE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DEFERRABLE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ALL { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ALL"}; Parse::RecDescent::_trace(q{Trying rule: [ALL]}, Parse::RecDescent::_tracefirst($_[1]), q{ALL}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ALL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ALL}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ALL}); %item = (__RULE__ => q{ALL}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ALL/i]}, Parse::RecDescent::_tracefirst($text), q{ALL}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ALL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ALL}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/ALL/i]<<}, Parse::RecDescent::_tracefirst($text), q{ALL}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ALL}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ALL}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ALL}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ALL}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::PROCEDURE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"PROCEDURE_"}; Parse::RecDescent::_trace(q{Trying rule: [PROCEDURE_]}, Parse::RecDescent::_tracefirst($_[1]), q{PROCEDURE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PROCEDURE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{PROCEDURE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{PROCEDURE_}); %item = (__RULE__ => q{PROCEDURE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/PROCEDURE/i]}, Parse::RecDescent::_tracefirst($text), q{PROCEDURE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:PROCEDURE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{PROCEDURE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/PROCEDURE/i]<<}, Parse::RecDescent::_tracefirst($text), q{PROCEDURE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{PROCEDURE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{PROCEDURE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{PROCEDURE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{PROCEDURE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::cross_join { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"cross_join"}; Parse::RecDescent::_trace(q{Trying rule: [cross_join]}, Parse::RecDescent::_tracefirst($_[1]), q{cross_join}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{cross_join}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{cross_join}); %item = (__RULE__ => q{cross_join}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [qualified_join]}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{qualified_join})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::qualified_join($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_join]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $item{q{qualified_join}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying subrule: [cj1]}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{cj1})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::cj1($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [cj1]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $item{q{cj1}} = $_tok; push @item, $_tok; } $backtrack=1; Parse::RecDescent::_trace(q{Trying subrule: [qualified_join]}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{qualified_join})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::qualified_join($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [qualified_join]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $item{q{qualified_join}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; push @item, $item{__DIRECTIVE1__}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @join_op = @{$item[1]}; if (exists($item{cj1})) { $return = {join_op => $item[0], operands => \@join_op }; } else { $return = $join_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{cross_join}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{cross_join}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{cross_join}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{cross_join}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{cross_join}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::TRAILING_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"TRAILING_"}; Parse::RecDescent::_trace(q{Trying rule: [TRAILING_]}, Parse::RecDescent::_tracefirst($_[1]), q{TRAILING_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/TRAILING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{TRAILING_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{TRAILING_}); %item = (__RULE__ => q{TRAILING_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/TRAILING/i]}, Parse::RecDescent::_tracefirst($text), q{TRAILING_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:TRAILING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{TRAILING_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/TRAILING/i]<<}, Parse::RecDescent::_tracefirst($text), q{TRAILING_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{TRAILING_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{TRAILING_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{TRAILING_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{TRAILING_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::FIRST_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FIRST_"}; Parse::RecDescent::_trace(q{Trying rule: [FIRST_]}, Parse::RecDescent::_tracefirst($_[1]), q{FIRST_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FIRST/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FIRST_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FIRST_}); %item = (__RULE__ => q{FIRST_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/FIRST/i]}, Parse::RecDescent::_tracefirst($text), q{FIRST_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:FIRST)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{FIRST_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/FIRST/i]<<}, Parse::RecDescent::_tracefirst($text), q{FIRST_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{FIRST_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FIRST_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FIRST_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FIRST_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::AND { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"AND"}; Parse::RecDescent::_trace(q{Trying rule: [AND]}, Parse::RecDescent::_tracefirst($_[1]), q{AND}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/AND/i]}, Parse::RecDescent::_tracefirst($_[1]), q{AND}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{AND}); %item = (__RULE__ => q{AND}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/AND/i]}, Parse::RecDescent::_tracefirst($text), q{AND}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:AND)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{AND}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/AND/i]<<}, Parse::RecDescent::_tracefirst($text), q{AND}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{AND}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{AND}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{AND}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{AND}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SQL_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SQL_"}; Parse::RecDescent::_trace(q{Trying rule: [SQL_]}, Parse::RecDescent::_tracefirst($_[1]), q{SQL_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SQL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SQL_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SQL_}); %item = (__RULE__ => q{SQL_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SQL/i]}, Parse::RecDescent::_tracefirst($text), q{SQL_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SQL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SQL_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SQL/i]<<}, Parse::RecDescent::_tracefirst($text), q{SQL_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SQL_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SQL_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SQL_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SQL_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::function_name { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"function_name"}; Parse::RecDescent::_trace(q{Trying rule: [function_name]}, Parse::RecDescent::_tracefirst($_[1]), q{function_name}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [function_base_name]}, Parse::RecDescent::_tracefirst($_[1]), q{function_name}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{function_name}); %item = (__RULE__ => q{function_name}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [function_base_name]}, Parse::RecDescent::_tracefirst($text), q{function_name}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::function_base_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{function_name}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [function_base_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{function_name}, $tracelevel) if defined $::RD_TRACE; $item{q{function_base_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{function_name}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ((exists($item{'func_pkg_name(?)'})) && (defined($item{'func_pkg_name(?)'})) && (scalar(@{$item{'func_pkg_name(?)'}}))) { $return = $item{'func_pkg_name(?)'}->[0] . $item{function_base_name}; } else { $return = $item{function_base_name}; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [function_base_name]<<}, Parse::RecDescent::_tracefirst($text), q{function_name}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{function_name}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{function_name}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{function_name}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{function_name}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::num_primary1 { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"num_primary1"}; Parse::RecDescent::_trace(q{Trying rule: [num_primary1]}, Parse::RecDescent::_tracefirst($_[1]), q{num_primary1}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [num_primary]}, Parse::RecDescent::_tracefirst($_[1]), q{num_primary1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{num_primary1}); %item = (__RULE__ => q{num_primary1}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [num_primary]}, Parse::RecDescent::_tracefirst($text), q{num_primary1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::num_primary($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{num_primary1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [num_primary]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{num_primary1}, $tracelevel) if defined $::RD_TRACE; $item{q{num_primary}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{num_primary1}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [num_primary]<<}, Parse::RecDescent::_tracefirst($text), q{num_primary1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{num_primary1}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{num_primary1}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{num_primary1}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{num_primary1}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::INSERT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"INSERT_"}; Parse::RecDescent::_trace(q{Trying rule: [INSERT_]}, Parse::RecDescent::_tracefirst($_[1]), q{INSERT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/INSERT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{INSERT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{INSERT_}); %item = (__RULE__ => q{INSERT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/INSERT/i]}, Parse::RecDescent::_tracefirst($text), q{INSERT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:INSERT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{INSERT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/INSERT/i]<<}, Parse::RecDescent::_tracefirst($text), q{INSERT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{INSERT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{INSERT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{INSERT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{INSERT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::alter_guts { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"alter_guts"}; Parse::RecDescent::_trace(q{Trying rule: [alter_guts]}, Parse::RecDescent::_tracefirst($_[1]), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [TABLE_ table_name add_table_cons]}, Parse::RecDescent::_tracefirst($_[1]), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{alter_guts}); %item = (__RULE__ => q{alter_guts}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [TABLE_]}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::TABLE_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [TABLE_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{TABLE_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [add_table_cons]}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{add_table_cons})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::add_table_cons($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [add_table_cons]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; $item{q{add_table_cons}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { table_name => $item{table_name}, add_table_cons => $item{add_table_cons} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [TABLE_ table_name add_table_cons]<<}, Parse::RecDescent::_tracefirst($text), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{alter_guts}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{alter_guts}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{alter_guts}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{alter_guts}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::OR { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"OR"}; Parse::RecDescent::_trace(q{Trying rule: [OR]}, Parse::RecDescent::_tracefirst($_[1]), q{OR}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/OR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{OR}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{OR}); %item = (__RULE__ => q{OR}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/OR/i]}, Parse::RecDescent::_tracefirst($text), q{OR}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:OR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{OR}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/OR/i]<<}, Parse::RecDescent::_tracefirst($text), q{OR}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{OR}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{OR}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{OR}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{OR}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::LEADING_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"LEADING_"}; Parse::RecDescent::_trace(q{Trying rule: [LEADING_]}, Parse::RecDescent::_tracefirst($_[1]), q{LEADING_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LEADING/i]}, Parse::RecDescent::_tracefirst($_[1]), q{LEADING_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{LEADING_}); %item = (__RULE__ => q{LEADING_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/LEADING/i]}, Parse::RecDescent::_tracefirst($text), q{LEADING_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:LEADING)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{LEADING_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/LEADING/i]<<}, Parse::RecDescent::_tracefirst($text), q{LEADING_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{LEADING_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{LEADING_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{LEADING_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{LEADING_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::table_element_list { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_element_list"}; Parse::RecDescent::_trace(q{Trying rule: [table_element_list]}, Parse::RecDescent::_tracefirst($_[1]), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' ')']}, Parse::RecDescent::_tracefirst($_[1]), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_element_list}); %item = (__RULE__ => q{table_element_list}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying operator: []}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); $_tok = undef; OPLOOP: while (1) { $repcount = 0; my @item; # MATCH LEFTARG Parse::RecDescent::_trace(q{Trying subrule: [table_elt]}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_elt})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_elt($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_elt]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $item{q{table_elt}} = $_tok; push @item, $_tok; } $repcount++; my $savetext = $text; my $backtrack; # MATCH (OP RIGHTARG)(s) while ($repcount < 100000000) { $backtrack = 0; Parse::RecDescent::_trace(q{Trying terminal: [/,/]}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{/,/})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:,)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; pop @item; if (defined $1) {push @item, $item{'table_elt(s)'}=$1; $backtrack=1;} Parse::RecDescent::_trace(q{Trying subrule: [table_elt]}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_elt})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_elt($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_elt]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $item{q{table_elt}} = $_tok; push @item, $_tok; } $savetext = $text; $repcount++; } $text = $savetext; pop @item if $backtrack; unless (@item) { undef $_tok; last } $_tok = [ @item ]; last; } unless ($repcount>=1) { Parse::RecDescent::_trace(q{<]>>}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [} . qq{@{$_tok||[]}} . q{]}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; push @item, $item{'table_elt(s)'}=$_tok||[]; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @foo = @{$item[3]}; $return = \@foo; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' ')']<<}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched) { Parse::RecDescent::_trace(q{Trying production: []}, Parse::RecDescent::_tracefirst($_[1]), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; my $_savetext; @item = (q{table_element_list}); %item = (__RULE__ => q{table_element_list}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $_tok = do { if (1) { do {push @{$thisparser->{errors}}, [qq{ invalid column list},$thisline];} unless $_noactions; undef } else {0} }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: []<<}, Parse::RecDescent::_tracefirst($text), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{table_element_list}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_element_list}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_element_list}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_element_list}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::MATCH_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"MATCH_"}; Parse::RecDescent::_trace(q{Trying rule: [MATCH_]}, Parse::RecDescent::_tracefirst($_[1]), q{MATCH_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MATCH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{MATCH_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{MATCH_}); %item = (__RULE__ => q{MATCH_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/MATCH/i]}, Parse::RecDescent::_tracefirst($text), q{MATCH_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:MATCH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{MATCH_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/MATCH/i]<<}, Parse::RecDescent::_tracefirst($text), q{MATCH_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{MATCH_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{MATCH_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{MATCH_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{MATCH_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::PRIVILEGES_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"PRIVILEGES_"}; Parse::RecDescent::_trace(q{Trying rule: [PRIVILEGES_]}, Parse::RecDescent::_tracefirst($_[1]), q{PRIVILEGES_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/PRIVILEGES/i]}, Parse::RecDescent::_tracefirst($_[1]), q{PRIVILEGES_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{PRIVILEGES_}); %item = (__RULE__ => q{PRIVILEGES_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/PRIVILEGES/i]}, Parse::RecDescent::_tracefirst($text), q{PRIVILEGES_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:PRIVILEGES)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{PRIVILEGES_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/PRIVILEGES/i]<<}, Parse::RecDescent::_tracefirst($text), q{PRIVILEGES_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{PRIVILEGES_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{PRIVILEGES_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{PRIVILEGES_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{PRIVILEGES_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::FOR_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FOR_"}; Parse::RecDescent::_trace(q{Trying rule: [FOR_]}, Parse::RecDescent::_tracefirst($_[1]), q{FOR_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FOR/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FOR_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FOR_}); %item = (__RULE__ => q{FOR_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/FOR/i]}, Parse::RecDescent::_tracefirst($text), q{FOR_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:FOR)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{FOR_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/FOR/i]<<}, Parse::RecDescent::_tracefirst($text), q{FOR_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{FOR_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FOR_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FOR_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FOR_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::table_constraint_def { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_constraint_def"}; Parse::RecDescent::_trace(q{Trying rule: [table_constraint_def]}, Parse::RecDescent::_tracefirst($_[1]), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [constraint_name table_cons]}, Parse::RecDescent::_tracefirst($_[1]), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_constraint_def}); %item = (__RULE__ => q{table_constraint_def}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [constraint_name]}, Parse::RecDescent::_tracefirst($text), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::constraint_name, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [constraint_name]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; $item{q{constraint_name(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_cons]}, Parse::RecDescent::_tracefirst($text), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_cons})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_cons($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_cons]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; $item{q{table_cons}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = {name => $item{'constraint_name(?)'}, constraint => $item{table_cons} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [constraint_name table_cons]<<}, Parse::RecDescent::_tracefirst($text), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_constraint_def}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_constraint_def}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_constraint_def}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::sql_insert { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"sql_insert"}; Parse::RecDescent::_trace(q{Trying rule: [sql_insert]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [INSERT_ INTO_ table_name column_list insert_values]}, Parse::RecDescent::_tracefirst($_[1]), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{sql_insert}); %item = (__RULE__ => q{sql_insert}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [INSERT_]}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::INSERT_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [INSERT_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $item{q{INSERT_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [INTO_]}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{INTO_})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::INTO_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [INTO_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $item{q{INTO_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{table_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE2__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [column_list]}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{column_list})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::column_list, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [column_list]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $item{q{column_list(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [insert_values]}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{insert_values})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::insert_values($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [insert_values]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $item{q{insert_values}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $tabinfo = { table_name => $item{table_name} }; if (scalar(@{$item{'column_list(?)'}})) { # get the optional column list if it exists $tabinfo->{column_list} = $item{'column_list(?)'}->[0]; } my $t1 = {insert_tabinfo => $tabinfo}; my $t2 = {insert_values => $item{insert_values}}; $return = [ # NOTE: split the table info from "values" to create # separate, non-nested query blocks. Needs to be an # array to force ordering of qb's, since query block 1 # must precede query block 2 if not nested, and a hash # doesn't guarantee traversal order. $t1, $t2 ]; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [INSERT_ INTO_ table_name column_list insert_values]<<}, Parse::RecDescent::_tracefirst($text), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{sql_insert}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{sql_insert}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{sql_insert}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{sql_insert}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::UNIQUE { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"UNIQUE"}; Parse::RecDescent::_trace(q{Trying rule: [UNIQUE]}, Parse::RecDescent::_tracefirst($_[1]), q{UNIQUE}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UNIQUE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{UNIQUE}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{UNIQUE}); %item = (__RULE__ => q{UNIQUE}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/UNIQUE/i]}, Parse::RecDescent::_tracefirst($text), q{UNIQUE}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:UNIQUE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{UNIQUE}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/UNIQUE/i]<<}, Parse::RecDescent::_tracefirst($text), q{UNIQUE}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{UNIQUE}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{UNIQUE}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{UNIQUE}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{UNIQUE}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::predicate { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"predicate"}; Parse::RecDescent::_trace(q{Trying rule: [predicate]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [comparison_predicate]}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [comparison_predicate]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::comparison_predicate($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [comparison_predicate]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{comparison_predicate}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item[1]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [comparison_predicate]<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [function_name '(' '(' function_guts ')']}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{predicate}); %item = (__RULE__ => q{predicate}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [function_name]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::function_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [function_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{function_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); $_savetext = $text; unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $text = $_savetext; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [function_guts]}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{function_guts})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::function_guts, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [function_guts]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $item{q{function_guts(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING3__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = { function_name => $item{function_name}, operands => $item{'function_guts(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [function_name '(' '(' function_guts ')']<<}, Parse::RecDescent::_tracefirst($text), q{predicate}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{predicate}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{predicate}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{predicate}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{predicate}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::COLLATE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"COLLATE_"}; Parse::RecDescent::_trace(q{Trying rule: [COLLATE_]}, Parse::RecDescent::_tracefirst($_[1]), q{COLLATE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/COLLATE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{COLLATE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{COLLATE_}); %item = (__RULE__ => q{COLLATE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/COLLATE/i]}, Parse::RecDescent::_tracefirst($text), q{COLLATE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:COLLATE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{COLLATE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/COLLATE/i]<<}, Parse::RecDescent::_tracefirst($text), q{COLLATE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{COLLATE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{COLLATE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{COLLATE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{COLLATE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::qualified_join { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"qualified_join"}; Parse::RecDescent::_trace(q{Trying rule: [qualified_join]}, Parse::RecDescent::_tracefirst($_[1]), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [qj_leftop join_spec]}, Parse::RecDescent::_tracefirst($_[1]), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{qualified_join}); %item = (__RULE__ => q{qualified_join}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [qj_leftop]}, Parse::RecDescent::_tracefirst($text), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::qj_leftop($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [qj_leftop]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; $item{q{qj_leftop}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [join_spec]}, Parse::RecDescent::_tracefirst($text), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{join_spec})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::join_spec, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [join_spec]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; $item{q{join_spec(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my @join_op = [$item[1]]; if (scalar(@{$item{'join_spec(?)'}})) { $return = {join_op => $item[0], operands => \@join_op, join_spec => $item{'join_spec(?)'} }; } else { $return = $join_op[0]; } $return; }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [qj_leftop join_spec]<<}, Parse::RecDescent::_tracefirst($text), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{qualified_join}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{qualified_join}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{qualified_join}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{qualified_join}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CONNECTION_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CONNECTION_"}; Parse::RecDescent::_trace(q{Trying rule: [CONNECTION_]}, Parse::RecDescent::_tracefirst($_[1]), q{CONNECTION_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CONNECTION/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CONNECTION_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CONNECTION_}); %item = (__RULE__ => q{CONNECTION_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CONNECTION/i]}, Parse::RecDescent::_tracefirst($text), q{CONNECTION_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CONNECTION)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CONNECTION_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CONNECTION/i]<<}, Parse::RecDescent::_tracefirst($text), q{CONNECTION_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CONNECTION_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CONNECTION_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CONNECTION_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CONNECTION_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::MAX_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"MAX_"}; Parse::RecDescent::_trace(q{Trying rule: [MAX_]}, Parse::RecDescent::_tracefirst($_[1]), q{MAX_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/MAX/i]}, Parse::RecDescent::_tracefirst($_[1]), q{MAX_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{MAX_}); %item = (__RULE__ => q{MAX_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/MAX/i]}, Parse::RecDescent::_tracefirst($text), q{MAX_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:MAX)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{MAX_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/MAX/i]<<}, Parse::RecDescent::_tracefirst($text), q{MAX_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{MAX_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{MAX_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{MAX_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{MAX_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::comp_pred1 { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"comp_pred1"}; Parse::RecDescent::_trace(q{Trying rule: [comp_pred1]}, Parse::RecDescent::_tracefirst($_[1]), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [value_expression comp_op value_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{comp_pred1}); %item = (__RULE__ => q{comp_pred1}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [comp_op]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{comp_op})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::comp_op($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [comp_op]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{comp_op}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{value_expression})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = { comp_op => 'comp_op', operator => $item{comp_op}, operands => [$item[1], $item{comp_op}, $item[3]] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [value_expression comp_op value_expression]<<}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip; Parse::RecDescent::_trace(q{Trying production: [value_expression comp_perlish ]}, Parse::RecDescent::_tracefirst($_[1]), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{comp_pred1}); %item = (__RULE__ => q{comp_pred1}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [comp_perlish]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{comp_perlish})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::comp_perlish($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [comp_perlish]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{comp_perlish}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_tok = do { my ($match,@res); ($match,$text,undef,@res) = Text::Balanced::extract_quotelike($text,$skip); $match ? \@res : undef; }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = { comp_op => 'comp_perlish', operator => $item{comp_perlish}, operands => [$item[1], $item{comp_perlish}, $item[3]] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [value_expression comp_perlish ]<<}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [value_expression NOT function_name '(' '(' function_guts ')']}, Parse::RecDescent::_tracefirst($_[1]), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{comp_pred1}); %item = (__RULE__ => q{comp_pred1}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [NOT]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{NOT})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::NOT, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [NOT]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{NOT(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [function_name]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{function_name})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::function_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [function_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{function_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); $_savetext = $text; unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $text = $_savetext; $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $text = $_savetext; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{'('})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying directive: []}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_tok = do { $commit = 1 }; if (defined($_tok)) { Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } else { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; } last unless defined $_tok; push @item, $item{__DIRECTIVE1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [function_guts]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{function_guts})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::function_guts, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [function_guts]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{function_guts(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING3__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { my $not = scalar(@{$item{'NOT(?)'}}); my $fn_name = $item{function_name}; my @opands; push @opands, {numeric_literal => $not, tc_expr_type => 'n'}; push @opands, {string_literal => '\'' . $fn_name .'\'', tc_expr_type => 'c'}; push @opands, $item{value_expression}; if (scalar(@{$item{'function_guts(?)'}}) && exists($item{'function_guts(?)'}->[0]->{operands})) { push @opands, @{$item{'function_guts(?)'}->[0]->{operands}}; } $return = { function_name => 'compare_function', operands => [{operands => \@opands}] } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [value_expression NOT function_name '(' '(' function_guts ')']<<}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [value_expression]}, Parse::RecDescent::_tracefirst($_[1]), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[3]; $text = $_[1]; my $_savetext; @item = (q{comp_pred1}); %item = (__RULE__ => q{comp_pred1}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [value_expression]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::value_expression($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [value_expression]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $item{q{value_expression}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = $item[1]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [value_expression]<<}, Parse::RecDescent::_tracefirst($text), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{comp_pred1}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{comp_pred1}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{comp_pred1}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::UNKNOWN_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"UNKNOWN_"}; Parse::RecDescent::_trace(q{Trying rule: [UNKNOWN_]}, Parse::RecDescent::_tracefirst($_[1]), q{UNKNOWN_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/UNKNOWN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{UNKNOWN_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{UNKNOWN_}); %item = (__RULE__ => q{UNKNOWN_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/UNKNOWN/i]}, Parse::RecDescent::_tracefirst($text), q{UNKNOWN_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:UNKNOWN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{UNKNOWN_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/UNKNOWN/i]<<}, Parse::RecDescent::_tracefirst($text), q{UNKNOWN_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{UNKNOWN_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{UNKNOWN_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{UNKNOWN_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{UNKNOWN_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ADD_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ADD_"}; Parse::RecDescent::_trace(q{Trying rule: [ADD_]}, Parse::RecDescent::_tracefirst($_[1]), q{ADD_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ADD/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ADD_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ADD_}); %item = (__RULE__ => q{ADD_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ADD/i]}, Parse::RecDescent::_tracefirst($text), q{ADD_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ADD)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ADD_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/ADD/i]<<}, Parse::RecDescent::_tracefirst($text), q{ADD_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ADD_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ADD_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ADD_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ADD_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::update_set_expr { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"update_set_expr"}; Parse::RecDescent::_trace(q{Trying rule: [update_set_expr]}, Parse::RecDescent::_tracefirst($_[1]), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [update_colthing update_oplist]}, Parse::RecDescent::_tracefirst($_[1]), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{update_set_expr}); %item = (__RULE__ => q{update_set_expr}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [update_colthing]}, Parse::RecDescent::_tracefirst($text), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::update_colthing($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [update_colthing]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{update_colthing}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [update_oplist]}, Parse::RecDescent::_tracefirst($text), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{update_oplist})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::update_oplist($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [update_oplist]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; $item{q{update_oplist}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do {$return = { update_columns => $item{update_colthing}, update_sources => $item{update_oplist} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [update_colthing update_oplist]<<}, Parse::RecDescent::_tracefirst($text), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{update_set_expr}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{update_set_expr}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{update_set_expr}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::IN_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"IN_"}; Parse::RecDescent::_trace(q{Trying rule: [IN_]}, Parse::RecDescent::_tracefirst($_[1]), q{IN_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/IN/i]}, Parse::RecDescent::_tracefirst($_[1]), q{IN_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{IN_}); %item = (__RULE__ => q{IN_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/IN/i]}, Parse::RecDescent::_tracefirst($text), q{IN_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:IN)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{IN_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/IN/i]<<}, Parse::RecDescent::_tracefirst($text), q{IN_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{IN_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{IN_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{IN_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{IN_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::SCROLL_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"SCROLL_"}; Parse::RecDescent::_trace(q{Trying rule: [SCROLL_]}, Parse::RecDescent::_tracefirst($_[1]), q{SCROLL_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/SCROLL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{SCROLL_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{SCROLL_}); %item = (__RULE__ => q{SCROLL_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/SCROLL/i]}, Parse::RecDescent::_tracefirst($text), q{SCROLL_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:SCROLL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{SCROLL_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/SCROLL/i]<<}, Parse::RecDescent::_tracefirst($text), q{SCROLL_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{SCROLL_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{SCROLL_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{SCROLL_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{SCROLL_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::AT_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"AT_"}; Parse::RecDescent::_trace(q{Trying rule: [AT_]}, Parse::RecDescent::_tracefirst($_[1]), q{AT_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/AT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{AT_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{AT_}); %item = (__RULE__ => q{AT_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/AT/i]}, Parse::RecDescent::_tracefirst($text), q{AT_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:AT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{AT_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/AT/i]<<}, Parse::RecDescent::_tracefirst($text), q{AT_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{AT_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{AT_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{AT_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{AT_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::having_clause { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"having_clause"}; Parse::RecDescent::_trace(q{Trying rule: [having_clause]}, Parse::RecDescent::_tracefirst($_[1]), q{having_clause}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [HAVING_ search_cond]}, Parse::RecDescent::_tracefirst($_[1]), q{having_clause}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{having_clause}); %item = (__RULE__ => q{having_clause}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [HAVING_]}, Parse::RecDescent::_tracefirst($text), q{having_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::HAVING_($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{having_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [HAVING_]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{having_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{HAVING_}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [search_cond]}, Parse::RecDescent::_tracefirst($text), q{having_clause}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{search_cond})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::search_cond($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{having_clause}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [search_cond]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{having_clause}, $tracelevel) if defined $::RD_TRACE; $item{q{search_cond}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{having_clause}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{search_cond}}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [HAVING_ search_cond]<<}, Parse::RecDescent::_tracefirst($text), q{having_clause}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{having_clause}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{having_clause}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{having_clause}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{having_clause}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::FOUND_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"FOUND_"}; Parse::RecDescent::_trace(q{Trying rule: [FOUND_]}, Parse::RecDescent::_tracefirst($_[1]), q{FOUND_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/FOUND/i]}, Parse::RecDescent::_tracefirst($_[1]), q{FOUND_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{FOUND_}); %item = (__RULE__ => q{FOUND_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/FOUND/i]}, Parse::RecDescent::_tracefirst($text), q{FOUND_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:FOUND)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{FOUND_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/FOUND/i]<<}, Parse::RecDescent::_tracefirst($text), q{FOUND_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{FOUND_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{FOUND_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{FOUND_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{FOUND_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::LOCAL_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"LOCAL_"}; Parse::RecDescent::_trace(q{Trying rule: [LOCAL_]}, Parse::RecDescent::_tracefirst($_[1]), q{LOCAL_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/LOCAL/i]}, Parse::RecDescent::_tracefirst($_[1]), q{LOCAL_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{LOCAL_}); %item = (__RULE__ => q{LOCAL_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/LOCAL/i]}, Parse::RecDescent::_tracefirst($text), q{LOCAL_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:LOCAL)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{LOCAL_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/LOCAL/i]<<}, Parse::RecDescent::_tracefirst($text), q{LOCAL_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{LOCAL_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{LOCAL_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{LOCAL_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{LOCAL_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::bind_placeholder { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"bind_placeholder"}; Parse::RecDescent::_trace(q{Trying rule: [bind_placeholder]}, Parse::RecDescent::_tracefirst($_[1]), q{bind_placeholder}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['?']}, Parse::RecDescent::_tracefirst($_[1]), q{bind_placeholder}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{bind_placeholder}); %item = (__RULE__ => q{bind_placeholder}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['?']}, Parse::RecDescent::_tracefirst($text), q{bind_placeholder}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\?//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{bind_placeholder}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = {bind_placeholder => {offset => $thisoffset }} }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['?']<<}, Parse::RecDescent::_tracefirst($text), q{bind_placeholder}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{bind_placeholder}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{bind_placeholder}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{bind_placeholder}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{bind_placeholder}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::END_EXEC_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"END_EXEC_"}; Parse::RecDescent::_trace(q{Trying rule: [END_EXEC_]}, Parse::RecDescent::_tracefirst($_[1]), q{END_EXEC_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/END_EXEC/i]}, Parse::RecDescent::_tracefirst($_[1]), q{END_EXEC_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{END_EXEC_}); %item = (__RULE__ => q{END_EXEC_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/END_EXEC/i]}, Parse::RecDescent::_tracefirst($text), q{END_EXEC_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:END_EXEC)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{END_EXEC_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/END_EXEC/i]<<}, Parse::RecDescent::_tracefirst($text), q{END_EXEC_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{END_EXEC_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{END_EXEC_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{END_EXEC_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{END_EXEC_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::table_alias { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_alias"}; Parse::RecDescent::_trace(q{Trying rule: [table_alias]}, Parse::RecDescent::_tracefirst($_[1]), q{table_alias}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [AS_ identifier]}, Parse::RecDescent::_tracefirst($_[1]), q{table_alias}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_alias}); %item = (__RULE__ => q{table_alias}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [AS_]}, Parse::RecDescent::_tracefirst($text), q{table_alias}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::AS_, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_alias}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [AS_]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{table_alias}, $tracelevel) if defined $::RD_TRACE; $item{q{AS_(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [identifier]}, Parse::RecDescent::_tracefirst($text), q{table_alias}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{identifier})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_alias}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_alias}, $tracelevel) if defined $::RD_TRACE; $item{q{identifier}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_alias}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{identifier} }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [AS_ identifier]<<}, Parse::RecDescent::_tracefirst($text), q{table_alias}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{table_alias}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_alias}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_alias}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_alias}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::BIT_LENGTH_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"BIT_LENGTH_"}; Parse::RecDescent::_trace(q{Trying rule: [BIT_LENGTH_]}, Parse::RecDescent::_tracefirst($_[1]), q{BIT_LENGTH_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/BIT_LENGTH/i]}, Parse::RecDescent::_tracefirst($_[1]), q{BIT_LENGTH_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{BIT_LENGTH_}); %item = (__RULE__ => q{BIT_LENGTH_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/BIT_LENGTH/i]}, Parse::RecDescent::_tracefirst($text), q{BIT_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:BIT_LENGTH)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{BIT_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/BIT_LENGTH/i]<<}, Parse::RecDescent::_tracefirst($text), q{BIT_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{BIT_LENGTH_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{BIT_LENGTH_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{BIT_LENGTH_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{BIT_LENGTH_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CURRENT_TIMESTAMP_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CURRENT_TIMESTAMP_"}; Parse::RecDescent::_trace(q{Trying rule: [CURRENT_TIMESTAMP_]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_TIMESTAMP_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CURRENT_TIMESTAMP/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_TIMESTAMP_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CURRENT_TIMESTAMP_}); %item = (__RULE__ => q{CURRENT_TIMESTAMP_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CURRENT_TIMESTAMP/i]}, Parse::RecDescent::_tracefirst($text), q{CURRENT_TIMESTAMP_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CURRENT_TIMESTAMP)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CURRENT_TIMESTAMP_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CURRENT_TIMESTAMP/i]<<}, Parse::RecDescent::_tracefirst($text), q{CURRENT_TIMESTAMP_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_TIMESTAMP_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CURRENT_TIMESTAMP_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CURRENT_TIMESTAMP_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CURRENT_TIMESTAMP_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::select_list { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"select_list"}; Parse::RecDescent::_trace(q{Trying rule: [select_list]}, Parse::RecDescent::_tracefirst($_[1]), q{select_list}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['*']}, Parse::RecDescent::_tracefirst($_[1]), q{select_list}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{select_list}); %item = (__RULE__ => q{select_list}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['*']}, Parse::RecDescent::_tracefirst($text), q{select_list}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\*//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{select_list}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = 'STAR'}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['*']<<}, Parse::RecDescent::_tracefirst($text), q{select_list}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [col_expr_list]}, Parse::RecDescent::_tracefirst($_[1]), q{select_list}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{select_list}); %item = (__RULE__ => q{select_list}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [col_expr_list]}, Parse::RecDescent::_tracefirst($text), q{select_list}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::col_expr_list($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{select_list}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [col_expr_list]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{select_list}, $tracelevel) if defined $::RD_TRACE; $item{q{col_expr_list}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{select_list}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item{col_expr_list} }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [col_expr_list]<<}, Parse::RecDescent::_tracefirst($text), q{select_list}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{select_list}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{select_list}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{select_list}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{select_list}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::DECLARE_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"DECLARE_"}; Parse::RecDescent::_trace(q{Trying rule: [DECLARE_]}, Parse::RecDescent::_tracefirst($_[1]), q{DECLARE_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/DECLARE/i]}, Parse::RecDescent::_tracefirst($_[1]), q{DECLARE_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{DECLARE_}); %item = (__RULE__ => q{DECLARE_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/DECLARE/i]}, Parse::RecDescent::_tracefirst($text), q{DECLARE_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:DECLARE)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{DECLARE_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/DECLARE/i]<<}, Parse::RecDescent::_tracefirst($text), q{DECLARE_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{DECLARE_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{DECLARE_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{DECLARE_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{DECLARE_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::RIGHT { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"RIGHT"}; Parse::RecDescent::_trace(q{Trying rule: [RIGHT]}, Parse::RecDescent::_tracefirst($_[1]), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/RIGHT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{RIGHT}); %item = (__RULE__ => q{RIGHT}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/RIGHT/i]}, Parse::RecDescent::_tracefirst($text), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:RIGHT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/RIGHT/i]<<}, Parse::RecDescent::_tracefirst($text), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{RIGHT}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{RIGHT}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{RIGHT}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{RIGHT}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::ECOUNT { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"ECOUNT"}; Parse::RecDescent::_trace(q{Trying rule: [ECOUNT]}, Parse::RecDescent::_tracefirst($_[1]), q{ECOUNT}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/ECOUNT/i]}, Parse::RecDescent::_tracefirst($_[1]), q{ECOUNT}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{ECOUNT}); %item = (__RULE__ => q{ECOUNT}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/ECOUNT/i]}, Parse::RecDescent::_tracefirst($text), q{ECOUNT}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:ECOUNT)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{ECOUNT}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { if ($item[0] !~ m/_$/) { [@item] ; } else { @item[1..$#item]; } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; Parse::RecDescent::_trace(q{>>Matched production: [/ECOUNT/i]<<}, Parse::RecDescent::_tracefirst($text), q{ECOUNT}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{ECOUNT}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{ECOUNT}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{ECOUNT}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{ECOUNT}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::CURRENT_TIME_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"CURRENT_TIME_"}; Parse::RecDescent::_trace(q{Trying rule: [CURRENT_TIME_]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_TIME_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/CURRENT_TIME/i]}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_TIME_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{CURRENT_TIME_}); %item = (__RULE__ => q{CURRENT_TIME_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/CURRENT_TIME/i]}, Parse::RecDescent::_tracefirst($text), q{CURRENT_TIME_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:CURRENT_TIME)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{CURRENT_TIME_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/CURRENT_TIME/i]<<}, Parse::RecDescent::_tracefirst($text), q{CURRENT_TIME_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{CURRENT_TIME_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{CURRENT_TIME_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{CURRENT_TIME_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{CURRENT_TIME_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::table_expr_prim { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"table_expr_prim"}; Parse::RecDescent::_trace(q{Trying rule: [table_expr_prim]}, Parse::RecDescent::_tracefirst($_[1]), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [table_name table_alias]}, Parse::RecDescent::_tracefirst($_[1]), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{table_expr_prim}); %item = (__RULE__ => q{table_expr_prim}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [table_name]}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::table_name($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [table_name]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $item{q{table_name}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [table_alias]}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{table_alias})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::table_alias, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [table_alias]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $item{q{table_alias(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { table_name => $item{table_name}, table_alias => $item{'table_alias(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [table_name table_alias]<<}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' sql_query ')' table_alias]}, Parse::RecDescent::_tracefirst($_[1]), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[1]; $text = $_[1]; my $_savetext; @item = (q{table_expr_prim}); %item = (__RULE__ => q{table_expr_prim}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [sql_query]}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{sql_query})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::sql_query($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [sql_query]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $item{q{sql_query}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying repeated subrule: [table_alias]}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $expectation->is(q{table_alias})->at($text); unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Genezzo::Parse::SQL::table_alias, 0, 1, $_noactions,$expectation,undef))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched repeated subrule: [table_alias]<< (} . @$_tok . q{ times)}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $item{q{table_alias(?)}} = $_tok; push @item, $_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = { sql_query => $item{sql_query}, table_alias => $item{'table_alias(?)'} } }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' sql_query ')' table_alias]<<}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: ['(' join_tab ')']}, Parse::RecDescent::_tracefirst($_[1]), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[2]; $text = $_[1]; my $_savetext; @item = (q{table_expr_prim}); %item = (__RULE__ => q{table_expr_prim}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: ['(']}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\(//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying subrule: [join_tab]}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; if (1) { no strict qw{refs}; $expectation->is(q{join_tab})->at($text); unless (defined ($_tok = Parse::RecDescent::Genezzo::Parse::SQL::join_tab($thisparser,$text,$repeating,$_noactions,sub { \@arg }))) { Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $expectation->failed(); last; } Parse::RecDescent::_trace(q{>>Matched subrule: [join_tab]<< (return value: [} . $_tok . q{]}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $item{q{join_tab}} = $_tok; push @item, $_tok; } $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [')']}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{')'})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A\)//) { $expectation->failed(); Parse::RecDescent::_trace(qq{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__STRING2__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[2]}; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: ['(' join_tab ')']<<}, Parse::RecDescent::_tracefirst($text), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{table_expr_prim}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{table_expr_prim}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{table_expr_prim}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::WHENEVER_ { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"WHENEVER_"}; Parse::RecDescent::_trace(q{Trying rule: [WHENEVER_]}, Parse::RecDescent::_tracefirst($_[1]), q{WHENEVER_}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/WHENEVER/i]}, Parse::RecDescent::_tracefirst($_[1]), q{WHENEVER_}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{WHENEVER_}); %item = (__RULE__ => q{WHENEVER_}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/WHENEVER/i]}, Parse::RecDescent::_tracefirst($text), q{WHENEVER_}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:WHENEVER)//i) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{WHENEVER_}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { [] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/WHENEVER/i]<<}, Parse::RecDescent::_tracefirst($text), q{WHENEVER_}, $tracelevel) if defined $::RD_TRACE; $_matched = 1; last; } unless ( $_matched || defined($return) || defined($score) ) { $_[1] = $text; # NOT SURE THIS IS NEEDED Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($_[1]), q{WHENEVER_}, $tracelevel) if defined $::RD_TRACE; return undef; } if (!defined($return) && defined($score)) { Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "", q{WHENEVER_}, $tracelevel) if defined $::RD_TRACE; $return = $score_return; } splice @{$thisparser->{errors}}, $err_at; $return = $item[$#item] unless defined $return; if (defined $::RD_TRACE) { Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} . $return . q{])}, "", q{WHENEVER_}, $tracelevel); Parse::RecDescent::_trace(q{(consumed: [} . Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])}, Parse::RecDescent::_tracefirst($text), , q{WHENEVER_}, $tracelevel) } $_[1] = $text; return $return; } # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args) sub Parse::RecDescent::Genezzo::Parse::SQL::numeric_literal { my $thisparser = $_[0]; use vars q{$tracelevel}; local $tracelevel = ($tracelevel||0)+1; $ERRORS = 0; my $thisrule = $thisparser->{"rules"}{"numeric_literal"}; Parse::RecDescent::_trace(q{Trying rule: [numeric_literal]}, Parse::RecDescent::_tracefirst($_[1]), q{numeric_literal}, $tracelevel) if defined $::RD_TRACE; my $err_at = @{$thisparser->{errors}}; my $score; my $score_return; my $_tok; my $return = undef; my $_matched=0; my $commit=0; my @item = (); my %item = (); my $repeating = defined($_[2]) && $_[2]; my $_noactions = defined($_[3]) && $_[3]; my @arg = defined $_[4] ? @{ &{$_[4]} } : (); my %arg = ($#arg & 01) ? @arg : (@arg, undef); my $text; my $lastsep=""; my $expectation = new Parse::RecDescent::Expectation($thisrule->expected()); $expectation->at($_[1]); my $thisoffset; tie $thisoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser; my $prevoffset; tie $prevoffset, q{Parse::RecDescent::OffsetCounter}, \$text, $thisparser, 1; my $thiscolumn; tie $thiscolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser; my $prevcolumn; tie $prevcolumn, q{Parse::RecDescent::ColCounter}, \$text, $thisparser, 1; my $prevline; tie $prevline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser, 1; my $thisline; tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser; while (!$_matched && !$commit) { Parse::RecDescent::_trace(q{Trying production: [/[+-]?(?=\\d|\\.\\d)\\d*(\\.\\d*)?([Ee]([+-]?\\d+))?/]}, Parse::RecDescent::_tracefirst($_[1]), q{numeric_literal}, $tracelevel) if defined $::RD_TRACE; my $thisprod = $thisrule->{"prods"}[0]; $text = $_[1]; my $_savetext; @item = (q{numeric_literal}); %item = (__RULE__ => q{numeric_literal}); my $repcount = 0; my @itempos = ({}); push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying terminal: [/[+-]?(?=\\d|\\.\\d)\\d*(\\.\\d*)?([Ee]([+-]?\\d+))?/]}, Parse::RecDescent::_tracefirst($text), q{numeric_literal}, $tracelevel) if defined $::RD_TRACE; $lastsep = ""; $expectation->is(q{})->at($text); unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $itempos[$#itempos]{'offset'}{'from'} += length($1); $itempos[$#itempos]{'line'}{'from'} = $thisline; $itempos[$#itempos]{'column'}{'from'} = $thiscolumn; 1} and $text =~ s/\A(?:[+-]?(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?)//) { $expectation->failed(); Parse::RecDescent::_trace(q{<>}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [} . $& . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $item{__PATTERN1__}=$&; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; push @itempos, {'offset' => {'from'=>$thisoffset, 'to'=>undef}, 'line' => {'from'=>$thisline, 'to'=>undef}, 'column' => {'from'=>$thiscolumn, 'to'=>undef} }; Parse::RecDescent::_trace(q{Trying action}, Parse::RecDescent::_tracefirst($text), q{numeric_literal}, $tracelevel) if defined $::RD_TRACE; $_tok = ($_noactions) ? 0 : do { $return = $item[1] }; unless (defined $_tok) { Parse::RecDescent::_trace(q{<> (return value: [undef])}) if defined $::RD_TRACE; last; } Parse::RecDescent::_trace(q{>>Matched action<< (return value: [} . $_tok . q{])}, Parse::RecDescent::_tracefirst($text)) if defined $::RD_TRACE; push @item, $_tok; $item{__ACTION1__}=$_tok; $itempos[$#itempos]{'offset'}{'to'} = $prevoffset; $itempos[$#itempos]{'line'}{'to'} = $prevline; $itempos[$#itempos]{'column'}{'to'} = $prevcolumn; Parse::RecDescent::_trace(q{>>Matched production: [/[+-]?(?=\\d|\\.\\d)\\d*(\\.\\d*)?([Ee]([+-]?\\d+))?/]<<}, Parse::RecDescent::_tracefirst($text), q{numeric_literal}, $tracelevel) if defi