| #============================================================= -*-Perl-*- |
| # |
| # Template::Grammar |
| # |
| # DESCRIPTION |
| # Grammar file for the Template Toolkit language containing token |
| # definitions and parser state/rules tables generated by Parse::Yapp. |
| # |
| # AUTHOR |
| # Andy Wardley <abw@wardley.org> |
| # |
| # COPYRIGHT |
| # Copyright (C) 1996-2006 Andy Wardley. All Rights Reserved. |
| # Copyright (C) 1998-2000 Canon Research Centre Europe Ltd. |
| # |
| # This module is free software; you can redistribute it and/or |
| # modify it under the same terms as Perl itself. |
| # |
| # REVISION |
| # $Id$ |
| # |
| # IMPORTANT NOTE |
| # This module is constructed from the parser/Grammar.pm.skel file by |
| # running the parser/yc script. You only need to do this if # you |
| # have modified the grammar in the parser/Parser.yp file and need # |
| # to-recompile it. See the README in the 'parser' directory for |
| # more information (sub-directory of the Template distribution). |
| # |
| #======================================================================== |
| |
| package Template::Grammar; |
| |
| use strict; |
| use warnings; |
| |
| our $VERSION = 2.25; |
| |
| my (@RESERVED, %CMPOP, $LEXTABLE, $RULES, $STATES); |
| my ($factory, $rawstart); |
| |
| |
| #======================================================================== |
| |
| # Reserved words, comparison and binary operators |
| #======================================================================== |
| |
| @RESERVED = qw( |
| GET CALL SET DEFAULT INSERT INCLUDE PROCESS WRAPPER BLOCK END |
| USE PLUGIN FILTER MACRO PERL RAWPERL TO STEP AND OR NOT DIV MOD |
| IF UNLESS ELSE ELSIF FOR NEXT WHILE SWITCH CASE META IN |
| TRY THROW CATCH FINAL LAST RETURN STOP CLEAR VIEW DEBUG |
| ); |
| |
| # for historical reasons, != and == are converted to ne and eq to perform |
| # stringwise comparison (mainly because it doesn't generate "non-numerical |
| # comparison" warnings which != and == can) but the others (e.g. < > <= >=) |
| # are not converted to their stringwise equivalents. I added 'gt' et al, |
| # briefly for v2.04d and then took them out again in 2.04e. |
| |
| |
| %CMPOP = qw( |
| != ne |
| == eq |
| < < |
| > > |
| >= >= |
| <= <= |
| ); |
| |
| # eq eq # add these lines to the above to |
| # lt lt # enable the eq, lt and gt operators |
| # gt gt |
| |
| #======================================================================== |
| # Lexer Token Table |
| #======================================================================== |
| |
| # lookup table used by lexer is initialised with special-cases |
| $LEXTABLE = { |
| 'FOREACH' => 'FOR', |
| 'BREAK' => 'LAST', |
| '&&' => 'AND', |
| '||' => 'OR', |
| '!' => 'NOT', |
| '|' => 'FILTER', |
| '.' => 'DOT', |
| '_' => 'CAT', |
| '..' => 'TO', |
| # ':' => 'MACRO', |
| '=' => 'ASSIGN', |
| '=>' => 'ASSIGN', |
| # '->' => 'ARROW', |
| ',' => 'COMMA', |
| '\\' => 'REF', |
| 'and' => 'AND', # explicitly specified so that qw( and or |
| 'or' => 'OR', # not ) can always be used in lower case, |
| 'not' => 'NOT', # regardless of ANYCASE flag |
| 'mod' => 'MOD', |
| 'div' => 'DIV', |
| }; |
| |
| # localise the temporary variables needed to complete lexer table |
| { |
| # my @tokens = qw< ( ) [ ] { } ${ $ / ; : ? >; |
| my @tokens = qw< ( ) [ ] { } ${ $ + / ; : ? >; |
| my @cmpop = keys %CMPOP; |
| # my @binop = qw( + - * % ); # '/' above, in @tokens |
| my @binop = qw( - * % ); # '+' and '/' above, in @tokens |
| |
| # fill lexer table, slice by slice, with reserved words and operators |
| @$LEXTABLE{ @RESERVED, @cmpop, @binop, @tokens } |
| = ( @RESERVED, ('CMPOP') x @cmpop, ('BINOP') x @binop, @tokens ); |
| } |
| |
| |
| #======================================================================== |
| # CLASS METHODS |
| #======================================================================== |
| |
| sub new { |
| my $class = shift; |
| bless { |
| LEXTABLE => $LEXTABLE, |
| STATES => $STATES, |
| RULES => $RULES, |
| }, $class; |
| } |
| |
| # update method to set package-scoped $factory lexical |
| sub install_factory { |
| my ($self, $new_factory) = @_; |
| $factory = $new_factory; |
| } |
| |
| |
| #======================================================================== |
| # States |
| #======================================================================== |
| |
| $STATES = [ |
| {#State 0 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'loop' => 4, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'template' => 52, |
| 'defblockname' => 14, |
| 'ident' => 16, |
| 'assign' => 19, |
| 'macro' => 20, |
| 'lterm' => 56, |
| 'node' => 23, |
| 'term' => 58, |
| 'rawperl' => 59, |
| 'expr' => 62, |
| 'use' => 63, |
| 'defblock' => 66, |
| 'filter' => 29, |
| 'sterm' => 68, |
| 'perl' => 31, |
| 'chunks' => 33, |
| 'setlist' => 70, |
| 'try' => 35, |
| 'switch' => 34, |
| 'directive' => 71, |
| 'block' => 72, |
| 'condition' => 73 |
| } |
| }, |
| {#State 1 |
| ACTIONS => { |
| "\$" => 43, |
| 'LITERAL' => 75, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'setlist' => 76, |
| 'item' => 39, |
| 'assign' => 19, |
| 'node' => 23, |
| 'ident' => 74 |
| } |
| }, |
| {#State 2 |
| DEFAULT => -130 |
| }, |
| {#State 3 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 79, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 4 |
| DEFAULT => -23 |
| }, |
| {#State 5 |
| ACTIONS => { |
| ";" => 80 |
| } |
| }, |
| {#State 6 |
| DEFAULT => -37 |
| }, |
| {#State 7 |
| DEFAULT => -14 |
| }, |
| {#State 8 |
| ACTIONS => { |
| "\"" => 89, |
| "\$" => 86, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'names' => 91, |
| 'nameargs' => 90, |
| 'filename' => 85, |
| 'name' => 82 |
| } |
| }, |
| {#State 9 |
| ACTIONS => { |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "]" => 94, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'sterm' => 96, |
| 'item' => 39, |
| 'range' => 93, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 95, |
| 'lterm' => 56, |
| 'list' => 92 |
| } |
| }, |
| {#State 10 |
| ACTIONS => { |
| ";" => 97 |
| } |
| }, |
| {#State 11 |
| DEFAULT => -5 |
| }, |
| {#State 12 |
| ACTIONS => { |
| ";" => -20 |
| }, |
| DEFAULT => -27 |
| }, |
| {#State 13 |
| DEFAULT => -78, |
| GOTOS => { |
| '@5-1' => 98 |
| } |
| }, |
| {#State 14 |
| ACTIONS => { |
| 'IDENT' => 99 |
| }, |
| DEFAULT => -87, |
| GOTOS => { |
| 'blockargs' => 102, |
| 'metadata' => 101, |
| 'meta' => 100 |
| } |
| }, |
| {#State 15 |
| ACTIONS => { |
| 'IDENT' => 99 |
| }, |
| GOTOS => { |
| 'metadata' => 103, |
| 'meta' => 100 |
| } |
| }, |
| {#State 16 |
| ACTIONS => { |
| 'DOT' => 104, |
| 'ASSIGN' => 105 |
| }, |
| DEFAULT => -109 |
| }, |
| {#State 17 |
| ACTIONS => { |
| "\"" => 89, |
| "\$" => 86, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'names' => 91, |
| 'nameargs' => 106, |
| 'filename' => 85, |
| 'name' => 82 |
| } |
| }, |
| {#State 18 |
| ACTIONS => { |
| 'IDENT' => 107 |
| } |
| }, |
| {#State 19 |
| DEFAULT => -149 |
| }, |
| {#State 20 |
| DEFAULT => -12 |
| }, |
| {#State 21 |
| ACTIONS => { |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 108, |
| "\"" => 60, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'sterm' => 68, |
| 'item' => 39, |
| 'loopvar' => 110, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 109, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 22 |
| DEFAULT => -40 |
| }, |
| {#State 23 |
| DEFAULT => -127 |
| }, |
| {#State 24 |
| DEFAULT => -6 |
| }, |
| {#State 25 |
| ACTIONS => { |
| "\"" => 117, |
| "\$" => 114, |
| 'LITERAL' => 116, |
| 'FILENAME' => 83, |
| 'IDENT' => 111, |
| 'NUMBER' => 84, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'names' => 91, |
| 'lvalue' => 112, |
| 'item' => 113, |
| 'name' => 82, |
| 'filepart' => 87, |
| 'filename' => 85, |
| 'nameargs' => 118, |
| 'lnameargs' => 115 |
| } |
| }, |
| {#State 26 |
| DEFAULT => -113 |
| }, |
| {#State 27 |
| ACTIONS => { |
| "\$" => 43, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 119 |
| } |
| }, |
| {#State 28 |
| ACTIONS => { |
| 'LITERAL' => 124, |
| 'FILENAME' => 83, |
| 'IDENT' => 120, |
| 'NUMBER' => 84 |
| }, |
| DEFAULT => -87, |
| GOTOS => { |
| 'blockargs' => 123, |
| 'filepart' => 87, |
| 'filename' => 122, |
| 'blockname' => 121, |
| 'metadata' => 101, |
| 'meta' => 100 |
| } |
| }, |
| {#State 29 |
| DEFAULT => -43 |
| }, |
| {#State 30 |
| ACTIONS => { |
| "\$" => 43, |
| 'LITERAL' => 129, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| DEFAULT => -119, |
| GOTOS => { |
| 'params' => 128, |
| 'hash' => 125, |
| 'item' => 126, |
| 'param' => 127 |
| } |
| }, |
| {#State 31 |
| DEFAULT => -25 |
| }, |
| {#State 32 |
| ACTIONS => { |
| "\"" => 117, |
| "\$" => 114, |
| 'LITERAL' => 116, |
| 'FILENAME' => 83, |
| 'IDENT' => 111, |
| 'NUMBER' => 84, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'names' => 91, |
| 'lvalue' => 112, |
| 'item' => 113, |
| 'name' => 82, |
| 'filepart' => 87, |
| 'filename' => 85, |
| 'nameargs' => 118, |
| 'lnameargs' => 130 |
| } |
| }, |
| {#State 33 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -2, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 131, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 34 |
| DEFAULT => -22 |
| }, |
| {#State 35 |
| DEFAULT => -24 |
| }, |
| {#State 36 |
| ACTIONS => { |
| "\"" => 89, |
| "\$" => 86, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'names' => 91, |
| 'nameargs' => 132, |
| 'filename' => 85, |
| 'name' => 82 |
| } |
| }, |
| {#State 37 |
| ACTIONS => { |
| "\"" => 60, |
| "\$" => 43, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| 'REF' => 27, |
| 'NUMBER' => 26, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'sterm' => 133, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77 |
| } |
| }, |
| {#State 38 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 134, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 39 |
| ACTIONS => { |
| "(" => 135 |
| }, |
| DEFAULT => -128 |
| }, |
| {#State 40 |
| ACTIONS => { |
| ";" => 136 |
| } |
| }, |
| {#State 41 |
| DEFAULT => -38 |
| }, |
| {#State 42 |
| DEFAULT => -11 |
| }, |
| {#State 43 |
| ACTIONS => { |
| 'IDENT' => 137 |
| } |
| }, |
| {#State 44 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 138, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 45 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 139, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 46 |
| DEFAULT => -42 |
| }, |
| {#State 47 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 140, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 48 |
| ACTIONS => { |
| 'IF' => 144, |
| 'FILTER' => 143, |
| 'FOR' => 142, |
| 'WHILE' => 146, |
| 'WRAPPER' => 145, |
| 'UNLESS' => 141 |
| } |
| }, |
| {#State 49 |
| DEFAULT => -39 |
| }, |
| {#State 50 |
| DEFAULT => -10 |
| }, |
| {#State 51 |
| ACTIONS => { |
| "\"" => 89, |
| "\$" => 86, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'names' => 91, |
| 'nameargs' => 147, |
| 'filename' => 85, |
| 'name' => 82 |
| } |
| }, |
| {#State 52 |
| ACTIONS => { |
| '' => 148 |
| } |
| }, |
| {#State 53 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 57, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 151, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'assign' => 150, |
| 'node' => 23, |
| 'ident' => 149, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 54 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 152, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 55 |
| ACTIONS => { |
| "\"" => 89, |
| "\$" => 86, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'names' => 91, |
| 'nameargs' => 153, |
| 'filename' => 85, |
| 'name' => 82 |
| } |
| }, |
| {#State 56 |
| DEFAULT => -103 |
| }, |
| {#State 57 |
| ACTIONS => { |
| 'ASSIGN' => 154 |
| }, |
| DEFAULT => -112 |
| }, |
| {#State 58 |
| DEFAULT => -146 |
| }, |
| {#State 59 |
| DEFAULT => -15 |
| }, |
| {#State 60 |
| DEFAULT => -176, |
| GOTOS => { |
| 'quoted' => 155 |
| } |
| }, |
| {#State 61 |
| ACTIONS => { |
| "\"" => 89, |
| "\$" => 86, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'names' => 91, |
| 'nameargs' => 156, |
| 'filename' => 85, |
| 'name' => 82 |
| } |
| }, |
| {#State 62 |
| ACTIONS => { |
| ";" => -16, |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'DIV' => 159, |
| 'MOD' => 165, |
| "/" => 166, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -26 |
| }, |
| {#State 63 |
| DEFAULT => -13 |
| }, |
| {#State 64 |
| DEFAULT => -36 |
| }, |
| {#State 65 |
| ACTIONS => { |
| "\"" => 89, |
| "\$" => 86, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'names' => 91, |
| 'nameargs' => 167, |
| 'filename' => 85, |
| 'name' => 82 |
| } |
| }, |
| {#State 66 |
| DEFAULT => -9 |
| }, |
| {#State 67 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 168, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 68 |
| DEFAULT => -104 |
| }, |
| {#State 69 |
| ACTIONS => { |
| "\$" => 43, |
| 'LITERAL' => 75, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'setlist' => 169, |
| 'item' => 39, |
| 'assign' => 19, |
| 'node' => 23, |
| 'ident' => 74 |
| } |
| }, |
| {#State 70 |
| ACTIONS => { |
| "\$" => 43, |
| 'COMMA' => 171, |
| 'LITERAL' => 75, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| DEFAULT => -19, |
| GOTOS => { |
| 'item' => 39, |
| 'assign' => 170, |
| 'node' => 23, |
| 'ident' => 74 |
| } |
| }, |
| {#State 71 |
| DEFAULT => -8 |
| }, |
| {#State 72 |
| DEFAULT => -1 |
| }, |
| {#State 73 |
| DEFAULT => -21 |
| }, |
| {#State 74 |
| ACTIONS => { |
| 'ASSIGN' => 172, |
| 'DOT' => 104 |
| } |
| }, |
| {#State 75 |
| ACTIONS => { |
| 'ASSIGN' => 154 |
| } |
| }, |
| {#State 76 |
| ACTIONS => { |
| 'COMMA' => 171, |
| 'LITERAL' => 75, |
| 'IDENT' => 2, |
| "\$" => 43, |
| "\${" => 37 |
| }, |
| DEFAULT => -30, |
| GOTOS => { |
| 'item' => 39, |
| 'assign' => 170, |
| 'node' => 23, |
| 'ident' => 74 |
| } |
| }, |
| {#State 77 |
| ACTIONS => { |
| 'DOT' => 104 |
| }, |
| DEFAULT => -109 |
| }, |
| {#State 78 |
| DEFAULT => -112 |
| }, |
| {#State 79 |
| ACTIONS => { |
| 'CMPOP' => 164, |
| "?" => 158, |
| ";" => 173, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| } |
| }, |
| {#State 80 |
| DEFAULT => -7 |
| }, |
| {#State 81 |
| DEFAULT => -173 |
| }, |
| {#State 82 |
| DEFAULT => -166 |
| }, |
| {#State 83 |
| DEFAULT => -172 |
| }, |
| {#State 84 |
| DEFAULT => -174 |
| }, |
| {#State 85 |
| ACTIONS => { |
| 'DOT' => 174 |
| }, |
| DEFAULT => -168 |
| }, |
| {#State 86 |
| ACTIONS => { |
| "\$" => 43, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 175 |
| } |
| }, |
| {#State 87 |
| DEFAULT => -171 |
| }, |
| {#State 88 |
| DEFAULT => -169 |
| }, |
| {#State 89 |
| DEFAULT => -176, |
| GOTOS => { |
| 'quoted' => 176 |
| } |
| }, |
| {#State 90 |
| DEFAULT => -35 |
| }, |
| {#State 91 |
| ACTIONS => { |
| "+" => 177, |
| "(" => 178 |
| }, |
| DEFAULT => -156, |
| GOTOS => { |
| 'args' => 179 |
| } |
| }, |
| {#State 92 |
| ACTIONS => { |
| "{" => 30, |
| 'COMMA' => 182, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "]" => 180, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 181, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 93 |
| ACTIONS => { |
| "]" => 183 |
| } |
| }, |
| {#State 94 |
| DEFAULT => -107 |
| }, |
| {#State 95 |
| DEFAULT => -116 |
| }, |
| {#State 96 |
| ACTIONS => { |
| 'TO' => 184 |
| }, |
| DEFAULT => -104 |
| }, |
| {#State 97 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 185, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 98 |
| ACTIONS => { |
| ";" => 186 |
| } |
| }, |
| {#State 99 |
| ACTIONS => { |
| 'ASSIGN' => 187 |
| } |
| }, |
| {#State 100 |
| DEFAULT => -99 |
| }, |
| {#State 101 |
| ACTIONS => { |
| 'COMMA' => 189, |
| 'IDENT' => 99 |
| }, |
| DEFAULT => -86, |
| GOTOS => { |
| 'meta' => 188 |
| } |
| }, |
| {#State 102 |
| ACTIONS => { |
| ";" => 190 |
| } |
| }, |
| {#State 103 |
| ACTIONS => { |
| 'COMMA' => 189, |
| 'IDENT' => 99 |
| }, |
| DEFAULT => -17, |
| GOTOS => { |
| 'meta' => 188 |
| } |
| }, |
| {#State 104 |
| ACTIONS => { |
| "\$" => 43, |
| 'IDENT' => 2, |
| 'NUMBER' => 192, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 191 |
| } |
| }, |
| {#State 105 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'WRAPPER' => 55, |
| 'FOR' => 21, |
| 'NEXT' => 22, |
| 'LITERAL' => 57, |
| "\"" => 60, |
| 'PROCESS' => 61, |
| 'FILTER' => 25, |
| 'RETURN' => 64, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 193, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'term' => 58, |
| 'loop' => 4, |
| 'expr' => 195, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'atomdir' => 12, |
| 'mdir' => 194, |
| 'filter' => 29, |
| 'sterm' => 68, |
| 'ident' => 149, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'directive' => 196, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 106 |
| DEFAULT => -33 |
| }, |
| {#State 107 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'INCLUDE' => 17, |
| "(" => 198, |
| 'SWITCH' => 54, |
| 'WRAPPER' => 55, |
| 'FOR' => 21, |
| 'NEXT' => 22, |
| 'LITERAL' => 57, |
| "\"" => 60, |
| 'PROCESS' => 61, |
| 'FILTER' => 25, |
| 'RETURN' => 64, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 193, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'term' => 58, |
| 'loop' => 4, |
| 'expr' => 199, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'atomdir' => 12, |
| 'mdir' => 197, |
| 'filter' => 29, |
| 'sterm' => 68, |
| 'ident' => 149, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'directive' => 196, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 108 |
| ACTIONS => { |
| 'IN' => 201, |
| 'ASSIGN' => 200 |
| }, |
| DEFAULT => -130 |
| }, |
| {#State 109 |
| DEFAULT => -156, |
| GOTOS => { |
| 'args' => 202 |
| } |
| }, |
| {#State 110 |
| ACTIONS => { |
| ";" => 203 |
| } |
| }, |
| {#State 111 |
| ACTIONS => { |
| 'ASSIGN' => -130 |
| }, |
| DEFAULT => -173 |
| }, |
| {#State 112 |
| ACTIONS => { |
| 'ASSIGN' => 204 |
| } |
| }, |
| {#State 113 |
| DEFAULT => -159 |
| }, |
| {#State 114 |
| ACTIONS => { |
| "\$" => 43, |
| 'IDENT' => 205, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 175 |
| } |
| }, |
| {#State 115 |
| ACTIONS => { |
| ";" => 206 |
| } |
| }, |
| {#State 116 |
| ACTIONS => { |
| 'ASSIGN' => -161 |
| }, |
| DEFAULT => -169 |
| }, |
| {#State 117 |
| DEFAULT => -176, |
| GOTOS => { |
| 'quoted' => 207 |
| } |
| }, |
| {#State 118 |
| DEFAULT => -158 |
| }, |
| {#State 119 |
| ACTIONS => { |
| 'DOT' => 104 |
| }, |
| DEFAULT => -110 |
| }, |
| {#State 120 |
| ACTIONS => { |
| 'ASSIGN' => 187 |
| }, |
| DEFAULT => -173 |
| }, |
| {#State 121 |
| DEFAULT => -83 |
| }, |
| {#State 122 |
| ACTIONS => { |
| 'DOT' => 174 |
| }, |
| DEFAULT => -84 |
| }, |
| {#State 123 |
| ACTIONS => { |
| ";" => 208 |
| } |
| }, |
| {#State 124 |
| DEFAULT => -85 |
| }, |
| {#State 125 |
| ACTIONS => { |
| "}" => 209 |
| } |
| }, |
| {#State 126 |
| ACTIONS => { |
| 'ASSIGN' => 210 |
| } |
| }, |
| {#State 127 |
| DEFAULT => -122 |
| }, |
| {#State 128 |
| ACTIONS => { |
| "\$" => 43, |
| 'COMMA' => 212, |
| 'LITERAL' => 129, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| DEFAULT => -118, |
| GOTOS => { |
| 'item' => 126, |
| 'param' => 211 |
| } |
| }, |
| {#State 129 |
| ACTIONS => { |
| 'ASSIGN' => 213 |
| } |
| }, |
| {#State 130 |
| DEFAULT => -73 |
| }, |
| {#State 131 |
| DEFAULT => -4 |
| }, |
| {#State 132 |
| ACTIONS => { |
| ";" => 214 |
| } |
| }, |
| {#State 133 |
| ACTIONS => { |
| "}" => 215 |
| } |
| }, |
| {#State 134 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'BINOP' => 161, |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -142 |
| }, |
| {#State 135 |
| DEFAULT => -156, |
| GOTOS => { |
| 'args' => 216 |
| } |
| }, |
| {#State 136 |
| DEFAULT => -76, |
| GOTOS => { |
| '@4-2' => 217 |
| } |
| }, |
| {#State 137 |
| DEFAULT => -132 |
| }, |
| {#State 138 |
| ACTIONS => { |
| 'CMPOP' => 164, |
| "?" => 158, |
| ";" => 218, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| } |
| }, |
| {#State 139 |
| ACTIONS => { |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'DIV' => 159, |
| 'MOD' => 165, |
| "/" => 166, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -29 |
| }, |
| {#State 140 |
| ACTIONS => { |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'DIV' => 159, |
| 'MOD' => 165, |
| "/" => 166, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -28 |
| }, |
| {#State 141 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 219, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 142 |
| ACTIONS => { |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 108, |
| "\"" => 60, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'sterm' => 68, |
| 'item' => 39, |
| 'loopvar' => 220, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 109, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 143 |
| ACTIONS => { |
| "\"" => 117, |
| "\$" => 114, |
| 'LITERAL' => 116, |
| 'FILENAME' => 83, |
| 'IDENT' => 111, |
| 'NUMBER' => 84, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'names' => 91, |
| 'lvalue' => 112, |
| 'item' => 113, |
| 'name' => 82, |
| 'filepart' => 87, |
| 'filename' => 85, |
| 'nameargs' => 118, |
| 'lnameargs' => 221 |
| } |
| }, |
| {#State 144 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 222, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 145 |
| ACTIONS => { |
| "\"" => 89, |
| "\$" => 86, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'names' => 91, |
| 'nameargs' => 223, |
| 'filename' => 85, |
| 'name' => 82 |
| } |
| }, |
| {#State 146 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 224, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 147 |
| DEFAULT => -41 |
| }, |
| {#State 148 |
| DEFAULT => 0 |
| }, |
| {#State 149 |
| ACTIONS => { |
| 'DOT' => 104, |
| 'ASSIGN' => 172 |
| }, |
| DEFAULT => -109 |
| }, |
| {#State 150 |
| ACTIONS => { |
| ")" => 225 |
| } |
| }, |
| {#State 151 |
| ACTIONS => { |
| 'CMPOP' => 164, |
| "?" => 158, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| ")" => 226, |
| 'OR' => 162 |
| } |
| }, |
| {#State 152 |
| ACTIONS => { |
| 'CMPOP' => 164, |
| "?" => 158, |
| ";" => 227, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| } |
| }, |
| {#State 153 |
| ACTIONS => { |
| ";" => 228 |
| } |
| }, |
| {#State 154 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 229, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 155 |
| ACTIONS => { |
| "\"" => 234, |
| 'TEXT' => 231, |
| ";" => 233, |
| "\$" => 43, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 230, |
| 'quotable' => 232 |
| } |
| }, |
| {#State 156 |
| DEFAULT => -34 |
| }, |
| {#State 157 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 235, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 158 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 236, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 159 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 237, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 160 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 238, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 161 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 239, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 162 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 240, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 163 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 241, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 164 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 242, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 165 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 243, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 166 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 244, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 167 |
| DEFAULT => -32 |
| }, |
| {#State 168 |
| ACTIONS => { |
| 'CMPOP' => 164, |
| "?" => 158, |
| ";" => 245, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| } |
| }, |
| {#State 169 |
| ACTIONS => { |
| 'COMMA' => 171, |
| 'LITERAL' => 75, |
| 'IDENT' => 2, |
| "\$" => 43, |
| "\${" => 37 |
| }, |
| DEFAULT => -31, |
| GOTOS => { |
| 'item' => 39, |
| 'assign' => 170, |
| 'node' => 23, |
| 'ident' => 74 |
| } |
| }, |
| {#State 170 |
| DEFAULT => -147 |
| }, |
| {#State 171 |
| DEFAULT => -148 |
| }, |
| {#State 172 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 246, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 173 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 247, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 174 |
| ACTIONS => { |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 248 |
| } |
| }, |
| {#State 175 |
| ACTIONS => { |
| 'DOT' => 104 |
| }, |
| DEFAULT => -156, |
| GOTOS => { |
| 'args' => 249 |
| } |
| }, |
| {#State 176 |
| ACTIONS => { |
| "\"" => 250, |
| 'TEXT' => 231, |
| ";" => 233, |
| "\$" => 43, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 230, |
| 'quotable' => 232 |
| } |
| }, |
| {#State 177 |
| ACTIONS => { |
| "\"" => 89, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'filename' => 85, |
| 'name' => 251 |
| } |
| }, |
| {#State 178 |
| DEFAULT => -156, |
| GOTOS => { |
| 'args' => 252 |
| } |
| }, |
| {#State 179 |
| ACTIONS => { |
| 'NOT' => 38, |
| 'LITERAL' => 256, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "{" => 30, |
| 'COMMA' => 258, |
| "(" => 53, |
| "\${" => 37 |
| }, |
| DEFAULT => -163, |
| GOTOS => { |
| 'expr' => 257, |
| 'sterm' => 68, |
| 'item' => 254, |
| 'param' => 255, |
| 'node' => 23, |
| 'ident' => 253, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 180 |
| DEFAULT => -105 |
| }, |
| {#State 181 |
| DEFAULT => -114 |
| }, |
| {#State 182 |
| DEFAULT => -115 |
| }, |
| {#State 183 |
| DEFAULT => -106 |
| }, |
| {#State 184 |
| ACTIONS => { |
| "\"" => 60, |
| "\$" => 43, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| 'REF' => 27, |
| 'NUMBER' => 26, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'sterm' => 259, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77 |
| } |
| }, |
| {#State 185 |
| ACTIONS => { |
| 'FINAL' => 260, |
| 'CATCH' => 262 |
| }, |
| DEFAULT => -72, |
| GOTOS => { |
| 'final' => 261 |
| } |
| }, |
| {#State 186 |
| ACTIONS => { |
| 'TEXT' => 263 |
| } |
| }, |
| {#State 187 |
| ACTIONS => { |
| "\"" => 266, |
| 'LITERAL' => 265, |
| 'NUMBER' => 264 |
| } |
| }, |
| {#State 188 |
| DEFAULT => -97 |
| }, |
| {#State 189 |
| DEFAULT => -98 |
| }, |
| {#State 190 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'loop' => 4, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'template' => 267, |
| 'defblockname' => 14, |
| 'ident' => 16, |
| 'assign' => 19, |
| 'macro' => 20, |
| 'lterm' => 56, |
| 'node' => 23, |
| 'term' => 58, |
| 'rawperl' => 59, |
| 'expr' => 62, |
| 'use' => 63, |
| 'defblock' => 66, |
| 'filter' => 29, |
| 'sterm' => 68, |
| 'perl' => 31, |
| 'chunks' => 33, |
| 'setlist' => 70, |
| 'switch' => 34, |
| 'try' => 35, |
| 'directive' => 71, |
| 'block' => 72, |
| 'condition' => 73 |
| } |
| }, |
| {#State 191 |
| DEFAULT => -125 |
| }, |
| {#State 192 |
| DEFAULT => -126 |
| }, |
| {#State 193 |
| ACTIONS => { |
| ";" => 268 |
| } |
| }, |
| {#State 194 |
| DEFAULT => -89 |
| }, |
| {#State 195 |
| ACTIONS => { |
| ";" => -150, |
| "+" => 157, |
| 'LITERAL' => -150, |
| 'IDENT' => -150, |
| 'CAT' => 163, |
| "\$" => -150, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'DIV' => 159, |
| 'MOD' => 165, |
| 'COMMA' => -150, |
| "/" => 166, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162, |
| "\${" => -150 |
| }, |
| DEFAULT => -26 |
| }, |
| {#State 196 |
| DEFAULT => -92 |
| }, |
| {#State 197 |
| DEFAULT => -91 |
| }, |
| {#State 198 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 57, |
| 'IDENT' => 269, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 151, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'assign' => 150, |
| 'margs' => 270, |
| 'node' => 23, |
| 'ident' => 149, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 199 |
| ACTIONS => { |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'DIV' => 159, |
| 'MOD' => 165, |
| "/" => 166, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -26 |
| }, |
| {#State 200 |
| ACTIONS => { |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 271, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 201 |
| ACTIONS => { |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 272, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 202 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'COMMA' => 258, |
| 'LITERAL' => 256, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| DEFAULT => -64, |
| GOTOS => { |
| 'expr' => 257, |
| 'sterm' => 68, |
| 'item' => 254, |
| 'param' => 255, |
| 'node' => 23, |
| 'ident' => 253, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 203 |
| DEFAULT => -56, |
| GOTOS => { |
| '@1-3' => 273 |
| } |
| }, |
| {#State 204 |
| ACTIONS => { |
| "\"" => 89, |
| "\$" => 86, |
| 'LITERAL' => 88, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'names' => 91, |
| 'nameargs' => 274, |
| 'filename' => 85, |
| 'name' => 82 |
| } |
| }, |
| {#State 205 |
| ACTIONS => { |
| 'ASSIGN' => -132 |
| }, |
| DEFAULT => -130 |
| }, |
| {#State 206 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 275, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 207 |
| ACTIONS => { |
| "\"" => 276, |
| 'TEXT' => 231, |
| ";" => 233, |
| "\$" => 43, |
| 'IDENT' => 2, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 230, |
| 'quotable' => 232 |
| } |
| }, |
| {#State 208 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 277, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 209 |
| DEFAULT => -108 |
| }, |
| {#State 210 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 278, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 211 |
| DEFAULT => -120 |
| }, |
| {#State 212 |
| DEFAULT => -121 |
| }, |
| {#State 213 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 279, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 214 |
| DEFAULT => -74, |
| GOTOS => { |
| '@3-3' => 280 |
| } |
| }, |
| {#State 215 |
| DEFAULT => -131 |
| }, |
| {#State 216 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'COMMA' => 258, |
| 'LITERAL' => 256, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| ")" => 281, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 257, |
| 'sterm' => 68, |
| 'item' => 254, |
| 'param' => 255, |
| 'node' => 23, |
| 'ident' => 253, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 217 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 282, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 218 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 283, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 219 |
| ACTIONS => { |
| 'CMPOP' => 164, |
| "?" => 158, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -47 |
| }, |
| {#State 220 |
| DEFAULT => -58 |
| }, |
| {#State 221 |
| DEFAULT => -81 |
| }, |
| {#State 222 |
| ACTIONS => { |
| 'CMPOP' => 164, |
| "?" => 158, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -45 |
| }, |
| {#State 223 |
| DEFAULT => -66 |
| }, |
| {#State 224 |
| ACTIONS => { |
| 'CMPOP' => 164, |
| "?" => 158, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -61 |
| }, |
| {#State 225 |
| DEFAULT => -144 |
| }, |
| {#State 226 |
| DEFAULT => -145 |
| }, |
| {#State 227 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 284, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 228 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 285, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 229 |
| ACTIONS => { |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'DIV' => 159, |
| 'MOD' => 165, |
| "/" => 166, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -151 |
| }, |
| {#State 230 |
| ACTIONS => { |
| 'DOT' => 104 |
| }, |
| DEFAULT => -177 |
| }, |
| {#State 231 |
| DEFAULT => -178 |
| }, |
| {#State 232 |
| DEFAULT => -175 |
| }, |
| {#State 233 |
| DEFAULT => -179 |
| }, |
| {#State 234 |
| DEFAULT => -111 |
| }, |
| {#State 235 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -135 |
| }, |
| {#State 236 |
| ACTIONS => { |
| ":" => 286, |
| 'CMPOP' => 164, |
| "?" => 158, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| } |
| }, |
| {#State 237 |
| ACTIONS => { |
| 'MOD' => 165 |
| }, |
| DEFAULT => -136 |
| }, |
| {#State 238 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'BINOP' => 161, |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -140 |
| }, |
| {#State 239 |
| ACTIONS => { |
| 'DIV' => 159, |
| "+" => 157, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -133 |
| }, |
| {#State 240 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'BINOP' => 161, |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -141 |
| }, |
| {#State 241 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'BINOP' => 161, |
| "+" => 157, |
| 'CMPOP' => 164, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -139 |
| }, |
| {#State 242 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'BINOP' => 161, |
| "+" => 157, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -138 |
| }, |
| {#State 243 |
| DEFAULT => -137 |
| }, |
| {#State 244 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'MOD' => 165 |
| }, |
| DEFAULT => -134 |
| }, |
| {#State 245 |
| DEFAULT => -59, |
| GOTOS => { |
| '@2-3' => 287 |
| } |
| }, |
| {#State 246 |
| ACTIONS => { |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'DIV' => 159, |
| 'MOD' => 165, |
| "/" => 166, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -150 |
| }, |
| {#State 247 |
| ACTIONS => { |
| 'ELSIF' => 290, |
| 'ELSE' => 288 |
| }, |
| DEFAULT => -50, |
| GOTOS => { |
| 'else' => 289 |
| } |
| }, |
| {#State 248 |
| DEFAULT => -170 |
| }, |
| {#State 249 |
| ACTIONS => { |
| 'NOT' => 38, |
| 'LITERAL' => 256, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "{" => 30, |
| 'COMMA' => 258, |
| "(" => 53, |
| "\${" => 37 |
| }, |
| DEFAULT => -162, |
| GOTOS => { |
| 'expr' => 257, |
| 'sterm' => 68, |
| 'item' => 254, |
| 'param' => 255, |
| 'node' => 23, |
| 'ident' => 253, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 250 |
| DEFAULT => -167 |
| }, |
| {#State 251 |
| DEFAULT => -165 |
| }, |
| {#State 252 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'COMMA' => 258, |
| 'LITERAL' => 256, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| ")" => 291, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 257, |
| 'sterm' => 68, |
| 'item' => 254, |
| 'param' => 255, |
| 'node' => 23, |
| 'ident' => 253, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 253 |
| ACTIONS => { |
| 'DOT' => 104, |
| 'ASSIGN' => 292 |
| }, |
| DEFAULT => -109 |
| }, |
| {#State 254 |
| ACTIONS => { |
| "(" => 135, |
| 'ASSIGN' => 210 |
| }, |
| DEFAULT => -128 |
| }, |
| {#State 255 |
| DEFAULT => -153 |
| }, |
| {#State 256 |
| ACTIONS => { |
| 'ASSIGN' => 213 |
| }, |
| DEFAULT => -112 |
| }, |
| {#State 257 |
| ACTIONS => { |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'DIV' => 159, |
| 'MOD' => 165, |
| "/" => 166, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -152 |
| }, |
| {#State 258 |
| DEFAULT => -155 |
| }, |
| {#State 259 |
| DEFAULT => -117 |
| }, |
| {#State 260 |
| ACTIONS => { |
| ";" => 293 |
| } |
| }, |
| {#State 261 |
| ACTIONS => { |
| 'END' => 294 |
| } |
| }, |
| {#State 262 |
| ACTIONS => { |
| ";" => 296, |
| 'DEFAULT' => 297, |
| 'FILENAME' => 83, |
| 'IDENT' => 81, |
| 'NUMBER' => 84 |
| }, |
| GOTOS => { |
| 'filepart' => 87, |
| 'filename' => 295 |
| } |
| }, |
| {#State 263 |
| ACTIONS => { |
| 'END' => 298 |
| } |
| }, |
| {#State 264 |
| DEFAULT => -102 |
| }, |
| {#State 265 |
| DEFAULT => -100 |
| }, |
| {#State 266 |
| ACTIONS => { |
| 'TEXT' => 299 |
| } |
| }, |
| {#State 267 |
| ACTIONS => { |
| 'END' => 300 |
| } |
| }, |
| {#State 268 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 301, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 269 |
| ACTIONS => { |
| 'IDENT' => -96, |
| ")" => -96, |
| 'COMMA' => -96 |
| }, |
| DEFAULT => -130 |
| }, |
| {#State 270 |
| ACTIONS => { |
| 'COMMA' => 304, |
| 'IDENT' => 302, |
| ")" => 303 |
| } |
| }, |
| {#State 271 |
| DEFAULT => -156, |
| GOTOS => { |
| 'args' => 305 |
| } |
| }, |
| {#State 272 |
| DEFAULT => -156, |
| GOTOS => { |
| 'args' => 306 |
| } |
| }, |
| {#State 273 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 307, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 274 |
| DEFAULT => -157 |
| }, |
| {#State 275 |
| ACTIONS => { |
| 'END' => 308 |
| } |
| }, |
| {#State 276 |
| ACTIONS => { |
| 'ASSIGN' => -160 |
| }, |
| DEFAULT => -167 |
| }, |
| {#State 277 |
| ACTIONS => { |
| 'END' => 309 |
| } |
| }, |
| {#State 278 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162, |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -124 |
| }, |
| {#State 279 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162, |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -123 |
| }, |
| {#State 280 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 310, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 281 |
| DEFAULT => -129 |
| }, |
| {#State 282 |
| ACTIONS => { |
| 'END' => 311 |
| } |
| }, |
| {#State 283 |
| ACTIONS => { |
| 'ELSIF' => 290, |
| 'ELSE' => 288 |
| }, |
| DEFAULT => -50, |
| GOTOS => { |
| 'else' => 312 |
| } |
| }, |
| {#State 284 |
| ACTIONS => { |
| 'CASE' => 313 |
| }, |
| DEFAULT => -55, |
| GOTOS => { |
| 'case' => 314 |
| } |
| }, |
| {#State 285 |
| ACTIONS => { |
| 'END' => 315 |
| } |
| }, |
| {#State 286 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 316, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 287 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 317, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 288 |
| ACTIONS => { |
| ";" => 318 |
| } |
| }, |
| {#State 289 |
| ACTIONS => { |
| 'END' => 319 |
| } |
| }, |
| {#State 290 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 320, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 291 |
| DEFAULT => -164 |
| }, |
| {#State 292 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'expr' => 321, |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 293 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 322, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 294 |
| DEFAULT => -67 |
| }, |
| {#State 295 |
| ACTIONS => { |
| 'DOT' => 174, |
| ";" => 323 |
| } |
| }, |
| {#State 296 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 324, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 297 |
| ACTIONS => { |
| ";" => 325 |
| } |
| }, |
| {#State 298 |
| DEFAULT => -79 |
| }, |
| {#State 299 |
| ACTIONS => { |
| "\"" => 326 |
| } |
| }, |
| {#State 300 |
| DEFAULT => -82 |
| }, |
| {#State 301 |
| ACTIONS => { |
| 'END' => 327 |
| } |
| }, |
| {#State 302 |
| DEFAULT => -94 |
| }, |
| {#State 303 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'WRAPPER' => 55, |
| 'FOR' => 21, |
| 'NEXT' => 22, |
| 'LITERAL' => 57, |
| "\"" => 60, |
| 'PROCESS' => 61, |
| 'FILTER' => 25, |
| 'RETURN' => 64, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 193, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'term' => 58, |
| 'loop' => 4, |
| 'expr' => 199, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'atomdir' => 12, |
| 'mdir' => 328, |
| 'filter' => 29, |
| 'sterm' => 68, |
| 'ident' => 149, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'directive' => 196, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 304 |
| DEFAULT => -95 |
| }, |
| {#State 305 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'COMMA' => 258, |
| 'LITERAL' => 256, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| DEFAULT => -62, |
| GOTOS => { |
| 'expr' => 257, |
| 'sterm' => 68, |
| 'item' => 254, |
| 'param' => 255, |
| 'node' => 23, |
| 'ident' => 253, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 306 |
| ACTIONS => { |
| 'NOT' => 38, |
| "{" => 30, |
| 'COMMA' => 258, |
| 'LITERAL' => 256, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "(" => 53, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| DEFAULT => -63, |
| GOTOS => { |
| 'expr' => 257, |
| 'sterm' => 68, |
| 'item' => 254, |
| 'param' => 255, |
| 'node' => 23, |
| 'ident' => 253, |
| 'term' => 58, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 307 |
| ACTIONS => { |
| 'END' => 329 |
| } |
| }, |
| {#State 308 |
| DEFAULT => -80 |
| }, |
| {#State 309 |
| DEFAULT => -88 |
| }, |
| {#State 310 |
| ACTIONS => { |
| 'END' => 330 |
| } |
| }, |
| {#State 311 |
| DEFAULT => -77 |
| }, |
| {#State 312 |
| ACTIONS => { |
| 'END' => 331 |
| } |
| }, |
| {#State 313 |
| ACTIONS => { |
| ";" => 332, |
| 'DEFAULT' => 334, |
| "{" => 30, |
| 'LITERAL' => 78, |
| 'IDENT' => 2, |
| "\"" => 60, |
| "\$" => 43, |
| "[" => 9, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| "\${" => 37 |
| }, |
| GOTOS => { |
| 'sterm' => 68, |
| 'item' => 39, |
| 'node' => 23, |
| 'ident' => 77, |
| 'term' => 333, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 314 |
| ACTIONS => { |
| 'END' => 335 |
| } |
| }, |
| {#State 315 |
| DEFAULT => -65 |
| }, |
| {#State 316 |
| ACTIONS => { |
| 'DIV' => 159, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162, |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'MOD' => 165, |
| "/" => 166 |
| }, |
| DEFAULT => -143 |
| }, |
| {#State 317 |
| ACTIONS => { |
| 'END' => 336 |
| } |
| }, |
| {#State 318 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 337, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 319 |
| DEFAULT => -46 |
| }, |
| {#State 320 |
| ACTIONS => { |
| 'CMPOP' => 164, |
| "?" => 158, |
| ";" => 338, |
| "+" => 157, |
| 'MOD' => 165, |
| 'DIV' => 159, |
| "/" => 166, |
| 'AND' => 160, |
| 'CAT' => 163, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| } |
| }, |
| {#State 321 |
| ACTIONS => { |
| "+" => 157, |
| 'CAT' => 163, |
| 'CMPOP' => 164, |
| "?" => 158, |
| 'DIV' => 159, |
| 'MOD' => 165, |
| "/" => 166, |
| 'AND' => 160, |
| 'BINOP' => 161, |
| 'OR' => 162 |
| }, |
| DEFAULT => -154 |
| }, |
| {#State 322 |
| DEFAULT => -71 |
| }, |
| {#State 323 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 339, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 324 |
| ACTIONS => { |
| 'FINAL' => 260, |
| 'CATCH' => 262 |
| }, |
| DEFAULT => -72, |
| GOTOS => { |
| 'final' => 340 |
| } |
| }, |
| {#State 325 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 341, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 326 |
| DEFAULT => -101 |
| }, |
| {#State 327 |
| DEFAULT => -93 |
| }, |
| {#State 328 |
| DEFAULT => -90 |
| }, |
| {#State 329 |
| DEFAULT => -57 |
| }, |
| {#State 330 |
| DEFAULT => -75 |
| }, |
| {#State 331 |
| DEFAULT => -44 |
| }, |
| {#State 332 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 342, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 333 |
| ACTIONS => { |
| ";" => 343 |
| } |
| }, |
| {#State 334 |
| ACTIONS => { |
| ";" => 344 |
| } |
| }, |
| {#State 335 |
| DEFAULT => -51 |
| }, |
| {#State 336 |
| DEFAULT => -60 |
| }, |
| {#State 337 |
| DEFAULT => -49 |
| }, |
| {#State 338 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 345, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 339 |
| ACTIONS => { |
| 'FINAL' => 260, |
| 'CATCH' => 262 |
| }, |
| DEFAULT => -72, |
| GOTOS => { |
| 'final' => 346 |
| } |
| }, |
| {#State 340 |
| DEFAULT => -70 |
| }, |
| {#State 341 |
| ACTIONS => { |
| 'FINAL' => 260, |
| 'CATCH' => 262 |
| }, |
| DEFAULT => -72, |
| GOTOS => { |
| 'final' => 347 |
| } |
| }, |
| {#State 342 |
| DEFAULT => -54 |
| }, |
| {#State 343 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 348, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 344 |
| ACTIONS => { |
| 'SET' => 1, |
| 'PERL' => 40, |
| 'NOT' => 38, |
| 'IDENT' => 2, |
| 'CLEAR' => 41, |
| 'UNLESS' => 3, |
| 'IF' => 44, |
| "\$" => 43, |
| 'STOP' => 6, |
| 'CALL' => 45, |
| 'THROW' => 8, |
| 'GET' => 47, |
| "[" => 9, |
| 'TRY' => 10, |
| 'LAST' => 49, |
| 'DEBUG' => 51, |
| 'RAWPERL' => 13, |
| 'META' => 15, |
| 'INCLUDE' => 17, |
| "(" => 53, |
| 'SWITCH' => 54, |
| 'MACRO' => 18, |
| 'WRAPPER' => 55, |
| ";" => -18, |
| 'FOR' => 21, |
| 'LITERAL' => 57, |
| 'NEXT' => 22, |
| "\"" => 60, |
| 'TEXT' => 24, |
| 'PROCESS' => 61, |
| 'RETURN' => 64, |
| 'FILTER' => 25, |
| 'INSERT' => 65, |
| 'NUMBER' => 26, |
| 'REF' => 27, |
| 'WHILE' => 67, |
| 'BLOCK' => 28, |
| 'DEFAULT' => 69, |
| "{" => 30, |
| 'USE' => 32, |
| 'VIEW' => 36, |
| "\${" => 37 |
| }, |
| DEFAULT => -3, |
| GOTOS => { |
| 'item' => 39, |
| 'node' => 23, |
| 'rawperl' => 59, |
| 'term' => 58, |
| 'loop' => 4, |
| 'use' => 63, |
| 'expr' => 62, |
| 'capture' => 42, |
| 'statement' => 5, |
| 'view' => 7, |
| 'wrapper' => 46, |
| 'atomexpr' => 48, |
| 'chunk' => 11, |
| 'defblock' => 66, |
| 'atomdir' => 12, |
| 'anonblock' => 50, |
| 'sterm' => 68, |
| 'defblockname' => 14, |
| 'filter' => 29, |
| 'ident' => 16, |
| 'perl' => 31, |
| 'setlist' => 70, |
| 'chunks' => 33, |
| 'try' => 35, |
| 'switch' => 34, |
| 'assign' => 19, |
| 'block' => 349, |
| 'directive' => 71, |
| 'macro' => 20, |
| 'condition' => 73, |
| 'lterm' => 56 |
| } |
| }, |
| {#State 345 |
| ACTIONS => { |
| 'ELSIF' => 290, |
| 'ELSE' => 288 |
| }, |
| DEFAULT => -50, |
| GOTOS => { |
| 'else' => 350 |
| } |
| }, |
| {#State 346 |
| DEFAULT => -68 |
| }, |
| {#State 347 |
| DEFAULT => -69 |
| }, |
| {#State 348 |
| ACTIONS => { |
| 'CASE' => 313 |
| }, |
| DEFAULT => -55, |
| GOTOS => { |
| 'case' => 351 |
| } |
| }, |
| {#State 349 |
| DEFAULT => -53 |
| }, |
| {#State 350 |
| DEFAULT => -48 |
| }, |
| {#State 351 |
| DEFAULT => -52 |
| } |
| ]; |
| |
| |
| #======================================================================== |
| # Rules |
| #======================================================================== |
| |
| $RULES = [ |
| [#Rule 0 |
| '$start', 2, undef |
| ], |
| [#Rule 1 |
| 'template', 1, |
| sub |
| #line 64 "Parser.yp" |
| { $factory->template($_[1]) } |
| ], |
| [#Rule 2 |
| 'block', 1, |
| sub |
| #line 67 "Parser.yp" |
| { $factory->block($_[1]) } |
| ], |
| [#Rule 3 |
| 'block', 0, |
| sub |
| #line 68 "Parser.yp" |
| { $factory->block() } |
| ], |
| [#Rule 4 |
| 'chunks', 2, |
| sub |
| #line 71 "Parser.yp" |
| { push(@{$_[1]}, $_[2]) |
| if defined $_[2]; $_[1] } |
| ], |
| [#Rule 5 |
| 'chunks', 1, |
| sub |
| #line 73 "Parser.yp" |
| { defined $_[1] ? [ $_[1] ] : [ ] } |
| ], |
| [#Rule 6 |
| 'chunk', 1, |
| sub |
| #line 76 "Parser.yp" |
| { $factory->textblock($_[1]) } |
| ], |
| [#Rule 7 |
| 'chunk', 2, |
| sub |
| #line 77 "Parser.yp" |
| { return '' unless $_[1]; |
| $_[0]->location() . $_[1]; |
| } |
| ], |
| [#Rule 8 |
| 'statement', 1, undef |
| ], |
| [#Rule 9 |
| 'statement', 1, undef |
| ], |
| [#Rule 10 |
| 'statement', 1, undef |
| ], |
| [#Rule 11 |
| 'statement', 1, undef |
| ], |
| [#Rule 12 |
| 'statement', 1, undef |
| ], |
| [#Rule 13 |
| 'statement', 1, undef |
| ], |
| [#Rule 14 |
| 'statement', 1, undef |
| ], |
| [#Rule 15 |
| 'statement', 1, undef |
| ], |
| [#Rule 16 |
| 'statement', 1, |
| sub |
| #line 90 "Parser.yp" |
| { $factory->get($_[1]) } |
| ], |
| [#Rule 17 |
| 'statement', 2, |
| sub |
| #line 91 "Parser.yp" |
| { $_[0]->add_metadata($_[2]); } |
| ], |
| [#Rule 18 |
| 'statement', 0, undef |
| ], |
| [#Rule 19 |
| 'directive', 1, |
| sub |
| #line 95 "Parser.yp" |
| { $factory->set($_[1]) } |
| ], |
| [#Rule 20 |
| 'directive', 1, undef |
| ], |
| [#Rule 21 |
| 'directive', 1, undef |
| ], |
| [#Rule 22 |
| 'directive', 1, undef |
| ], |
| [#Rule 23 |
| 'directive', 1, undef |
| ], |
| [#Rule 24 |
| 'directive', 1, undef |
| ], |
| [#Rule 25 |
| 'directive', 1, undef |
| ], |
| [#Rule 26 |
| 'atomexpr', 1, |
| sub |
| #line 109 "Parser.yp" |
| { $factory->get($_[1]) } |
| ], |
| [#Rule 27 |
| 'atomexpr', 1, undef |
| ], |
| [#Rule 28 |
| 'atomdir', 2, |
| sub |
| #line 113 "Parser.yp" |
| { $factory->get($_[2]) } |
| ], |
| [#Rule 29 |
| 'atomdir', 2, |
| sub |
| #line 114 "Parser.yp" |
| { $factory->call($_[2]) } |
| ], |
| [#Rule 30 |
| 'atomdir', 2, |
| sub |
| #line 115 "Parser.yp" |
| { $factory->set($_[2]) } |
| ], |
| [#Rule 31 |
| 'atomdir', 2, |
| sub |
| #line 116 "Parser.yp" |
| { $factory->default($_[2]) } |
| ], |
| [#Rule 32 |
| 'atomdir', 2, |
| sub |
| #line 117 "Parser.yp" |
| { $factory->insert($_[2]) } |
| ], |
| [#Rule 33 |
| 'atomdir', 2, |
| sub |
| #line 118 "Parser.yp" |
| { $factory->include($_[2]) } |
| ], |
| [#Rule 34 |
| 'atomdir', 2, |
| sub |
| #line 119 "Parser.yp" |
| { $factory->process($_[2]) } |
| ], |
| [#Rule 35 |
| 'atomdir', 2, |
| sub |
| #line 120 "Parser.yp" |
| { $factory->throw($_[2]) } |
| ], |
| [#Rule 36 |
| 'atomdir', 1, |
| sub |
| #line 121 "Parser.yp" |
| { $factory->return() } |
| ], |
| [#Rule 37 |
| 'atomdir', 1, |
| sub |
| #line 122 "Parser.yp" |
| { $factory->stop() } |
| ], |
| [#Rule 38 |
| 'atomdir', 1, |
| sub |
| #line 123 "Parser.yp" |
| { "\$output = '';"; } |
| ], |
| [#Rule 39 |
| 'atomdir', 1, |
| sub |
| #line 124 "Parser.yp" |
| { $_[0]->block_label('last ', ';') } |
| ], |
| [#Rule 40 |
| 'atomdir', 1, |
| sub |
| #line 125 "Parser.yp" |
| { $_[0]->in_block('FOR') |
| ? $factory->next($_[0]->block_label) |
| : $_[0]->block_label('next ', ';') } |
| ], |
| [#Rule 41 |
| 'atomdir', 2, |
| sub |
| #line 128 "Parser.yp" |
| { if ($_[2]->[0]->[0] =~ /^'(on|off)'$/) { |
| $_[0]->{ DEBUG_DIRS } = ($1 eq 'on'); |
| $factory->debug($_[2]); |
| } |
| else { |
| $_[0]->{ DEBUG_DIRS } ? $factory->debug($_[2]) : ''; |
| } |
| } |
| ], |
| [#Rule 42 |
| 'atomdir', 1, undef |
| ], |
| [#Rule 43 |
| 'atomdir', 1, undef |
| ], |
| [#Rule 44 |
| 'condition', 6, |
| sub |
| #line 141 "Parser.yp" |
| { $factory->if(@_[2, 4, 5]) } |
| ], |
| [#Rule 45 |
| 'condition', 3, |
| sub |
| #line 142 "Parser.yp" |
| { $factory->if(@_[3, 1]) } |
| ], |
| [#Rule 46 |
| 'condition', 6, |
| sub |
| #line 144 "Parser.yp" |
| { $factory->if("!($_[2])", @_[4, 5]) } |
| ], |
| [#Rule 47 |
| 'condition', 3, |
| sub |
| #line 145 "Parser.yp" |
| { $factory->if("!($_[3])", $_[1]) } |
| ], |
| [#Rule 48 |
| 'else', 5, |
| sub |
| #line 149 "Parser.yp" |
| { unshift(@{$_[5]}, [ @_[2, 4] ]); |
| $_[5]; } |
| ], |
| [#Rule 49 |
| 'else', 3, |
| sub |
| #line 151 "Parser.yp" |
| { [ $_[3] ] } |
| ], |
| [#Rule 50 |
| 'else', 0, |
| sub |
| #line 152 "Parser.yp" |
| { [ undef ] } |
| ], |
| [#Rule 51 |
| 'switch', 6, |
| sub |
| #line 156 "Parser.yp" |
| { $factory->switch(@_[2, 5]) } |
| ], |
| [#Rule 52 |
| 'case', 5, |
| sub |
| #line 160 "Parser.yp" |
| { unshift(@{$_[5]}, [ @_[2, 4] ]); |
| $_[5]; } |
| ], |
| [#Rule 53 |
| 'case', 4, |
| sub |
| #line 162 "Parser.yp" |
| { [ $_[4] ] } |
| ], |
| [#Rule 54 |
| 'case', 3, |
| sub |
| #line 163 "Parser.yp" |
| { [ $_[3] ] } |
| ], |
| [#Rule 55 |
| 'case', 0, |
| sub |
| #line 164 "Parser.yp" |
| { [ undef ] } |
| ], |
| [#Rule 56 |
| '@1-3', 0, |
| sub |
| #line 167 "Parser.yp" |
| { $_[0]->enter_block('FOR') } |
| ], |
| [#Rule 57 |
| 'loop', 6, |
| sub |
| #line 168 "Parser.yp" |
| { $factory->foreach(@{$_[2]}, $_[5], $_[0]->leave_block) } |
| ], |
| [#Rule 58 |
| 'loop', 3, |
| sub |
| #line 169 "Parser.yp" |
| { $factory->foreach(@{$_[3]}, $_[1]) } |
| ], |
| [#Rule 59 |
| '@2-3', 0, |
| sub |
| #line 170 "Parser.yp" |
| { $_[0]->enter_block('WHILE') } |
| ], |
| [#Rule 60 |
| 'loop', 6, |
| sub |
| #line 171 "Parser.yp" |
| { $factory->while(@_[2, 5], $_[0]->leave_block) } |
| ], |
| [#Rule 61 |
| 'loop', 3, |
| sub |
| #line 172 "Parser.yp" |
| { $factory->while(@_[3, 1]) } |
| ], |
| [#Rule 62 |
| 'loopvar', 4, |
| sub |
| #line 175 "Parser.yp" |
| { [ @_[1, 3, 4] ] } |
| ], |
| [#Rule 63 |
| 'loopvar', 4, |
| sub |
| #line 176 "Parser.yp" |
| { [ @_[1, 3, 4] ] } |
| ], |
| [#Rule 64 |
| 'loopvar', 2, |
| sub |
| #line 177 "Parser.yp" |
| { [ 0, @_[1, 2] ] } |
| ], |
| [#Rule 65 |
| 'wrapper', 5, |
| sub |
| #line 181 "Parser.yp" |
| { $factory->wrapper(@_[2, 4]) } |
| ], |
| [#Rule 66 |
| 'wrapper', 3, |
| sub |
| #line 183 "Parser.yp" |
| { $factory->wrapper(@_[3, 1]) } |
| ], |
| [#Rule 67 |
| 'try', 5, |
| sub |
| #line 187 "Parser.yp" |
| { $factory->try(@_[3, 4]) } |
| ], |
| [#Rule 68 |
| 'final', 5, |
| sub |
| #line 191 "Parser.yp" |
| { unshift(@{$_[5]}, [ @_[2,4] ]); |
| $_[5]; } |
| ], |
| [#Rule 69 |
| 'final', 5, |
| sub |
| #line 194 "Parser.yp" |
| { unshift(@{$_[5]}, [ undef, $_[4] ]); |
| $_[5]; } |
| ], |
| [#Rule 70 |
| 'final', 4, |
| sub |
| #line 197 "Parser.yp" |
| { unshift(@{$_[4]}, [ undef, $_[3] ]); |
| $_[4]; } |
| ], |
| [#Rule 71 |
| 'final', 3, |
| sub |
| #line 199 "Parser.yp" |
| { [ $_[3] ] } |
| ], |
| [#Rule 72 |
| 'final', 0, |
| sub |
| #line 200 "Parser.yp" |
| { [ 0 ] } |
| ], |
| [#Rule 73 |
| 'use', 2, |
| sub |
| #line 203 "Parser.yp" |
| { $factory->use($_[2]) } |
| ], |
| [#Rule 74 |
| '@3-3', 0, |
| sub |
| #line 206 "Parser.yp" |
| { $_[0]->push_defblock(); } |
| ], |
| [#Rule 75 |
| 'view', 6, |
| sub |
| #line 207 "Parser.yp" |
| { $factory->view(@_[2,5], |
| $_[0]->pop_defblock) } |
| ], |
| [#Rule 76 |
| '@4-2', 0, |
| sub |
| #line 211 "Parser.yp" |
| { ${$_[0]->{ INPERL }}++; } |
| ], |
| [#Rule 77 |
| 'perl', 5, |
| sub |
| #line 212 "Parser.yp" |
| { ${$_[0]->{ INPERL }}--; |
| $_[0]->{ EVAL_PERL } |
| ? $factory->perl($_[4]) |
| : $factory->no_perl(); } |
| ], |
| [#Rule 78 |
| '@5-1', 0, |
| sub |
| #line 218 "Parser.yp" |
| { ${$_[0]->{ INPERL }}++; |
| $rawstart = ${$_[0]->{'LINE'}}; } |
| ], |
| [#Rule 79 |
| 'rawperl', 5, |
| sub |
| #line 220 "Parser.yp" |
| { ${$_[0]->{ INPERL }}--; |
| $_[0]->{ EVAL_PERL } |
| ? $factory->rawperl($_[4], $rawstart) |
| : $factory->no_perl(); } |
| ], |
| [#Rule 80 |
| 'filter', 5, |
| sub |
| #line 227 "Parser.yp" |
| { $factory->filter(@_[2,4]) } |
| ], |
| [#Rule 81 |
| 'filter', 3, |
| sub |
| #line 229 "Parser.yp" |
| { $factory->filter(@_[3,1]) } |
| ], |
| [#Rule 82 |
| 'defblock', 5, |
| sub |
| #line 234 "Parser.yp" |
| { my $name = join('/', @{ $_[0]->{ DEFBLOCKS } }); |
| pop(@{ $_[0]->{ DEFBLOCKS } }); |
| $_[0]->define_block($name, $_[4]); |
| undef |
| } |
| ], |
| [#Rule 83 |
| 'defblockname', 2, |
| sub |
| #line 241 "Parser.yp" |
| { push(@{ $_[0]->{ DEFBLOCKS } }, $_[2]); |
| $_[2]; |
| } |
| ], |
| [#Rule 84 |
| 'blockname', 1, undef |
| ], |
| [#Rule 85 |
| 'blockname', 1, |
| sub |
| #line 247 "Parser.yp" |
| { $_[1] =~ s/^'(.*)'$/$1/; $_[1] } |
| ], |
| [#Rule 86 |
| 'blockargs', 1, undef |
| ], |
| [#Rule 87 |
| 'blockargs', 0, undef |
| ], |
| [#Rule 88 |
| 'anonblock', 5, |
| sub |
| #line 255 "Parser.yp" |
| { local $" = ', '; |
| print STDERR "experimental block args: [@{ $_[2] }]\n" |
| if $_[2]; |
| $factory->anon_block($_[4]) } |
| ], |
| [#Rule 89 |
| 'capture', 3, |
| sub |
| #line 261 "Parser.yp" |
| { $factory->capture(@_[1, 3]) } |
| ], |
| [#Rule 90 |
| 'macro', 6, |
| sub |
| #line 265 "Parser.yp" |
| { $factory->macro(@_[2, 6, 4]) } |
| ], |
| [#Rule 91 |
| 'macro', 3, |
| sub |
| #line 266 "Parser.yp" |
| { $factory->macro(@_[2, 3]) } |
| ], |
| [#Rule 92 |
| 'mdir', 1, undef |
| ], |
| [#Rule 93 |
| 'mdir', 4, |
| sub |
| #line 270 "Parser.yp" |
| { $_[3] } |
| ], |
| [#Rule 94 |
| 'margs', 2, |
| sub |
| #line 273 "Parser.yp" |
| { push(@{$_[1]}, $_[2]); $_[1] } |
| ], |
| [#Rule 95 |
| 'margs', 2, |
| sub |
| #line 274 "Parser.yp" |
| { $_[1] } |
| ], |
| [#Rule 96 |
| 'margs', 1, |
| sub |
| #line 275 "Parser.yp" |
| { [ $_[1] ] } |
| ], |
| [#Rule 97 |
| 'metadata', 2, |
| sub |
| #line 278 "Parser.yp" |
| { push(@{$_[1]}, @{$_[2]}); $_[1] } |
| ], |
| [#Rule 98 |
| 'metadata', 2, undef |
| ], |
| [#Rule 99 |
| 'metadata', 1, undef |
| ], |
| [#Rule 100 |
| 'meta', 3, |
| sub |
| #line 283 "Parser.yp" |
| { for ($_[3]) { s/^'//; s/'$//; |
| s/\\'/'/g }; |
| [ @_[1,3] ] } |
| ], |
| [#Rule 101 |
| 'meta', 5, |
| sub |
| #line 286 "Parser.yp" |
| { [ @_[1,4] ] } |
| ], |
| [#Rule 102 |
| 'meta', 3, |
| sub |
| #line 287 "Parser.yp" |
| { [ @_[1,3] ] } |
| ], |
| [#Rule 103 |
| 'term', 1, undef |
| ], |
| [#Rule 104 |
| 'term', 1, undef |
| ], |
| [#Rule 105 |
| 'lterm', 3, |
| sub |
| #line 299 "Parser.yp" |
| { "[ $_[2] ]" } |
| ], |
| [#Rule 106 |
| 'lterm', 3, |
| sub |
| #line 300 "Parser.yp" |
| { "[ $_[2] ]" } |
| ], |
| [#Rule 107 |
| 'lterm', 2, |
| sub |
| #line 301 "Parser.yp" |
| { "[ ]" } |
| ], |
| [#Rule 108 |
| 'lterm', 3, |
| sub |
| #line 302 "Parser.yp" |
| { "{ $_[2] }" } |
| ], |
| [#Rule 109 |
| 'sterm', 1, |
| sub |
| #line 305 "Parser.yp" |
| { $factory->ident($_[1]) } |
| ], |
| [#Rule 110 |
| 'sterm', 2, |
| sub |
| #line 306 "Parser.yp" |
| { $factory->identref($_[2]) } |
| ], |
| [#Rule 111 |
| 'sterm', 3, |
| sub |
| #line 307 "Parser.yp" |
| { $factory->quoted($_[2]) } |
| ], |
| [#Rule 112 |
| 'sterm', 1, undef |
| ], |
| [#Rule 113 |
| 'sterm', 1, undef |
| ], |
| [#Rule 114 |
| 'list', 2, |
| sub |
| #line 312 "Parser.yp" |
| { "$_[1], $_[2]" } |
| ], |
| [#Rule 115 |
| 'list', 2, undef |
| ], |
| [#Rule 116 |
| 'list', 1, undef |
| ], |
| [#Rule 117 |
| 'range', 3, |
| sub |
| #line 317 "Parser.yp" |
| { $_[1] . '..' . $_[3] } |
| ], |
| [#Rule 118 |
| 'hash', 1, undef |
| ], |
| [#Rule 119 |
| 'hash', 0, |
| sub |
| #line 322 "Parser.yp" |
| { "" } |
| ], |
| [#Rule 120 |
| 'params', 2, |
| sub |
| #line 325 "Parser.yp" |
| { "$_[1], $_[2]" } |
| ], |
| [#Rule 121 |
| 'params', 2, undef |
| ], |
| [#Rule 122 |
| 'params', 1, undef |
| ], |
| [#Rule 123 |
| 'param', 3, |
| sub |
| #line 330 "Parser.yp" |
| { "$_[1] => $_[3]" } |
| ], |
| [#Rule 124 |
| 'param', 3, |
| sub |
| #line 331 "Parser.yp" |
| { "$_[1] => $_[3]" } |
| ], |
| [#Rule 125 |
| 'ident', 3, |
| sub |
| #line 334 "Parser.yp" |
| { push(@{$_[1]}, @{$_[3]}); $_[1] } |
| ], |
| [#Rule 126 |
| 'ident', 3, |
| sub |
| #line 335 "Parser.yp" |
| { push(@{$_[1]}, |
| map {($_, 0)} split(/\./, $_[3])); |
| $_[1]; } |
| ], |
| [#Rule 127 |
| 'ident', 1, undef |
| ], |
| [#Rule 128 |
| 'node', 1, |
| sub |
| #line 341 "Parser.yp" |
| { [ $_[1], 0 ] } |
| ], |
| [#Rule 129 |
| 'node', 4, |
| sub |
| #line 342 "Parser.yp" |
| { [ $_[1], $factory->args($_[3]) ] } |
| ], |
| [#Rule 130 |
| 'item', 1, |
| sub |
| #line 345 "Parser.yp" |
| { "'$_[1]'" } |
| ], |
| [#Rule 131 |
| 'item', 3, |
| sub |
| #line 346 "Parser.yp" |
| { $_[2] } |
| ], |
| [#Rule 132 |
| 'item', 2, |
| sub |
| #line 347 "Parser.yp" |
| { $_[0]->{ V1DOLLAR } |
| ? "'$_[2]'" |
| : $factory->ident(["'$_[2]'", 0]) } |
| ], |
| [#Rule 133 |
| 'expr', 3, |
| sub |
| #line 352 "Parser.yp" |
| { "$_[1] $_[2] $_[3]" } |
| ], |
| [#Rule 134 |
| 'expr', 3, |
| sub |
| #line 353 "Parser.yp" |
| { "$_[1] $_[2] $_[3]" } |
| ], |
| [#Rule 135 |
| 'expr', 3, |
| sub |
| #line 354 "Parser.yp" |
| { "$_[1] $_[2] $_[3]" } |
| ], |
| [#Rule 136 |
| 'expr', 3, |
| sub |
| #line 355 "Parser.yp" |
| { "int($_[1] / $_[3])" } |
| ], |
| [#Rule 137 |
| 'expr', 3, |
| sub |
| #line 356 "Parser.yp" |
| { "$_[1] % $_[3]" } |
| ], |
| [#Rule 138 |
| 'expr', 3, |
| sub |
| #line 357 "Parser.yp" |
| { "$_[1] $CMPOP{ $_[2] } $_[3]" } |
| ], |
| [#Rule 139 |
| 'expr', 3, |
| sub |
| #line 358 "Parser.yp" |
| { "$_[1] . $_[3]" } |
| ], |
| [#Rule 140 |
| 'expr', 3, |
| sub |
| #line 359 "Parser.yp" |
| { "$_[1] && $_[3]" } |
| ], |
| [#Rule 141 |
| 'expr', 3, |
| sub |
| #line 360 "Parser.yp" |
| { "$_[1] || $_[3]" } |
| ], |
| [#Rule 142 |
| 'expr', 2, |
| sub |
| #line 361 "Parser.yp" |
| { "! $_[2]" } |
| ], |
| [#Rule 143 |
| 'expr', 5, |
| sub |
| #line 362 "Parser.yp" |
| { "$_[1] ? $_[3] : $_[5]" } |
| ], |
| [#Rule 144 |
| 'expr', 3, |
| sub |
| #line 363 "Parser.yp" |
| { $factory->assign(@{$_[2]}) } |
| ], |
| [#Rule 145 |
| 'expr', 3, |
| sub |
| #line 364 "Parser.yp" |
| { "($_[2])" } |
| ], |
| [#Rule 146 |
| 'expr', 1, undef |
| ], |
| [#Rule 147 |
| 'setlist', 2, |
| sub |
| #line 368 "Parser.yp" |
| { push(@{$_[1]}, @{$_[2]}); $_[1] } |
| ], |
| [#Rule 148 |
| 'setlist', 2, undef |
| ], |
| [#Rule 149 |
| 'setlist', 1, undef |
| ], |
| [#Rule 150 |
| 'assign', 3, |
| sub |
| #line 374 "Parser.yp" |
| { [ $_[1], $_[3] ] } |
| ], |
| [#Rule 151 |
| 'assign', 3, |
| sub |
| #line 375 "Parser.yp" |
| { [ @_[1,3] ] } |
| ], |
| [#Rule 152 |
| 'args', 2, |
| sub |
| #line 382 "Parser.yp" |
| { push(@{$_[1]}, $_[2]); $_[1] } |
| ], |
| [#Rule 153 |
| 'args', 2, |
| sub |
| #line 383 "Parser.yp" |
| { push(@{$_[1]->[0]}, $_[2]); $_[1] } |
| ], |
| [#Rule 154 |
| 'args', 4, |
| sub |
| #line 384 "Parser.yp" |
| { push(@{$_[1]->[0]}, "'', " . |
| $factory->assign(@_[2,4])); $_[1] } |
| ], |
| [#Rule 155 |
| 'args', 2, |
| sub |
| #line 386 "Parser.yp" |
| { $_[1] } |
| ], |
| [#Rule 156 |
| 'args', 0, |
| sub |
| #line 387 "Parser.yp" |
| { [ [ ] ] } |
| ], |
| [#Rule 157 |
| 'lnameargs', 3, |
| sub |
| #line 397 "Parser.yp" |
| { push(@{$_[3]}, $_[1]); $_[3] } |
| ], |
| [#Rule 158 |
| 'lnameargs', 1, undef |
| ], |
| [#Rule 159 |
| 'lvalue', 1, undef |
| ], |
| [#Rule 160 |
| 'lvalue', 3, |
| sub |
| #line 402 "Parser.yp" |
| { $factory->quoted($_[2]) } |
| ], |
| [#Rule 161 |
| 'lvalue', 1, undef |
| ], |
| [#Rule 162 |
| 'nameargs', 3, |
| sub |
| #line 406 "Parser.yp" |
| { [ [$factory->ident($_[2])], $_[3] ] } |
| ], |
| [#Rule 163 |
| 'nameargs', 2, |
| sub |
| #line 407 "Parser.yp" |
| { [ @_[1,2] ] } |
| ], |
| [#Rule 164 |
| 'nameargs', 4, |
| sub |
| #line 408 "Parser.yp" |
| { [ @_[1,3] ] } |
| ], |
| [#Rule 165 |
| 'names', 3, |
| sub |
| #line 411 "Parser.yp" |
| { push(@{$_[1]}, $_[3]); $_[1] } |
| ], |
| [#Rule 166 |
| 'names', 1, |
| sub |
| #line 412 "Parser.yp" |
| { [ $_[1] ] } |
| ], |
| [#Rule 167 |
| 'name', 3, |
| sub |
| #line 415 "Parser.yp" |
| { $factory->quoted($_[2]) } |
| ], |
| [#Rule 168 |
| 'name', 1, |
| sub |
| #line 416 "Parser.yp" |
| { "'$_[1]'" } |
| ], |
| [#Rule 169 |
| 'name', 1, undef |
| ], |
| [#Rule 170 |
| 'filename', 3, |
| sub |
| #line 420 "Parser.yp" |
| { "$_[1].$_[3]" } |
| ], |
| [#Rule 171 |
| 'filename', 1, undef |
| ], |
| [#Rule 172 |
| 'filepart', 1, undef |
| ], |
| [#Rule 173 |
| 'filepart', 1, undef |
| ], |
| [#Rule 174 |
| 'filepart', 1, undef |
| ], |
| [#Rule 175 |
| 'quoted', 2, |
| sub |
| #line 434 "Parser.yp" |
| { push(@{$_[1]}, $_[2]) |
| if defined $_[2]; $_[1] } |
| ], |
| [#Rule 176 |
| 'quoted', 0, |
| sub |
| #line 436 "Parser.yp" |
| { [ ] } |
| ], |
| [#Rule 177 |
| 'quotable', 1, |
| sub |
| #line 439 "Parser.yp" |
| { $factory->ident($_[1]) } |
| ], |
| [#Rule 178 |
| 'quotable', 1, |
| sub |
| #line 440 "Parser.yp" |
| { $factory->text($_[1]) } |
| ], |
| [#Rule 179 |
| 'quotable', 1, |
| sub |
| #line 441 "Parser.yp" |
| { undef } |
| ] |
| ]; |
| |
| |
| |
| 1; |
| |
| __END__ |
| |
| =head1 NAME |
| |
| Template::Grammar - Parser state/rule tables for the TT grammar |
| |
| =head1 SYNOPSIS |
| |
| # no user serviceable parts inside |
| |
| =head1 DESCRIPTION |
| |
| This module defines the state and rule tables that the L<Template::Parser> |
| module uses to parse templates. It is generated from a YACC-like grammar |
| using the C<Parse::Yapp> module. The F<parser> sub-directory of the |
| Template Toolkit source distribution contains the grammar and other |
| files required to generate this module. |
| |
| But you don't need to worry about any of that unless you're planning to |
| modify the Template Toolkit language. |
| |
| =head1 AUTHOR |
| |
| Andy Wardley E<lt>abw@wardley.orgE<gt> |
| |
| L<http://wardley.org/> |
| |
| =head1 COPYRIGHT |
| |
| Copyright (C) 1996-2007 Andy Wardley. All Rights Reserved. |
| |
| This module is free software; you can redistribute it and/or |
| modify it under the same terms as Perl itself. |
| |
| =head1 SEE ALSO |
| |
| L<Template::Parser> |
| |
| =cut |
| |
| # Local Variables: |
| # mode: perl |
| # perl-indent-level: 4 |
| # indent-tabs-mode: nil |
| # End: |
| # |
| # vim: expandtab shiftwidth=4: |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |