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])})