File Coverage

lib/Template/Grammar.pm
Criterion Covered Total %
statement 10 10 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod 0 2 0.0
total 14 16 87.5


line stmt bran cond sub pod time code
1             #============================================================= -*-Perl-*-
2             #
3             # Template::Grammar
4             #
5             # DESCRIPTION
6             # Grammar file for the Template Toolkit language containing token
7             # definitions and parser state/rules tables generated by Parse::Yapp.
8             #
9             # AUTHOR
10             # Andy Wardley
11             #
12             # COPYRIGHT
13             # Copyright (C) 1996-2014 Andy Wardley. All Rights Reserved.
14             # Copyright (C) 1998-2000 Canon Research Centre Europe Ltd.
15             #
16             # This module is free software; you can redistribute it and/or
17             # modify it under the same terms as Perl itself.
18             #
19             # IMPORTANT NOTE
20             # This module is constructed from the parser/Grammar.pm.skel file by
21             # running the parser/yc script. You only need to do this if # you
22             # have modified the grammar in the parser/Parser.yp file and need #
23             # to-recompile it. See the README in the 'parser' directory for
24             # more information (sub-directory of the Template distribution).
25             #
26             #========================================================================
27              
28             package Template::Grammar;
29              
30 80     80   556 use strict;
  80         197  
  80         3497  
31 80     80   469 use warnings;
  80         181  
  80         1456172  
32              
33             our $VERSION = 2.26;
34              
35             my (@RESERVED, %CMPOP, $LEXTABLE, $RULES, $STATES);
36             my ($factory, $rawstart);
37              
38              
39             #========================================================================
40              
41             # Reserved words, comparison and binary operators
42             #========================================================================
43              
44             @RESERVED = qw(
45             GET CALL SET DEFAULT INSERT INCLUDE PROCESS WRAPPER BLOCK END
46             USE PLUGIN FILTER MACRO PERL RAWPERL TO STEP AND OR NOT DIV MOD
47             IF UNLESS ELSE ELSIF FOR NEXT WHILE SWITCH CASE META IN
48             TRY THROW CATCH FINAL LAST RETURN STOP CLEAR VIEW DEBUG
49             );
50              
51             # for historical reasons, != and == are converted to ne and eq to perform
52             # stringwise comparison (mainly because it doesn't generate "non-numerical
53             # comparison" warnings which != and == can) but the others (e.g. < > <= >=)
54             # are not converted to their stringwise equivalents. I added 'gt' et al,
55             # briefly for v2.04d and then took them out again in 2.04e.
56              
57              
58             %CMPOP = qw(
59             != ne
60             == eq
61             < <
62             > >
63             >= >=
64             <= <=
65             );
66              
67             # eq eq # add these lines to the above to
68             # lt lt # enable the eq, lt and gt operators
69             # gt gt
70              
71             #========================================================================
72             # Lexer Token Table
73             #========================================================================
74              
75             # lookup table used by lexer is initialised with special-cases
76             $LEXTABLE = {
77             'FOREACH' => 'FOR',
78             'BREAK' => 'LAST',
79             '&&' => 'AND',
80             '||' => 'OR',
81             '!' => 'NOT',
82             '|' => 'FILTER',
83             '.' => 'DOT',
84             '_' => 'CAT',
85             '..' => 'TO',
86             # ':' => 'MACRO',
87             '=' => 'ASSIGN',
88             '=>' => 'ASSIGN',
89             # '->' => 'ARROW',
90             ',' => 'COMMA',
91             '\\' => 'REF',
92             'and' => 'AND', # explicitly specified so that qw( and or
93             'or' => 'OR', # not ) can always be used in lower case,
94             'not' => 'NOT', # regardless of ANYCASE flag
95             'mod' => 'MOD',
96             'div' => 'DIV',
97             };
98              
99             # localise the temporary variables needed to complete lexer table
100             {
101             my @tokens = qw< ( ) [ ] { } ${ $ + / ; : ? >;
102             my @cmpop = keys %CMPOP;
103             my @binop = qw( - * % ); # '+' and '/' above, in @tokens
104              
105             # fill lexer table, slice by slice, with reserved words and operators
106             @$LEXTABLE{ @RESERVED, @cmpop, @binop, @tokens }
107             = ( @RESERVED, ('CMPOP') x @cmpop, ('BINOP') x @binop, @tokens );
108             }
109              
110              
111             #========================================================================
112             # CLASS METHODS
113             #========================================================================
114              
115             sub new {
116 133     133 0 406 my $class = shift;
117 133         1489 bless {
118             LEXTABLE => $LEXTABLE,
119             STATES => $STATES,
120             RULES => $RULES,
121             }, $class;
122             }
123              
124             # update method to set package-scoped $factory lexical
125             sub install_factory {
126 1289     1289 0 2357 my ($self, $new_factory) = @_;
127 1289         3355 $factory = $new_factory;
128             }
129              
130              
131             #========================================================================
132             # States
133             #========================================================================
134              
135             $STATES = [
136             {#State 0
137             ACTIONS => {
138             'SET' => 1,
139             'PERL' => 40,
140             'NOT' => 38,
141             'IDENT' => 2,
142             'CLEAR' => 41,
143             'UNLESS' => 3,
144             'IF' => 44,
145             "\$" => 43,
146             'STOP' => 6,
147             'CALL' => 45,
148             'THROW' => 8,
149             'GET' => 47,
150             "[" => 9,
151             'TRY' => 10,
152             'LAST' => 49,
153             'DEBUG' => 51,
154             'RAWPERL' => 13,
155             'META' => 15,
156             'INCLUDE' => 17,
157             "(" => 53,
158             'SWITCH' => 54,
159             'MACRO' => 18,
160             'WRAPPER' => 55,
161             ";" => -18,
162             'FOR' => 21,
163             'LITERAL' => 57,
164             'NEXT' => 22,
165             "\"" => 60,
166             'TEXT' => 24,
167             'PROCESS' => 61,
168             'RETURN' => 64,
169             'FILTER' => 25,
170             'INSERT' => 65,
171             'NUMBER' => 26,
172             'REF' => 27,
173             'WHILE' => 67,
174             'BLOCK' => 28,
175             'DEFAULT' => 69,
176             "{" => 30,
177             'USE' => 32,
178             'VIEW' => 36,
179             "\${" => 37
180             },
181             DEFAULT => -3,
182             GOTOS => {
183             'item' => 39,
184             'loop' => 4,
185             'capture' => 42,
186             'statement' => 5,
187             'view' => 7,
188             'wrapper' => 46,
189             'atomexpr' => 48,
190             'chunk' => 11,
191             'atomdir' => 12,
192             'anonblock' => 50,
193             'template' => 52,
194             'defblockname' => 14,
195             'ident' => 16,
196             'assign' => 19,
197             'macro' => 20,
198             'lterm' => 56,
199             'node' => 23,
200             'term' => 58,
201             'rawperl' => 59,
202             'expr' => 62,
203             'use' => 63,
204             'defblock' => 66,
205             'filter' => 29,
206             'sterm' => 68,
207             'perl' => 31,
208             'chunks' => 33,
209             'setlist' => 70,
210             'try' => 35,
211             'switch' => 34,
212             'directive' => 71,
213             'block' => 72,
214             'condition' => 73
215             }
216             },
217             {#State 1
218             ACTIONS => {
219             "\$" => 43,
220             'LITERAL' => 75,
221             'IDENT' => 2,
222             "\${" => 37
223             },
224             GOTOS => {
225             'setlist' => 76,
226             'item' => 39,
227             'assign' => 19,
228             'node' => 23,
229             'ident' => 74
230             }
231             },
232             {#State 2
233             DEFAULT => -130
234             },
235             {#State 3
236             ACTIONS => {
237             'NOT' => 38,
238             "{" => 30,
239             'LITERAL' => 78,
240             'IDENT' => 2,
241             "\"" => 60,
242             "(" => 53,
243             "\$" => 43,
244             "[" => 9,
245             'NUMBER' => 26,
246             'REF' => 27,
247             "\${" => 37
248             },
249             GOTOS => {
250             'expr' => 79,
251             'sterm' => 68,
252             'item' => 39,
253             'node' => 23,
254             'ident' => 77,
255             'term' => 58,
256             'lterm' => 56
257             }
258             },
259             {#State 4
260             DEFAULT => -23
261             },
262             {#State 5
263             ACTIONS => {
264             ";" => 80
265             }
266             },
267             {#State 6
268             DEFAULT => -37
269             },
270             {#State 7
271             DEFAULT => -14
272             },
273             {#State 8
274             ACTIONS => {
275             "\"" => 89,
276             "\$" => 86,
277             'LITERAL' => 88,
278             'FILENAME' => 83,
279             'IDENT' => 81,
280             'NUMBER' => 84
281             },
282             GOTOS => {
283             'filepart' => 87,
284             'names' => 91,
285             'nameargs' => 90,
286             'filename' => 85,
287             'name' => 82
288             }
289             },
290             {#State 9
291             ACTIONS => {
292             "{" => 30,
293             'LITERAL' => 78,
294             'IDENT' => 2,
295             "\"" => 60,
296             "\$" => 43,
297             "[" => 9,
298             'NUMBER' => 26,
299             'REF' => 27,
300             "]" => 94,
301             "\${" => 37
302             },
303             GOTOS => {
304             'sterm' => 96,
305             'item' => 39,
306             'range' => 93,
307             'node' => 23,
308             'ident' => 77,
309             'term' => 95,
310             'list' => 92,
311             'lterm' => 56
312             }
313             },
314             {#State 10
315             ACTIONS => {
316             ";" => 97
317             }
318             },
319             {#State 11
320             DEFAULT => -5
321             },
322             {#State 12
323             ACTIONS => {
324             ";" => -20
325             },
326             DEFAULT => -27
327             },
328             {#State 13
329             DEFAULT => -78,
330             GOTOS => {
331             '@5-1' => 98
332             }
333             },
334             {#State 14
335             ACTIONS => {
336             'IDENT' => 99
337             },
338             DEFAULT => -87,
339             GOTOS => {
340             'blockargs' => 102,
341             'metadata' => 101,
342             'meta' => 100
343             }
344             },
345             {#State 15
346             ACTIONS => {
347             'IDENT' => 99
348             },
349             GOTOS => {
350             'metadata' => 103,
351             'meta' => 100
352             }
353             },
354             {#State 16
355             ACTIONS => {
356             'DOT' => 104,
357             'ASSIGN' => 105
358             },
359             DEFAULT => -109
360             },
361             {#State 17
362             ACTIONS => {
363             "\"" => 89,
364             "\$" => 86,
365             'LITERAL' => 88,
366             'FILENAME' => 83,
367             'IDENT' => 81,
368             'NUMBER' => 84
369             },
370             GOTOS => {
371             'filepart' => 87,
372             'names' => 91,
373             'nameargs' => 106,
374             'filename' => 85,
375             'name' => 82
376             }
377             },
378             {#State 18
379             ACTIONS => {
380             'IDENT' => 107
381             }
382             },
383             {#State 19
384             DEFAULT => -149
385             },
386             {#State 20
387             DEFAULT => -12
388             },
389             {#State 21
390             ACTIONS => {
391             "{" => 30,
392             'LITERAL' => 78,
393             'IDENT' => 108,
394             "\"" => 60,
395             "\$" => 43,
396             "[" => 9,
397             'NUMBER' => 26,
398             'REF' => 27,
399             "\${" => 37
400             },
401             GOTOS => {
402             'sterm' => 68,
403             'item' => 39,
404             'loopvar' => 110,
405             'node' => 23,
406             'ident' => 77,
407             'term' => 109,
408             'lterm' => 56
409             }
410             },
411             {#State 22
412             DEFAULT => -40
413             },
414             {#State 23
415             DEFAULT => -127
416             },
417             {#State 24
418             DEFAULT => -6
419             },
420             {#State 25
421             ACTIONS => {
422             "\"" => 117,
423             "\$" => 114,
424             'LITERAL' => 116,
425             'FILENAME' => 83,
426             'IDENT' => 111,
427             'NUMBER' => 84,
428             "\${" => 37
429             },
430             GOTOS => {
431             'names' => 91,
432             'lvalue' => 112,
433             'item' => 113,
434             'name' => 82,
435             'filepart' => 87,
436             'filename' => 85,
437             'nameargs' => 118,
438             'lnameargs' => 115
439             }
440             },
441             {#State 26
442             DEFAULT => -113
443             },
444             {#State 27
445             ACTIONS => {
446             "\$" => 43,
447             'IDENT' => 2,
448             "\${" => 37
449             },
450             GOTOS => {
451             'item' => 39,
452             'node' => 23,
453             'ident' => 119
454             }
455             },
456             {#State 28
457             ACTIONS => {
458             'LITERAL' => 124,
459             'FILENAME' => 83,
460             'IDENT' => 120,
461             'NUMBER' => 84
462             },
463             DEFAULT => -87,
464             GOTOS => {
465             'blockargs' => 123,
466             'filepart' => 87,
467             'filename' => 122,
468             'blockname' => 121,
469             'metadata' => 101,
470             'meta' => 100
471             }
472             },
473             {#State 29
474             DEFAULT => -43
475             },
476             {#State 30
477             ACTIONS => {
478             "\$" => 43,
479             'LITERAL' => 129,
480             'IDENT' => 2,
481             "\${" => 37
482             },
483             DEFAULT => -119,
484             GOTOS => {
485             'params' => 128,
486             'hash' => 125,
487             'item' => 126,
488             'param' => 127
489             }
490             },
491             {#State 31
492             DEFAULT => -25
493             },
494             {#State 32
495             ACTIONS => {
496             "\"" => 117,
497             "\$" => 114,
498             'LITERAL' => 116,
499             'FILENAME' => 83,
500             'IDENT' => 111,
501             'NUMBER' => 84,
502             "\${" => 37
503             },
504             GOTOS => {
505             'names' => 91,
506             'lvalue' => 112,
507             'item' => 113,
508             'name' => 82,
509             'filepart' => 87,
510             'filename' => 85,
511             'nameargs' => 118,
512             'lnameargs' => 130
513             }
514             },
515             {#State 33
516             ACTIONS => {
517             'SET' => 1,
518             'PERL' => 40,
519             'NOT' => 38,
520             'IDENT' => 2,
521             'CLEAR' => 41,
522             'UNLESS' => 3,
523             'IF' => 44,
524             "\$" => 43,
525             'STOP' => 6,
526             'CALL' => 45,
527             'THROW' => 8,
528             'GET' => 47,
529             "[" => 9,
530             'TRY' => 10,
531             'LAST' => 49,
532             'DEBUG' => 51,
533             'RAWPERL' => 13,
534             'META' => 15,
535             'INCLUDE' => 17,
536             "(" => 53,
537             'SWITCH' => 54,
538             'MACRO' => 18,
539             'WRAPPER' => 55,
540             ";" => -18,
541             'FOR' => 21,
542             'LITERAL' => 57,
543             'NEXT' => 22,
544             "\"" => 60,
545             'TEXT' => 24,
546             'PROCESS' => 61,
547             'RETURN' => 64,
548             'FILTER' => 25,
549             'INSERT' => 65,
550             'NUMBER' => 26,
551             'REF' => 27,
552             'WHILE' => 67,
553             'BLOCK' => 28,
554             'DEFAULT' => 69,
555             "{" => 30,
556             'USE' => 32,
557             'VIEW' => 36,
558             "\${" => 37
559             },
560             DEFAULT => -2,
561             GOTOS => {
562             'item' => 39,
563             'node' => 23,
564             'rawperl' => 59,
565             'term' => 58,
566             'loop' => 4,
567             'use' => 63,
568             'expr' => 62,
569             'capture' => 42,
570             'statement' => 5,
571             'view' => 7,
572             'wrapper' => 46,
573             'atomexpr' => 48,
574             'chunk' => 131,
575             'defblock' => 66,
576             'atomdir' => 12,
577             'anonblock' => 50,
578             'sterm' => 68,
579             'defblockname' => 14,
580             'filter' => 29,
581             'ident' => 16,
582             'perl' => 31,
583             'setlist' => 70,
584             'try' => 35,
585             'switch' => 34,
586             'assign' => 19,
587             'directive' => 71,
588             'macro' => 20,
589             'condition' => 73,
590             'lterm' => 56
591             }
592             },
593             {#State 34
594             DEFAULT => -22
595             },
596             {#State 35
597             DEFAULT => -24
598             },
599             {#State 36
600             ACTIONS => {
601             "\"" => 89,
602             "\$" => 86,
603             'LITERAL' => 88,
604             'FILENAME' => 83,
605             'IDENT' => 81,
606             'NUMBER' => 84
607             },
608             GOTOS => {
609             'filepart' => 87,
610             'names' => 91,
611             'nameargs' => 132,
612             'filename' => 85,
613             'name' => 82
614             }
615             },
616             {#State 37
617             ACTIONS => {
618             "\"" => 60,
619             "\$" => 43,
620             'LITERAL' => 78,
621             'IDENT' => 2,
622             'REF' => 27,
623             'NUMBER' => 26,
624             "\${" => 37
625             },
626             GOTOS => {
627             'sterm' => 133,
628             'item' => 39,
629             'node' => 23,
630             'ident' => 77
631             }
632             },
633             {#State 38
634             ACTIONS => {
635             'NOT' => 38,
636             "{" => 30,
637             'LITERAL' => 78,
638             'IDENT' => 2,
639             "\"" => 60,
640             "(" => 53,
641             "\$" => 43,
642             "[" => 9,
643             'NUMBER' => 26,
644             'REF' => 27,
645             "\${" => 37
646             },
647             GOTOS => {
648             'expr' => 134,
649             'sterm' => 68,
650             'item' => 39,
651             'node' => 23,
652             'ident' => 77,
653             'term' => 58,
654             'lterm' => 56
655             }
656             },
657             {#State 39
658             ACTIONS => {
659             "(" => 135
660             },
661             DEFAULT => -128
662             },
663             {#State 40
664             ACTIONS => {
665             ";" => 136
666             }
667             },
668             {#State 41
669             DEFAULT => -38
670             },
671             {#State 42
672             DEFAULT => -11
673             },
674             {#State 43
675             ACTIONS => {
676             'IDENT' => 137
677             }
678             },
679             {#State 44
680             ACTIONS => {
681             'NOT' => 38,
682             "{" => 30,
683             'LITERAL' => 78,
684             'IDENT' => 2,
685             "\"" => 60,
686             "(" => 53,
687             "\$" => 43,
688             "[" => 9,
689             'NUMBER' => 26,
690             'REF' => 27,
691             "\${" => 37
692             },
693             GOTOS => {
694             'expr' => 138,
695             'sterm' => 68,
696             'item' => 39,
697             'node' => 23,
698             'ident' => 77,
699             'term' => 58,
700             'lterm' => 56
701             }
702             },
703             {#State 45
704             ACTIONS => {
705             'NOT' => 38,
706             "{" => 30,
707             'LITERAL' => 78,
708             'IDENT' => 2,
709             "\"" => 60,
710             "(" => 53,
711             "\$" => 43,
712             "[" => 9,
713             'NUMBER' => 26,
714             'REF' => 27,
715             "\${" => 37
716             },
717             GOTOS => {
718             'expr' => 139,
719             'sterm' => 68,
720             'item' => 39,
721             'node' => 23,
722             'ident' => 77,
723             'term' => 58,
724             'lterm' => 56
725             }
726             },
727             {#State 46
728             DEFAULT => -42
729             },
730             {#State 47
731             ACTIONS => {
732             'NOT' => 38,
733             "{" => 30,
734             'LITERAL' => 78,
735             'IDENT' => 2,
736             "\"" => 60,
737             "(" => 53,
738             "\$" => 43,
739             "[" => 9,
740             'NUMBER' => 26,
741             'REF' => 27,
742             "\${" => 37
743             },
744             GOTOS => {
745             'expr' => 140,
746             'sterm' => 68,
747             'item' => 39,
748             'node' => 23,
749             'ident' => 77,
750             'term' => 58,
751             'lterm' => 56
752             }
753             },
754             {#State 48
755             ACTIONS => {
756             'IF' => 144,
757             'FILTER' => 143,
758             'FOR' => 142,
759             'WHILE' => 146,
760             'WRAPPER' => 145,
761             'UNLESS' => 141
762             }
763             },
764             {#State 49
765             DEFAULT => -39
766             },
767             {#State 50
768             DEFAULT => -10
769             },
770             {#State 51
771             ACTIONS => {
772             "\"" => 89,
773             "\$" => 86,
774             'LITERAL' => 88,
775             'FILENAME' => 83,
776             'IDENT' => 81,
777             'NUMBER' => 84
778             },
779             GOTOS => {
780             'filepart' => 87,
781             'names' => 91,
782             'nameargs' => 147,
783             'filename' => 85,
784             'name' => 82
785             }
786             },
787             {#State 52
788             ACTIONS => {
789             '' => 148
790             }
791             },
792             {#State 53
793             ACTIONS => {
794             'NOT' => 38,
795             "{" => 30,
796             'LITERAL' => 57,
797             'IDENT' => 2,
798             "\"" => 60,
799             "(" => 53,
800             "\$" => 43,
801             "[" => 9,
802             'NUMBER' => 26,
803             'REF' => 27,
804             "\${" => 37
805             },
806             GOTOS => {
807             'sterm' => 68,
808             'item' => 39,
809             'node' => 23,
810             'ident' => 149,
811             'term' => 58,
812             'expr' => 151,
813             'assign' => 150,
814             'lterm' => 56
815             }
816             },
817             {#State 54
818             ACTIONS => {
819             'NOT' => 38,
820             "{" => 30,
821             'LITERAL' => 78,
822             'IDENT' => 2,
823             "\"" => 60,
824             "(" => 53,
825             "\$" => 43,
826             "[" => 9,
827             'NUMBER' => 26,
828             'REF' => 27,
829             "\${" => 37
830             },
831             GOTOS => {
832             'expr' => 152,
833             'sterm' => 68,
834             'item' => 39,
835             'node' => 23,
836             'ident' => 77,
837             'term' => 58,
838             'lterm' => 56
839             }
840             },
841             {#State 55
842             ACTIONS => {
843             "\"" => 89,
844             "\$" => 86,
845             'LITERAL' => 88,
846             'FILENAME' => 83,
847             'IDENT' => 81,
848             'NUMBER' => 84
849             },
850             GOTOS => {
851             'filepart' => 87,
852             'names' => 91,
853             'nameargs' => 153,
854             'filename' => 85,
855             'name' => 82
856             }
857             },
858             {#State 56
859             DEFAULT => -103
860             },
861             {#State 57
862             ACTIONS => {
863             'ASSIGN' => 154
864             },
865             DEFAULT => -112
866             },
867             {#State 58
868             DEFAULT => -146
869             },
870             {#State 59
871             DEFAULT => -15
872             },
873             {#State 60
874             DEFAULT => -176,
875             GOTOS => {
876             'quoted' => 155
877             }
878             },
879             {#State 61
880             ACTIONS => {
881             "\"" => 89,
882             "\$" => 86,
883             'LITERAL' => 88,
884             'FILENAME' => 83,
885             'IDENT' => 81,
886             'NUMBER' => 84
887             },
888             GOTOS => {
889             'filepart' => 87,
890             'names' => 91,
891             'nameargs' => 156,
892             'filename' => 85,
893             'name' => 82
894             }
895             },
896             {#State 62
897             ACTIONS => {
898             ";" => -16,
899             "+" => 157,
900             'CAT' => 163,
901             'CMPOP' => 164,
902             "?" => 158,
903             'DIV' => 159,
904             'MOD' => 165,
905             "/" => 166,
906             'AND' => 160,
907             'BINOP' => 161,
908             'OR' => 162
909             },
910             DEFAULT => -26
911             },
912             {#State 63
913             DEFAULT => -13
914             },
915             {#State 64
916             DEFAULT => -36
917             },
918             {#State 65
919             ACTIONS => {
920             "\"" => 89,
921             "\$" => 86,
922             'LITERAL' => 88,
923             'FILENAME' => 83,
924             'IDENT' => 81,
925             'NUMBER' => 84
926             },
927             GOTOS => {
928             'filepart' => 87,
929             'names' => 91,
930             'nameargs' => 167,
931             'filename' => 85,
932             'name' => 82
933             }
934             },
935             {#State 66
936             DEFAULT => -9
937             },
938             {#State 67
939             ACTIONS => {
940             'NOT' => 38,
941             "{" => 30,
942             'LITERAL' => 78,
943             'IDENT' => 2,
944             "\"" => 60,
945             "(" => 53,
946             "\$" => 43,
947             "[" => 9,
948             'NUMBER' => 26,
949             'REF' => 27,
950             "\${" => 37
951             },
952             GOTOS => {
953             'expr' => 168,
954             'sterm' => 68,
955             'item' => 39,
956             'node' => 23,
957             'ident' => 77,
958             'term' => 58,
959             'lterm' => 56
960             }
961             },
962             {#State 68
963             DEFAULT => -104
964             },
965             {#State 69
966             ACTIONS => {
967             "\$" => 43,
968             'LITERAL' => 75,
969             'IDENT' => 2,
970             "\${" => 37
971             },
972             GOTOS => {
973             'setlist' => 169,
974             'item' => 39,
975             'assign' => 19,
976             'node' => 23,
977             'ident' => 74
978             }
979             },
980             {#State 70
981             ACTIONS => {
982             "\$" => 43,
983             'COMMA' => 171,
984             'LITERAL' => 75,
985             'IDENT' => 2,
986             "\${" => 37
987             },
988             DEFAULT => -19,
989             GOTOS => {
990             'item' => 39,
991             'assign' => 170,
992             'node' => 23,
993             'ident' => 74
994             }
995             },
996             {#State 71
997             DEFAULT => -8
998             },
999             {#State 72
1000             DEFAULT => -1
1001             },
1002             {#State 73
1003             DEFAULT => -21
1004             },
1005             {#State 74
1006             ACTIONS => {
1007             'ASSIGN' => 172,
1008             'DOT' => 104
1009             }
1010             },
1011             {#State 75
1012             ACTIONS => {
1013             'ASSIGN' => 154
1014             }
1015             },
1016             {#State 76
1017             ACTIONS => {
1018             'COMMA' => 171,
1019             'LITERAL' => 75,
1020             'IDENT' => 2,
1021             "\$" => 43,
1022             "\${" => 37
1023             },
1024             DEFAULT => -30,
1025             GOTOS => {
1026             'item' => 39,
1027             'assign' => 170,
1028             'node' => 23,
1029             'ident' => 74
1030             }
1031             },
1032             {#State 77
1033             ACTIONS => {
1034             'DOT' => 104
1035             },
1036             DEFAULT => -109
1037             },
1038             {#State 78
1039             DEFAULT => -112
1040             },
1041             {#State 79
1042             ACTIONS => {
1043             'CMPOP' => 164,
1044             "?" => 158,
1045             ";" => 173,
1046             "+" => 157,
1047             'MOD' => 165,
1048             'DIV' => 159,
1049             "/" => 166,
1050             'AND' => 160,
1051             'CAT' => 163,
1052             'BINOP' => 161,
1053             'OR' => 162
1054             }
1055             },
1056             {#State 80
1057             DEFAULT => -7
1058             },
1059             {#State 81
1060             DEFAULT => -173
1061             },
1062             {#State 82
1063             DEFAULT => -166
1064             },
1065             {#State 83
1066             DEFAULT => -172
1067             },
1068             {#State 84
1069             DEFAULT => -174
1070             },
1071             {#State 85
1072             ACTIONS => {
1073             'DOT' => 174
1074             },
1075             DEFAULT => -168
1076             },
1077             {#State 86
1078             ACTIONS => {
1079             "\$" => 43,
1080             'IDENT' => 2,
1081             "\${" => 37
1082             },
1083             GOTOS => {
1084             'item' => 39,
1085             'node' => 23,
1086             'ident' => 175
1087             }
1088             },
1089             {#State 87
1090             DEFAULT => -171
1091             },
1092             {#State 88
1093             DEFAULT => -169
1094             },
1095             {#State 89
1096             DEFAULT => -176,
1097             GOTOS => {
1098             'quoted' => 176
1099             }
1100             },
1101             {#State 90
1102             DEFAULT => -35
1103             },
1104             {#State 91
1105             ACTIONS => {
1106             "+" => 177,
1107             "(" => 178
1108             },
1109             DEFAULT => -156,
1110             GOTOS => {
1111             'args' => 179
1112             }
1113             },
1114             {#State 92
1115             ACTIONS => {
1116             "{" => 30,
1117             'COMMA' => 182,
1118             'LITERAL' => 78,
1119             'IDENT' => 2,
1120             "\"" => 60,
1121             "\$" => 43,
1122             "[" => 9,
1123             'NUMBER' => 26,
1124             'REF' => 27,
1125             "]" => 180,
1126             "\${" => 37
1127             },
1128             GOTOS => {
1129             'sterm' => 68,
1130             'item' => 39,
1131             'node' => 23,
1132             'ident' => 77,
1133             'term' => 181,
1134             'lterm' => 56
1135             }
1136             },
1137             {#State 93
1138             ACTIONS => {
1139             "]" => 183
1140             }
1141             },
1142             {#State 94
1143             DEFAULT => -107
1144             },
1145             {#State 95
1146             DEFAULT => -116
1147             },
1148             {#State 96
1149             ACTIONS => {
1150             'TO' => 184
1151             },
1152             DEFAULT => -104
1153             },
1154             {#State 97
1155             ACTIONS => {
1156             'SET' => 1,
1157             'PERL' => 40,
1158             'NOT' => 38,
1159             'IDENT' => 2,
1160             'CLEAR' => 41,
1161             'UNLESS' => 3,
1162             'IF' => 44,
1163             "\$" => 43,
1164             'STOP' => 6,
1165             'CALL' => 45,
1166             'THROW' => 8,
1167             'GET' => 47,
1168             "[" => 9,
1169             'TRY' => 10,
1170             'LAST' => 49,
1171             'DEBUG' => 51,
1172             'RAWPERL' => 13,
1173             'META' => 15,
1174             'INCLUDE' => 17,
1175             "(" => 53,
1176             'SWITCH' => 54,
1177             'MACRO' => 18,
1178             'WRAPPER' => 55,
1179             ";" => -18,
1180             'FOR' => 21,
1181             'LITERAL' => 57,
1182             'NEXT' => 22,
1183             "\"" => 60,
1184             'TEXT' => 24,
1185             'PROCESS' => 61,
1186             'RETURN' => 64,
1187             'FILTER' => 25,
1188             'INSERT' => 65,
1189             'NUMBER' => 26,
1190             'REF' => 27,
1191             'WHILE' => 67,
1192             'BLOCK' => 28,
1193             'DEFAULT' => 69,
1194             "{" => 30,
1195             'USE' => 32,
1196             'VIEW' => 36,
1197             "\${" => 37
1198             },
1199             DEFAULT => -3,
1200             GOTOS => {
1201             'item' => 39,
1202             'node' => 23,
1203             'rawperl' => 59,
1204             'term' => 58,
1205             'loop' => 4,
1206             'use' => 63,
1207             'expr' => 62,
1208             'capture' => 42,
1209             'statement' => 5,
1210             'view' => 7,
1211             'wrapper' => 46,
1212             'atomexpr' => 48,
1213             'chunk' => 11,
1214             'defblock' => 66,
1215             'atomdir' => 12,
1216             'anonblock' => 50,
1217             'sterm' => 68,
1218             'defblockname' => 14,
1219             'filter' => 29,
1220             'ident' => 16,
1221             'perl' => 31,
1222             'setlist' => 70,
1223             'chunks' => 33,
1224             'try' => 35,
1225             'switch' => 34,
1226             'assign' => 19,
1227             'block' => 185,
1228             'directive' => 71,
1229             'macro' => 20,
1230             'condition' => 73,
1231             'lterm' => 56
1232             }
1233             },
1234             {#State 98
1235             ACTIONS => {
1236             ";" => 186
1237             }
1238             },
1239             {#State 99
1240             ACTIONS => {
1241             'ASSIGN' => 187
1242             }
1243             },
1244             {#State 100
1245             DEFAULT => -99
1246             },
1247             {#State 101
1248             ACTIONS => {
1249             'COMMA' => 189,
1250             'IDENT' => 99
1251             },
1252             DEFAULT => -86,
1253             GOTOS => {
1254             'meta' => 188
1255             }
1256             },
1257             {#State 102
1258             ACTIONS => {
1259             ";" => 190
1260             }
1261             },
1262             {#State 103
1263             ACTIONS => {
1264             'COMMA' => 189,
1265             'IDENT' => 99
1266             },
1267             DEFAULT => -17,
1268             GOTOS => {
1269             'meta' => 188
1270             }
1271             },
1272             {#State 104
1273             ACTIONS => {
1274             "\$" => 43,
1275             'IDENT' => 2,
1276             'NUMBER' => 192,
1277             "\${" => 37
1278             },
1279             GOTOS => {
1280             'item' => 39,
1281             'node' => 191
1282             }
1283             },
1284             {#State 105
1285             ACTIONS => {
1286             'SET' => 1,
1287             'PERL' => 40,
1288             'NOT' => 38,
1289             'IDENT' => 2,
1290             'CLEAR' => 41,
1291             'UNLESS' => 3,
1292             'IF' => 44,
1293             "\$" => 43,
1294             'STOP' => 6,
1295             'CALL' => 45,
1296             'THROW' => 8,
1297             'GET' => 47,
1298             "[" => 9,
1299             'TRY' => 10,
1300             'LAST' => 49,
1301             'DEBUG' => 51,
1302             'INCLUDE' => 17,
1303             "(" => 53,
1304             'SWITCH' => 54,
1305             'WRAPPER' => 55,
1306             'FOR' => 21,
1307             'NEXT' => 22,
1308             'LITERAL' => 57,
1309             "\"" => 60,
1310             'PROCESS' => 61,
1311             'FILTER' => 25,
1312             'RETURN' => 64,
1313             'INSERT' => 65,
1314             'NUMBER' => 26,
1315             'REF' => 27,
1316             'WHILE' => 67,
1317             'BLOCK' => 193,
1318             'DEFAULT' => 69,
1319             "{" => 30,
1320             "\${" => 37
1321             },
1322             GOTOS => {
1323             'item' => 39,
1324             'node' => 23,
1325             'term' => 58,
1326             'loop' => 4,
1327             'expr' => 195,
1328             'wrapper' => 46,
1329             'atomexpr' => 48,
1330             'atomdir' => 12,
1331             'mdir' => 194,
1332             'sterm' => 68,
1333             'filter' => 29,
1334             'ident' => 149,
1335             'perl' => 31,
1336             'setlist' => 70,
1337             'try' => 35,
1338             'switch' => 34,
1339             'assign' => 19,
1340             'directive' => 196,
1341             'condition' => 73,
1342             'lterm' => 56
1343             }
1344             },
1345             {#State 106
1346             DEFAULT => -33
1347             },
1348             {#State 107
1349             ACTIONS => {
1350             'SET' => 1,
1351             'PERL' => 40,
1352             'NOT' => 38,
1353             'IDENT' => 2,
1354             'CLEAR' => 41,
1355             'UNLESS' => 3,
1356             'IF' => 44,
1357             "\$" => 43,
1358             'STOP' => 6,
1359             'CALL' => 45,
1360             'THROW' => 8,
1361             'GET' => 47,
1362             "[" => 9,
1363             'TRY' => 10,
1364             'LAST' => 49,
1365             'DEBUG' => 51,
1366             'INCLUDE' => 17,
1367             "(" => 198,
1368             'SWITCH' => 54,
1369             'WRAPPER' => 55,
1370             'FOR' => 21,
1371             'NEXT' => 22,
1372             'LITERAL' => 57,
1373             "\"" => 60,
1374             'PROCESS' => 61,
1375             'FILTER' => 25,
1376             'RETURN' => 64,
1377             'INSERT' => 65,
1378             'NUMBER' => 26,
1379             'REF' => 27,
1380             'WHILE' => 67,
1381             'BLOCK' => 193,
1382             'DEFAULT' => 69,
1383             "{" => 30,
1384             "\${" => 37
1385             },
1386             GOTOS => {
1387             'item' => 39,
1388             'node' => 23,
1389             'term' => 58,
1390             'loop' => 4,
1391             'expr' => 199,
1392             'wrapper' => 46,
1393             'atomexpr' => 48,
1394             'atomdir' => 12,
1395             'mdir' => 197,
1396             'sterm' => 68,
1397             'filter' => 29,
1398             'ident' => 149,
1399             'perl' => 31,
1400             'setlist' => 70,
1401             'try' => 35,
1402             'switch' => 34,
1403             'assign' => 19,
1404             'directive' => 196,
1405             'condition' => 73,
1406             'lterm' => 56
1407             }
1408             },
1409             {#State 108
1410             ACTIONS => {
1411             'IN' => 201,
1412             'ASSIGN' => 200
1413             },
1414             DEFAULT => -130
1415             },
1416             {#State 109
1417             DEFAULT => -156,
1418             GOTOS => {
1419             'args' => 202
1420             }
1421             },
1422             {#State 110
1423             ACTIONS => {
1424             ";" => 203
1425             }
1426             },
1427             {#State 111
1428             ACTIONS => {
1429             'ASSIGN' => -130
1430             },
1431             DEFAULT => -173
1432             },
1433             {#State 112
1434             ACTIONS => {
1435             'ASSIGN' => 204
1436             }
1437             },
1438             {#State 113
1439             DEFAULT => -159
1440             },
1441             {#State 114
1442             ACTIONS => {
1443             "\$" => 43,
1444             'IDENT' => 205,
1445             "\${" => 37
1446             },
1447             GOTOS => {
1448             'item' => 39,
1449             'node' => 23,
1450             'ident' => 175
1451             }
1452             },
1453             {#State 115
1454             ACTIONS => {
1455             ";" => 206
1456             }
1457             },
1458             {#State 116
1459             ACTIONS => {
1460             'ASSIGN' => -161
1461             },
1462             DEFAULT => -169
1463             },
1464             {#State 117
1465             DEFAULT => -176,
1466             GOTOS => {
1467             'quoted' => 207
1468             }
1469             },
1470             {#State 118
1471             DEFAULT => -158
1472             },
1473             {#State 119
1474             ACTIONS => {
1475             'DOT' => 104
1476             },
1477             DEFAULT => -110
1478             },
1479             {#State 120
1480             ACTIONS => {
1481             'ASSIGN' => 187
1482             },
1483             DEFAULT => -173
1484             },
1485             {#State 121
1486             DEFAULT => -83
1487             },
1488             {#State 122
1489             ACTIONS => {
1490             'DOT' => 174
1491             },
1492             DEFAULT => -84
1493             },
1494             {#State 123
1495             ACTIONS => {
1496             ";" => 208
1497             }
1498             },
1499             {#State 124
1500             DEFAULT => -85
1501             },
1502             {#State 125
1503             ACTIONS => {
1504             "}" => 209
1505             }
1506             },
1507             {#State 126
1508             ACTIONS => {
1509             'ASSIGN' => 210
1510             }
1511             },
1512             {#State 127
1513             DEFAULT => -122
1514             },
1515             {#State 128
1516             ACTIONS => {
1517             "\$" => 43,
1518             'COMMA' => 212,
1519             'LITERAL' => 129,
1520             'IDENT' => 2,
1521             "\${" => 37
1522             },
1523             DEFAULT => -118,
1524             GOTOS => {
1525             'item' => 126,
1526             'param' => 211
1527             }
1528             },
1529             {#State 129
1530             ACTIONS => {
1531             'ASSIGN' => 213
1532             }
1533             },
1534             {#State 130
1535             DEFAULT => -73
1536             },
1537             {#State 131
1538             DEFAULT => -4
1539             },
1540             {#State 132
1541             ACTIONS => {
1542             ";" => 214
1543             }
1544             },
1545             {#State 133
1546             ACTIONS => {
1547             "}" => 215
1548             }
1549             },
1550             {#State 134
1551             ACTIONS => {
1552             'DIV' => 159,
1553             'BINOP' => 161,
1554             "+" => 157,
1555             'CAT' => 163,
1556             'CMPOP' => 164,
1557             'MOD' => 165,
1558             "/" => 166
1559             },
1560             DEFAULT => -142
1561             },
1562             {#State 135
1563             DEFAULT => -156,
1564             GOTOS => {
1565             'args' => 216
1566             }
1567             },
1568             {#State 136
1569             DEFAULT => -76,
1570             GOTOS => {
1571             '@4-2' => 217
1572             }
1573             },
1574             {#State 137
1575             DEFAULT => -132
1576             },
1577             {#State 138
1578             ACTIONS => {
1579             'CMPOP' => 164,
1580             "?" => 158,
1581             ";" => 218,
1582             "+" => 157,
1583             'MOD' => 165,
1584             'DIV' => 159,
1585             "/" => 166,
1586             'AND' => 160,
1587             'CAT' => 163,
1588             'BINOP' => 161,
1589             'OR' => 162
1590             }
1591             },
1592             {#State 139
1593             ACTIONS => {
1594             "+" => 157,
1595             'CAT' => 163,
1596             'CMPOP' => 164,
1597             "?" => 158,
1598             'DIV' => 159,
1599             'MOD' => 165,
1600             "/" => 166,
1601             'AND' => 160,
1602             'BINOP' => 161,
1603             'OR' => 162
1604             },
1605             DEFAULT => -29
1606             },
1607             {#State 140
1608             ACTIONS => {
1609             "+" => 157,
1610             'CAT' => 163,
1611             'CMPOP' => 164,
1612             "?" => 158,
1613             'DIV' => 159,
1614             'MOD' => 165,
1615             "/" => 166,
1616             'AND' => 160,
1617             'BINOP' => 161,
1618             'OR' => 162
1619             },
1620             DEFAULT => -28
1621             },
1622             {#State 141
1623             ACTIONS => {
1624             'NOT' => 38,
1625             "{" => 30,
1626             'LITERAL' => 78,
1627             'IDENT' => 2,
1628             "\"" => 60,
1629             "(" => 53,
1630             "\$" => 43,
1631             "[" => 9,
1632             'NUMBER' => 26,
1633             'REF' => 27,
1634             "\${" => 37
1635             },
1636             GOTOS => {
1637             'expr' => 219,
1638             'sterm' => 68,
1639             'item' => 39,
1640             'node' => 23,
1641             'ident' => 77,
1642             'term' => 58,
1643             'lterm' => 56
1644             }
1645             },
1646             {#State 142
1647             ACTIONS => {
1648             "{" => 30,
1649             'LITERAL' => 78,
1650             'IDENT' => 108,
1651             "\"" => 60,
1652             "\$" => 43,
1653             "[" => 9,
1654             'NUMBER' => 26,
1655             'REF' => 27,
1656             "\${" => 37
1657             },
1658             GOTOS => {
1659             'sterm' => 68,
1660             'item' => 39,
1661             'loopvar' => 220,
1662             'node' => 23,
1663             'ident' => 77,
1664             'term' => 109,
1665             'lterm' => 56
1666             }
1667             },
1668             {#State 143
1669             ACTIONS => {
1670             "\"" => 117,
1671             "\$" => 114,
1672             'LITERAL' => 116,
1673             'FILENAME' => 83,
1674             'IDENT' => 111,
1675             'NUMBER' => 84,
1676             "\${" => 37
1677             },
1678             GOTOS => {
1679             'names' => 91,
1680             'lvalue' => 112,
1681             'item' => 113,
1682             'name' => 82,
1683             'filepart' => 87,
1684             'filename' => 85,
1685             'nameargs' => 118,
1686             'lnameargs' => 221
1687             }
1688             },
1689             {#State 144
1690             ACTIONS => {
1691             'NOT' => 38,
1692             "{" => 30,
1693             'LITERAL' => 78,
1694             'IDENT' => 2,
1695             "\"" => 60,
1696             "(" => 53,
1697             "\$" => 43,
1698             "[" => 9,
1699             'NUMBER' => 26,
1700             'REF' => 27,
1701             "\${" => 37
1702             },
1703             GOTOS => {
1704             'expr' => 222,
1705             'sterm' => 68,
1706             'item' => 39,
1707             'node' => 23,
1708             'ident' => 77,
1709             'term' => 58,
1710             'lterm' => 56
1711             }
1712             },
1713             {#State 145
1714             ACTIONS => {
1715             "\"" => 89,
1716             "\$" => 86,
1717             'LITERAL' => 88,
1718             'FILENAME' => 83,
1719             'IDENT' => 81,
1720             'NUMBER' => 84
1721             },
1722             GOTOS => {
1723             'filepart' => 87,
1724             'names' => 91,
1725             'nameargs' => 223,
1726             'filename' => 85,
1727             'name' => 82
1728             }
1729             },
1730             {#State 146
1731             ACTIONS => {
1732             'NOT' => 38,
1733             "{" => 30,
1734             'LITERAL' => 78,
1735             'IDENT' => 2,
1736             "\"" => 60,
1737             "(" => 53,
1738             "\$" => 43,
1739             "[" => 9,
1740             'NUMBER' => 26,
1741             'REF' => 27,
1742             "\${" => 37
1743             },
1744             GOTOS => {
1745             'expr' => 224,
1746             'sterm' => 68,
1747             'item' => 39,
1748             'node' => 23,
1749             'ident' => 77,
1750             'term' => 58,
1751             'lterm' => 56
1752             }
1753             },
1754             {#State 147
1755             DEFAULT => -41
1756             },
1757             {#State 148
1758             DEFAULT => 0
1759             },
1760             {#State 149
1761             ACTIONS => {
1762             'DOT' => 104,
1763             'ASSIGN' => 172
1764             },
1765             DEFAULT => -109
1766             },
1767             {#State 150
1768             ACTIONS => {
1769             ")" => 225
1770             }
1771             },
1772             {#State 151
1773             ACTIONS => {
1774             'CMPOP' => 164,
1775             "?" => 158,
1776             "+" => 157,
1777             'MOD' => 165,
1778             'DIV' => 159,
1779             "/" => 166,
1780             'AND' => 160,
1781             'CAT' => 163,
1782             'BINOP' => 161,
1783             ")" => 226,
1784             'OR' => 162
1785             }
1786             },
1787             {#State 152
1788             ACTIONS => {
1789             'CMPOP' => 164,
1790             "?" => 158,
1791             ";" => 227,
1792             "+" => 157,
1793             'MOD' => 165,
1794             'DIV' => 159,
1795             "/" => 166,
1796             'AND' => 160,
1797             'CAT' => 163,
1798             'BINOP' => 161,
1799             'OR' => 162
1800             }
1801             },
1802             {#State 153
1803             ACTIONS => {
1804             ";" => 228
1805             }
1806             },
1807             {#State 154
1808             ACTIONS => {
1809             'NOT' => 38,
1810             "{" => 30,
1811             'LITERAL' => 78,
1812             'IDENT' => 2,
1813             "\"" => 60,
1814             "(" => 53,
1815             "\$" => 43,
1816             "[" => 9,
1817             'NUMBER' => 26,
1818             'REF' => 27,
1819             "\${" => 37
1820             },
1821             GOTOS => {
1822             'expr' => 229,
1823             'sterm' => 68,
1824             'item' => 39,
1825             'node' => 23,
1826             'ident' => 77,
1827             'term' => 58,
1828             'lterm' => 56
1829             }
1830             },
1831             {#State 155
1832             ACTIONS => {
1833             "\"" => 234,
1834             'TEXT' => 231,
1835             ";" => 233,
1836             "\$" => 43,
1837             'IDENT' => 2,
1838             "\${" => 37
1839             },
1840             GOTOS => {
1841             'item' => 39,
1842             'node' => 23,
1843             'ident' => 230,
1844             'quotable' => 232
1845             }
1846             },
1847             {#State 156
1848             DEFAULT => -34
1849             },
1850             {#State 157
1851             ACTIONS => {
1852             'NOT' => 38,
1853             "{" => 30,
1854             'LITERAL' => 78,
1855             'IDENT' => 2,
1856             "\"" => 60,
1857             "(" => 53,
1858             "\$" => 43,
1859             "[" => 9,
1860             'NUMBER' => 26,
1861             'REF' => 27,
1862             "\${" => 37
1863             },
1864             GOTOS => {
1865             'expr' => 235,
1866             'sterm' => 68,
1867             'item' => 39,
1868             'node' => 23,
1869             'ident' => 77,
1870             'term' => 58,
1871             'lterm' => 56
1872             }
1873             },
1874             {#State 158
1875             ACTIONS => {
1876             'NOT' => 38,
1877             "{" => 30,
1878             'LITERAL' => 78,
1879             'IDENT' => 2,
1880             "\"" => 60,
1881             "(" => 53,
1882             "\$" => 43,
1883             "[" => 9,
1884             'NUMBER' => 26,
1885             'REF' => 27,
1886             "\${" => 37
1887             },
1888             GOTOS => {
1889             'expr' => 236,
1890             'sterm' => 68,
1891             'item' => 39,
1892             'node' => 23,
1893             'ident' => 77,
1894             'term' => 58,
1895             'lterm' => 56
1896             }
1897             },
1898             {#State 159
1899             ACTIONS => {
1900             'NOT' => 38,
1901             "{" => 30,
1902             'LITERAL' => 78,
1903             'IDENT' => 2,
1904             "\"" => 60,
1905             "(" => 53,
1906             "\$" => 43,
1907             "[" => 9,
1908             'NUMBER' => 26,
1909             'REF' => 27,
1910             "\${" => 37
1911             },
1912             GOTOS => {
1913             'expr' => 237,
1914             'sterm' => 68,
1915             'item' => 39,
1916             'node' => 23,
1917             'ident' => 77,
1918             'term' => 58,
1919             'lterm' => 56
1920             }
1921             },
1922             {#State 160
1923             ACTIONS => {
1924             'NOT' => 38,
1925             "{" => 30,
1926             'LITERAL' => 78,
1927             'IDENT' => 2,
1928             "\"" => 60,
1929             "(" => 53,
1930             "\$" => 43,
1931             "[" => 9,
1932             'NUMBER' => 26,
1933             'REF' => 27,
1934             "\${" => 37
1935             },
1936             GOTOS => {
1937             'expr' => 238,
1938             'sterm' => 68,
1939             'item' => 39,
1940             'node' => 23,
1941             'ident' => 77,
1942             'term' => 58,
1943             'lterm' => 56
1944             }
1945             },
1946             {#State 161
1947             ACTIONS => {
1948             'NOT' => 38,
1949             "{" => 30,
1950             'LITERAL' => 78,
1951             'IDENT' => 2,
1952             "\"" => 60,
1953             "(" => 53,
1954             "\$" => 43,
1955             "[" => 9,
1956             'NUMBER' => 26,
1957             'REF' => 27,
1958             "\${" => 37
1959             },
1960             GOTOS => {
1961             'expr' => 239,
1962             'sterm' => 68,
1963             'item' => 39,
1964             'node' => 23,
1965             'ident' => 77,
1966             'term' => 58,
1967             'lterm' => 56
1968             }
1969             },
1970             {#State 162
1971             ACTIONS => {
1972             'NOT' => 38,
1973             "{" => 30,
1974             'LITERAL' => 78,
1975             'IDENT' => 2,
1976             "\"" => 60,
1977             "(" => 53,
1978             "\$" => 43,
1979             "[" => 9,
1980             'NUMBER' => 26,
1981             'REF' => 27,
1982             "\${" => 37
1983             },
1984             GOTOS => {
1985             'expr' => 240,
1986             'sterm' => 68,
1987             'item' => 39,
1988             'node' => 23,
1989             'ident' => 77,
1990             'term' => 58,
1991             'lterm' => 56
1992             }
1993             },
1994             {#State 163
1995             ACTIONS => {
1996             'NOT' => 38,
1997             "{" => 30,
1998             'LITERAL' => 78,
1999             'IDENT' => 2,
2000             "\"" => 60,
2001             "(" => 53,
2002             "\$" => 43,
2003             "[" => 9,
2004             'NUMBER' => 26,
2005             'REF' => 27,
2006             "\${" => 37
2007             },
2008             GOTOS => {
2009             'expr' => 241,
2010             'sterm' => 68,
2011             'item' => 39,
2012             'node' => 23,
2013             'ident' => 77,
2014             'term' => 58,
2015             'lterm' => 56
2016             }
2017             },
2018             {#State 164
2019             ACTIONS => {
2020             'NOT' => 38,
2021             "{" => 30,
2022             'LITERAL' => 78,
2023             'IDENT' => 2,
2024             "\"" => 60,
2025             "(" => 53,
2026             "\$" => 43,
2027             "[" => 9,
2028             'NUMBER' => 26,
2029             'REF' => 27,
2030             "\${" => 37
2031             },
2032             GOTOS => {
2033             'expr' => 242,
2034             'sterm' => 68,
2035             'item' => 39,
2036             'node' => 23,
2037             'ident' => 77,
2038             'term' => 58,
2039             'lterm' => 56
2040             }
2041             },
2042             {#State 165
2043             ACTIONS => {
2044             'NOT' => 38,
2045             "{" => 30,
2046             'LITERAL' => 78,
2047             'IDENT' => 2,
2048             "\"" => 60,
2049             "(" => 53,
2050             "\$" => 43,
2051             "[" => 9,
2052             'NUMBER' => 26,
2053             'REF' => 27,
2054             "\${" => 37
2055             },
2056             GOTOS => {
2057             'expr' => 243,
2058             'sterm' => 68,
2059             'item' => 39,
2060             'node' => 23,
2061             'ident' => 77,
2062             'term' => 58,
2063             'lterm' => 56
2064             }
2065             },
2066             {#State 166
2067             ACTIONS => {
2068             'NOT' => 38,
2069             "{" => 30,
2070             'LITERAL' => 78,
2071             'IDENT' => 2,
2072             "\"" => 60,
2073             "(" => 53,
2074             "\$" => 43,
2075             "[" => 9,
2076             'NUMBER' => 26,
2077             'REF' => 27,
2078             "\${" => 37
2079             },
2080             GOTOS => {
2081             'expr' => 244,
2082             'sterm' => 68,
2083             'item' => 39,
2084             'node' => 23,
2085             'ident' => 77,
2086             'term' => 58,
2087             'lterm' => 56
2088             }
2089             },
2090             {#State 167
2091             DEFAULT => -32
2092             },
2093             {#State 168
2094             ACTIONS => {
2095             'CMPOP' => 164,
2096             "?" => 158,
2097             ";" => 245,
2098             "+" => 157,
2099             'MOD' => 165,
2100             'DIV' => 159,
2101             "/" => 166,
2102             'AND' => 160,
2103             'CAT' => 163,
2104             'BINOP' => 161,
2105             'OR' => 162
2106             }
2107             },
2108             {#State 169
2109             ACTIONS => {
2110             'COMMA' => 171,
2111             'LITERAL' => 75,
2112             'IDENT' => 2,
2113             "\$" => 43,
2114             "\${" => 37
2115             },
2116             DEFAULT => -31,
2117             GOTOS => {
2118             'item' => 39,
2119             'assign' => 170,
2120             'node' => 23,
2121             'ident' => 74
2122             }
2123             },
2124             {#State 170
2125             DEFAULT => -147
2126             },
2127             {#State 171
2128             DEFAULT => -148
2129             },
2130             {#State 172
2131             ACTIONS => {
2132             'NOT' => 38,
2133             "{" => 30,
2134             'LITERAL' => 78,
2135             'IDENT' => 2,
2136             "\"" => 60,
2137             "(" => 53,
2138             "\$" => 43,
2139             "[" => 9,
2140             'NUMBER' => 26,
2141             'REF' => 27,
2142             "\${" => 37
2143             },
2144             GOTOS => {
2145             'expr' => 246,
2146             'sterm' => 68,
2147             'item' => 39,
2148             'node' => 23,
2149             'ident' => 77,
2150             'term' => 58,
2151             'lterm' => 56
2152             }
2153             },
2154             {#State 173
2155             ACTIONS => {
2156             'SET' => 1,
2157             'PERL' => 40,
2158             'NOT' => 38,
2159             'IDENT' => 2,
2160             'CLEAR' => 41,
2161             'UNLESS' => 3,
2162             'IF' => 44,
2163             "\$" => 43,
2164             'STOP' => 6,
2165             'CALL' => 45,
2166             'THROW' => 8,
2167             'GET' => 47,
2168             "[" => 9,
2169             'TRY' => 10,
2170             'LAST' => 49,
2171             'DEBUG' => 51,
2172             'RAWPERL' => 13,
2173             'META' => 15,
2174             'INCLUDE' => 17,
2175             "(" => 53,
2176             'SWITCH' => 54,
2177             'MACRO' => 18,
2178             'WRAPPER' => 55,
2179             ";" => -18,
2180             'FOR' => 21,
2181             'LITERAL' => 57,
2182             'NEXT' => 22,
2183             "\"" => 60,
2184             'TEXT' => 24,
2185             'PROCESS' => 61,
2186             'RETURN' => 64,
2187             'FILTER' => 25,
2188             'INSERT' => 65,
2189             'NUMBER' => 26,
2190             'REF' => 27,
2191             'WHILE' => 67,
2192             'BLOCK' => 28,
2193             'DEFAULT' => 69,
2194             "{" => 30,
2195             'USE' => 32,
2196             'VIEW' => 36,
2197             "\${" => 37
2198             },
2199             DEFAULT => -3,
2200             GOTOS => {
2201             'item' => 39,
2202             'node' => 23,
2203             'rawperl' => 59,
2204             'term' => 58,
2205             'loop' => 4,
2206             'use' => 63,
2207             'expr' => 62,
2208             'capture' => 42,
2209             'statement' => 5,
2210             'view' => 7,
2211             'wrapper' => 46,
2212             'atomexpr' => 48,
2213             'chunk' => 11,
2214             'defblock' => 66,
2215             'atomdir' => 12,
2216             'anonblock' => 50,
2217             'sterm' => 68,
2218             'defblockname' => 14,
2219             'filter' => 29,
2220             'ident' => 16,
2221             'perl' => 31,
2222             'setlist' => 70,
2223             'chunks' => 33,
2224             'try' => 35,
2225             'switch' => 34,
2226             'assign' => 19,
2227             'block' => 247,
2228             'directive' => 71,
2229             'macro' => 20,
2230             'condition' => 73,
2231             'lterm' => 56
2232             }
2233             },
2234             {#State 174
2235             ACTIONS => {
2236             'FILENAME' => 83,
2237             'IDENT' => 81,
2238             'NUMBER' => 84
2239             },
2240             GOTOS => {
2241             'filepart' => 248
2242             }
2243             },
2244             {#State 175
2245             ACTIONS => {
2246             'DOT' => 104
2247             },
2248             DEFAULT => -156,
2249             GOTOS => {
2250             'args' => 249
2251             }
2252             },
2253             {#State 176
2254             ACTIONS => {
2255             "\"" => 250,
2256             'TEXT' => 231,
2257             ";" => 233,
2258             "\$" => 43,
2259             'IDENT' => 2,
2260             "\${" => 37
2261             },
2262             GOTOS => {
2263             'item' => 39,
2264             'node' => 23,
2265             'ident' => 230,
2266             'quotable' => 232
2267             }
2268             },
2269             {#State 177
2270             ACTIONS => {
2271             "\"" => 89,
2272             'LITERAL' => 88,
2273             'FILENAME' => 83,
2274             'IDENT' => 81,
2275             'NUMBER' => 84
2276             },
2277             GOTOS => {
2278             'filepart' => 87,
2279             'filename' => 85,
2280             'name' => 251
2281             }
2282             },
2283             {#State 178
2284             DEFAULT => -156,
2285             GOTOS => {
2286             'args' => 252
2287             }
2288             },
2289             {#State 179
2290             ACTIONS => {
2291             'NOT' => 38,
2292             'LITERAL' => 256,
2293             'IDENT' => 2,
2294             "\"" => 60,
2295             "\$" => 43,
2296             "[" => 9,
2297             'NUMBER' => 26,
2298             'REF' => 27,
2299             "{" => 30,
2300             'COMMA' => 258,
2301             "(" => 53,
2302             "\${" => 37
2303             },
2304             DEFAULT => -163,
2305             GOTOS => {
2306             'sterm' => 68,
2307             'item' => 254,
2308             'node' => 23,
2309             'ident' => 253,
2310             'term' => 58,
2311             'expr' => 257,
2312             'param' => 255,
2313             'lterm' => 56
2314             }
2315             },
2316             {#State 180
2317             DEFAULT => -105
2318             },
2319             {#State 181
2320             DEFAULT => -114
2321             },
2322             {#State 182
2323             DEFAULT => -115
2324             },
2325             {#State 183
2326             DEFAULT => -106
2327             },
2328             {#State 184
2329             ACTIONS => {
2330             "\"" => 60,
2331             "\$" => 43,
2332             'LITERAL' => 78,
2333             'IDENT' => 2,
2334             'REF' => 27,
2335             'NUMBER' => 26,
2336             "\${" => 37
2337             },
2338             GOTOS => {
2339             'sterm' => 259,
2340             'item' => 39,
2341             'node' => 23,
2342             'ident' => 77
2343             }
2344             },
2345             {#State 185
2346             ACTIONS => {
2347             'FINAL' => 260,
2348             'CATCH' => 262
2349             },
2350             DEFAULT => -72,
2351             GOTOS => {
2352             'final' => 261
2353             }
2354             },
2355             {#State 186
2356             ACTIONS => {
2357             'TEXT' => 263
2358             }
2359             },
2360             {#State 187
2361             ACTIONS => {
2362             "\"" => 266,
2363             'LITERAL' => 265,
2364             'NUMBER' => 264
2365             }
2366             },
2367             {#State 188
2368             DEFAULT => -97
2369             },
2370             {#State 189
2371             DEFAULT => -98
2372             },
2373             {#State 190
2374             ACTIONS => {
2375             'SET' => 1,
2376             'PERL' => 40,
2377             'NOT' => 38,
2378             'IDENT' => 2,
2379             'CLEAR' => 41,
2380             'UNLESS' => 3,
2381             'IF' => 44,
2382             "\$" => 43,
2383             'STOP' => 6,
2384             'CALL' => 45,
2385             'THROW' => 8,
2386             'GET' => 47,
2387             "[" => 9,
2388             'TRY' => 10,
2389             'LAST' => 49,
2390             'DEBUG' => 51,
2391             'RAWPERL' => 13,
2392             'META' => 15,
2393             'INCLUDE' => 17,
2394             "(" => 53,
2395             'SWITCH' => 54,
2396             'MACRO' => 18,
2397             'WRAPPER' => 55,
2398             ";" => -18,
2399             'FOR' => 21,
2400             'LITERAL' => 57,
2401             'NEXT' => 22,
2402             "\"" => 60,
2403             'TEXT' => 24,
2404             'PROCESS' => 61,
2405             'RETURN' => 64,
2406             'FILTER' => 25,
2407             'INSERT' => 65,
2408             'NUMBER' => 26,
2409             'REF' => 27,
2410             'WHILE' => 67,
2411             'BLOCK' => 28,
2412             'DEFAULT' => 69,
2413             "{" => 30,
2414             'USE' => 32,
2415             'VIEW' => 36,
2416             "\${" => 37
2417             },
2418             DEFAULT => -3,
2419             GOTOS => {
2420             'item' => 39,
2421             'loop' => 4,
2422             'capture' => 42,
2423             'statement' => 5,
2424             'view' => 7,
2425             'wrapper' => 46,
2426             'atomexpr' => 48,
2427             'chunk' => 11,
2428             'atomdir' => 12,
2429             'anonblock' => 50,
2430             'template' => 267,
2431             'defblockname' => 14,
2432             'ident' => 16,
2433             'assign' => 19,
2434             'macro' => 20,
2435             'lterm' => 56,
2436             'node' => 23,
2437             'term' => 58,
2438             'rawperl' => 59,
2439             'expr' => 62,
2440             'use' => 63,
2441             'defblock' => 66,
2442             'filter' => 29,
2443             'sterm' => 68,
2444             'perl' => 31,
2445             'chunks' => 33,
2446             'setlist' => 70,
2447             'switch' => 34,
2448             'try' => 35,
2449             'directive' => 71,
2450             'block' => 72,
2451             'condition' => 73
2452             }
2453             },
2454             {#State 191
2455             DEFAULT => -125
2456             },
2457             {#State 192
2458             DEFAULT => -126
2459             },
2460             {#State 193
2461             ACTIONS => {
2462             ";" => 268
2463             }
2464             },
2465             {#State 194
2466             DEFAULT => -89
2467             },
2468             {#State 195
2469             ACTIONS => {
2470             ";" => -150,
2471             "+" => 157,
2472             'LITERAL' => -150,
2473             'IDENT' => -150,
2474             'CAT' => 163,
2475             "\$" => -150,
2476             'CMPOP' => 164,
2477             "?" => 158,
2478             'DIV' => 159,
2479             'MOD' => 165,
2480             'COMMA' => -150,
2481             "/" => 166,
2482             'AND' => 160,
2483             'BINOP' => 161,
2484             'OR' => 162,
2485             "\${" => -150
2486             },
2487             DEFAULT => -26
2488             },
2489             {#State 196
2490             DEFAULT => -92
2491             },
2492             {#State 197
2493             DEFAULT => -91
2494             },
2495             {#State 198
2496             ACTIONS => {
2497             'NOT' => 38,
2498             "{" => 30,
2499             'LITERAL' => 57,
2500             'IDENT' => 269,
2501             "\"" => 60,
2502             "(" => 53,
2503             "\$" => 43,
2504             "[" => 9,
2505             'NUMBER' => 26,
2506             'REF' => 27,
2507             "\${" => 37
2508             },
2509             GOTOS => {
2510             'sterm' => 68,
2511             'item' => 39,
2512             'margs' => 270,
2513             'node' => 23,
2514             'ident' => 149,
2515             'term' => 58,
2516             'expr' => 151,
2517             'assign' => 150,
2518             'lterm' => 56
2519             }
2520             },
2521             {#State 199
2522             ACTIONS => {
2523             "+" => 157,
2524             'CAT' => 163,
2525             'CMPOP' => 164,
2526             "?" => 158,
2527             'DIV' => 159,
2528             'MOD' => 165,
2529             "/" => 166,
2530             'AND' => 160,
2531             'BINOP' => 161,
2532             'OR' => 162
2533             },
2534             DEFAULT => -26
2535             },
2536             {#State 200
2537             ACTIONS => {
2538             "{" => 30,
2539             'LITERAL' => 78,
2540             'IDENT' => 2,
2541             "\"" => 60,
2542             "\$" => 43,
2543             "[" => 9,
2544             'NUMBER' => 26,
2545             'REF' => 27,
2546             "\${" => 37
2547             },
2548             GOTOS => {
2549             'sterm' => 68,
2550             'item' => 39,
2551             'node' => 23,
2552             'ident' => 77,
2553             'term' => 271,
2554             'lterm' => 56
2555             }
2556             },
2557             {#State 201
2558             ACTIONS => {
2559             "{" => 30,
2560             'LITERAL' => 78,
2561             'IDENT' => 2,
2562             "\"" => 60,
2563             "\$" => 43,
2564             "[" => 9,
2565             'NUMBER' => 26,
2566             'REF' => 27,
2567             "\${" => 37
2568             },
2569             GOTOS => {
2570             'sterm' => 68,
2571             'item' => 39,
2572             'node' => 23,
2573             'ident' => 77,
2574             'term' => 272,
2575             'lterm' => 56
2576             }
2577             },
2578             {#State 202
2579             ACTIONS => {
2580             'NOT' => 38,
2581             "{" => 30,
2582             'COMMA' => 258,
2583             'LITERAL' => 256,
2584             'IDENT' => 2,
2585             "\"" => 60,
2586             "(" => 53,
2587             "\$" => 43,
2588             "[" => 9,
2589             'NUMBER' => 26,
2590             'REF' => 27,
2591             "\${" => 37
2592             },
2593             DEFAULT => -64,
2594             GOTOS => {
2595             'sterm' => 68,
2596             'item' => 254,
2597             'node' => 23,
2598             'ident' => 253,
2599             'term' => 58,
2600             'expr' => 257,
2601             'param' => 255,
2602             'lterm' => 56
2603             }
2604             },
2605             {#State 203
2606             DEFAULT => -56,
2607             GOTOS => {
2608             '@1-3' => 273
2609             }
2610             },
2611             {#State 204
2612             ACTIONS => {
2613             "\"" => 89,
2614             "\$" => 86,
2615             'LITERAL' => 88,
2616             'FILENAME' => 83,
2617             'IDENT' => 81,
2618             'NUMBER' => 84
2619             },
2620             GOTOS => {
2621             'filepart' => 87,
2622             'names' => 91,
2623             'nameargs' => 274,
2624             'filename' => 85,
2625             'name' => 82
2626             }
2627             },
2628             {#State 205
2629             ACTIONS => {
2630             'ASSIGN' => -132
2631             },
2632             DEFAULT => -130
2633             },
2634             {#State 206
2635             ACTIONS => {
2636             'SET' => 1,
2637             'PERL' => 40,
2638             'NOT' => 38,
2639             'IDENT' => 2,
2640             'CLEAR' => 41,
2641             'UNLESS' => 3,
2642             'IF' => 44,
2643             "\$" => 43,
2644             'STOP' => 6,
2645             'CALL' => 45,
2646             'THROW' => 8,
2647             'GET' => 47,
2648             "[" => 9,
2649             'TRY' => 10,
2650             'LAST' => 49,
2651             'DEBUG' => 51,
2652             'RAWPERL' => 13,
2653             'META' => 15,
2654             'INCLUDE' => 17,
2655             "(" => 53,
2656             'SWITCH' => 54,
2657             'MACRO' => 18,
2658             'WRAPPER' => 55,
2659             ";" => -18,
2660             'FOR' => 21,
2661             'LITERAL' => 57,
2662             'NEXT' => 22,
2663             "\"" => 60,
2664             'TEXT' => 24,
2665             'PROCESS' => 61,
2666             'RETURN' => 64,
2667             'FILTER' => 25,
2668             'INSERT' => 65,
2669             'NUMBER' => 26,
2670             'REF' => 27,
2671             'WHILE' => 67,
2672             'BLOCK' => 28,
2673             'DEFAULT' => 69,
2674             "{" => 30,
2675             'USE' => 32,
2676             'VIEW' => 36,
2677             "\${" => 37
2678             },
2679             DEFAULT => -3,
2680             GOTOS => {
2681             'item' => 39,
2682             'node' => 23,
2683             'rawperl' => 59,
2684             'term' => 58,
2685             'loop' => 4,
2686             'use' => 63,
2687             'expr' => 62,
2688             'capture' => 42,
2689             'statement' => 5,
2690             'view' => 7,
2691             'wrapper' => 46,
2692             'atomexpr' => 48,
2693             'chunk' => 11,
2694             'defblock' => 66,
2695             'atomdir' => 12,
2696             'anonblock' => 50,
2697             'sterm' => 68,
2698             'defblockname' => 14,
2699             'filter' => 29,
2700             'ident' => 16,
2701             'perl' => 31,
2702             'setlist' => 70,
2703             'chunks' => 33,
2704             'try' => 35,
2705             'switch' => 34,
2706             'assign' => 19,
2707             'block' => 275,
2708             'directive' => 71,
2709             'macro' => 20,
2710             'condition' => 73,
2711             'lterm' => 56
2712             }
2713             },
2714             {#State 207
2715             ACTIONS => {
2716             "\"" => 276,
2717             'TEXT' => 231,
2718             ";" => 233,
2719             "\$" => 43,
2720             'IDENT' => 2,
2721             "\${" => 37
2722             },
2723             GOTOS => {
2724             'item' => 39,
2725             'node' => 23,
2726             'ident' => 230,
2727             'quotable' => 232
2728             }
2729             },
2730             {#State 208
2731             ACTIONS => {
2732             'SET' => 1,
2733             'PERL' => 40,
2734             'NOT' => 38,
2735             'IDENT' => 2,
2736             'CLEAR' => 41,
2737             'UNLESS' => 3,
2738             'IF' => 44,
2739             "\$" => 43,
2740             'STOP' => 6,
2741             'CALL' => 45,
2742             'THROW' => 8,
2743             'GET' => 47,
2744             "[" => 9,
2745             'TRY' => 10,
2746             'LAST' => 49,
2747             'DEBUG' => 51,
2748             'RAWPERL' => 13,
2749             'META' => 15,
2750             'INCLUDE' => 17,
2751             "(" => 53,
2752             'SWITCH' => 54,
2753             'MACRO' => 18,
2754             'WRAPPER' => 55,
2755             ";" => -18,
2756             'FOR' => 21,
2757             'LITERAL' => 57,
2758             'NEXT' => 22,
2759             "\"" => 60,
2760             'TEXT' => 24,
2761             'PROCESS' => 61,
2762             'RETURN' => 64,
2763             'FILTER' => 25,
2764             'INSERT' => 65,
2765             'NUMBER' => 26,
2766             'REF' => 27,
2767             'WHILE' => 67,
2768             'BLOCK' => 28,
2769             'DEFAULT' => 69,
2770             "{" => 30,
2771             'USE' => 32,
2772             'VIEW' => 36,
2773             "\${" => 37
2774             },
2775             DEFAULT => -3,
2776             GOTOS => {
2777             'item' => 39,
2778             'node' => 23,
2779             'rawperl' => 59,
2780             'term' => 58,
2781             'loop' => 4,
2782             'use' => 63,
2783             'expr' => 62,
2784             'capture' => 42,
2785             'statement' => 5,
2786             'view' => 7,
2787             'wrapper' => 46,
2788             'atomexpr' => 48,
2789             'chunk' => 11,
2790             'defblock' => 66,
2791             'atomdir' => 12,
2792             'anonblock' => 50,
2793             'sterm' => 68,
2794             'defblockname' => 14,
2795             'filter' => 29,
2796             'ident' => 16,
2797             'perl' => 31,
2798             'setlist' => 70,
2799             'chunks' => 33,
2800             'try' => 35,
2801             'switch' => 34,
2802             'assign' => 19,
2803             'block' => 277,
2804             'directive' => 71,
2805             'macro' => 20,
2806             'condition' => 73,
2807             'lterm' => 56
2808             }
2809             },
2810             {#State 209
2811             DEFAULT => -108
2812             },
2813             {#State 210
2814             ACTIONS => {
2815             'NOT' => 38,
2816             "{" => 30,
2817             'LITERAL' => 78,
2818             'IDENT' => 2,
2819             "\"" => 60,
2820             "(" => 53,
2821             "\$" => 43,
2822             "[" => 9,
2823             'NUMBER' => 26,
2824             'REF' => 27,
2825             "\${" => 37
2826             },
2827             GOTOS => {
2828             'expr' => 278,
2829             'sterm' => 68,
2830             'item' => 39,
2831             'node' => 23,
2832             'ident' => 77,
2833             'term' => 58,
2834             'lterm' => 56
2835             }
2836             },
2837             {#State 211
2838             DEFAULT => -120
2839             },
2840             {#State 212
2841             DEFAULT => -121
2842             },
2843             {#State 213
2844             ACTIONS => {
2845             'NOT' => 38,
2846             "{" => 30,
2847             'LITERAL' => 78,
2848             'IDENT' => 2,
2849             "\"" => 60,
2850             "(" => 53,
2851             "\$" => 43,
2852             "[" => 9,
2853             'NUMBER' => 26,
2854             'REF' => 27,
2855             "\${" => 37
2856             },
2857             GOTOS => {
2858             'expr' => 279,
2859             'sterm' => 68,
2860             'item' => 39,
2861             'node' => 23,
2862             'ident' => 77,
2863             'term' => 58,
2864             'lterm' => 56
2865             }
2866             },
2867             {#State 214
2868             DEFAULT => -74,
2869             GOTOS => {
2870             '@3-3' => 280
2871             }
2872             },
2873             {#State 215
2874             DEFAULT => -131
2875             },
2876             {#State 216
2877             ACTIONS => {
2878             'NOT' => 38,
2879             "{" => 30,
2880             'COMMA' => 258,
2881             'LITERAL' => 256,
2882             'IDENT' => 2,
2883             "\"" => 60,
2884             "(" => 53,
2885             "\$" => 43,
2886             "[" => 9,
2887             'NUMBER' => 26,
2888             'REF' => 27,
2889             ")" => 281,
2890             "\${" => 37
2891             },
2892             GOTOS => {
2893             'sterm' => 68,
2894             'item' => 254,
2895             'node' => 23,
2896             'ident' => 253,
2897             'term' => 58,
2898             'expr' => 257,
2899             'param' => 255,
2900             'lterm' => 56
2901             }
2902             },
2903             {#State 217
2904             ACTIONS => {
2905             'SET' => 1,
2906             'PERL' => 40,
2907             'NOT' => 38,
2908             'IDENT' => 2,
2909             'CLEAR' => 41,
2910             'UNLESS' => 3,
2911             'IF' => 44,
2912             "\$" => 43,
2913             'STOP' => 6,
2914             'CALL' => 45,
2915             'THROW' => 8,
2916             'GET' => 47,
2917             "[" => 9,
2918             'TRY' => 10,
2919             'LAST' => 49,
2920             'DEBUG' => 51,
2921             'RAWPERL' => 13,
2922             'META' => 15,
2923             'INCLUDE' => 17,
2924             "(" => 53,
2925             'SWITCH' => 54,
2926             'MACRO' => 18,
2927             'WRAPPER' => 55,
2928             ";" => -18,
2929             'FOR' => 21,
2930             'LITERAL' => 57,
2931             'NEXT' => 22,
2932             "\"" => 60,
2933             'TEXT' => 24,
2934             'PROCESS' => 61,
2935             'RETURN' => 64,
2936             'FILTER' => 25,
2937             'INSERT' => 65,
2938             'NUMBER' => 26,
2939             'REF' => 27,
2940             'WHILE' => 67,
2941             'BLOCK' => 28,
2942             'DEFAULT' => 69,
2943             "{" => 30,
2944             'USE' => 32,
2945             'VIEW' => 36,
2946             "\${" => 37
2947             },
2948             DEFAULT => -3,
2949             GOTOS => {
2950             'item' => 39,
2951             'node' => 23,
2952             'rawperl' => 59,
2953             'term' => 58,
2954             'loop' => 4,
2955             'use' => 63,
2956             'expr' => 62,
2957             'capture' => 42,
2958             'statement' => 5,
2959             'view' => 7,
2960             'wrapper' => 46,
2961             'atomexpr' => 48,
2962             'chunk' => 11,
2963             'defblock' => 66,
2964             'atomdir' => 12,
2965             'anonblock' => 50,
2966             'sterm' => 68,
2967             'defblockname' => 14,
2968             'filter' => 29,
2969             'ident' => 16,
2970             'perl' => 31,
2971             'setlist' => 70,
2972             'chunks' => 33,
2973             'try' => 35,
2974             'switch' => 34,
2975             'assign' => 19,
2976             'block' => 282,
2977             'directive' => 71,
2978             'macro' => 20,
2979             'condition' => 73,
2980             'lterm' => 56
2981             }
2982             },
2983             {#State 218
2984             ACTIONS => {
2985             'SET' => 1,
2986             'PERL' => 40,
2987             'NOT' => 38,
2988             'IDENT' => 2,
2989             'CLEAR' => 41,
2990             'UNLESS' => 3,
2991             'IF' => 44,
2992             "\$" => 43,
2993             'STOP' => 6,
2994             'CALL' => 45,
2995             'THROW' => 8,
2996             'GET' => 47,
2997             "[" => 9,
2998             'TRY' => 10,
2999             'LAST' => 49,
3000             'DEBUG' => 51,
3001             'RAWPERL' => 13,
3002             'META' => 15,
3003             'INCLUDE' => 17,
3004             "(" => 53,
3005             'SWITCH' => 54,
3006             'MACRO' => 18,
3007             'WRAPPER' => 55,
3008             ";" => -18,
3009             'FOR' => 21,
3010             'LITERAL' => 57,
3011             'NEXT' => 22,
3012             "\"" => 60,
3013             'TEXT' => 24,
3014             'PROCESS' => 61,
3015             'RETURN' => 64,
3016             'FILTER' => 25,
3017             'INSERT' => 65,
3018             'NUMBER' => 26,
3019             'REF' => 27,
3020             'WHILE' => 67,
3021             'BLOCK' => 28,
3022             'DEFAULT' => 69,
3023             "{" => 30,
3024             'USE' => 32,
3025             'VIEW' => 36,
3026             "\${" => 37
3027             },
3028             DEFAULT => -3,
3029             GOTOS => {
3030             'item' => 39,
3031             'node' => 23,
3032             'rawperl' => 59,
3033             'term' => 58,
3034             'loop' => 4,
3035             'use' => 63,
3036             'expr' => 62,
3037             'capture' => 42,
3038             'statement' => 5,
3039             'view' => 7,
3040             'wrapper' => 46,
3041             'atomexpr' => 48,
3042             'chunk' => 11,
3043             'defblock' => 66,
3044             'atomdir' => 12,
3045             'anonblock' => 50,
3046             'sterm' => 68,
3047             'defblockname' => 14,
3048             'filter' => 29,
3049             'ident' => 16,
3050             'perl' => 31,
3051             'setlist' => 70,
3052             'chunks' => 33,
3053             'try' => 35,
3054             'switch' => 34,
3055             'assign' => 19,
3056             'block' => 283,
3057             'directive' => 71,
3058             'macro' => 20,
3059             'condition' => 73,
3060             'lterm' => 56
3061             }
3062             },
3063             {#State 219
3064             ACTIONS => {
3065             'CMPOP' => 164,
3066             "?" => 158,
3067             "+" => 157,
3068             'MOD' => 165,
3069             'DIV' => 159,
3070             "/" => 166,
3071             'AND' => 160,
3072             'CAT' => 163,
3073             'BINOP' => 161,
3074             'OR' => 162
3075             },
3076             DEFAULT => -47
3077             },
3078             {#State 220
3079             DEFAULT => -58
3080             },
3081             {#State 221
3082             DEFAULT => -81
3083             },
3084             {#State 222
3085             ACTIONS => {
3086             'CMPOP' => 164,
3087             "?" => 158,
3088             "+" => 157,
3089             'MOD' => 165,
3090             'DIV' => 159,
3091             "/" => 166,
3092             'AND' => 160,
3093             'CAT' => 163,
3094             'BINOP' => 161,
3095             'OR' => 162
3096             },
3097             DEFAULT => -45
3098             },
3099             {#State 223
3100             DEFAULT => -66
3101             },
3102             {#State 224
3103             ACTIONS => {
3104             'CMPOP' => 164,
3105             "?" => 158,
3106             "+" => 157,
3107             'MOD' => 165,
3108             'DIV' => 159,
3109             "/" => 166,
3110             'AND' => 160,
3111             'CAT' => 163,
3112             'BINOP' => 161,
3113             'OR' => 162
3114             },
3115             DEFAULT => -61
3116             },
3117             {#State 225
3118             DEFAULT => -144
3119             },
3120             {#State 226
3121             DEFAULT => -145
3122             },
3123             {#State 227
3124             ACTIONS => {
3125             'SET' => 1,
3126             'PERL' => 40,
3127             'NOT' => 38,
3128             'IDENT' => 2,
3129             'CLEAR' => 41,
3130             'UNLESS' => 3,
3131             'IF' => 44,
3132             "\$" => 43,
3133             'STOP' => 6,
3134             'CALL' => 45,
3135             'THROW' => 8,
3136             'GET' => 47,
3137             "[" => 9,
3138             'TRY' => 10,
3139             'LAST' => 49,
3140             'DEBUG' => 51,
3141             'RAWPERL' => 13,
3142             'META' => 15,
3143             'INCLUDE' => 17,
3144             "(" => 53,
3145             'SWITCH' => 54,
3146             'MACRO' => 18,
3147             'WRAPPER' => 55,
3148             ";" => -18,
3149             'FOR' => 21,
3150             'LITERAL' => 57,
3151             'NEXT' => 22,
3152             "\"" => 60,
3153             'TEXT' => 24,
3154             'PROCESS' => 61,
3155             'RETURN' => 64,
3156             'FILTER' => 25,
3157             'INSERT' => 65,
3158             'NUMBER' => 26,
3159             'REF' => 27,
3160             'WHILE' => 67,
3161             'BLOCK' => 28,
3162             'DEFAULT' => 69,
3163             "{" => 30,
3164             'USE' => 32,
3165             'VIEW' => 36,
3166             "\${" => 37
3167             },
3168             DEFAULT => -3,
3169             GOTOS => {
3170             'item' => 39,
3171             'node' => 23,
3172             'rawperl' => 59,
3173             'term' => 58,
3174             'loop' => 4,
3175             'use' => 63,
3176             'expr' => 62,
3177             'capture' => 42,
3178             'statement' => 5,
3179             'view' => 7,
3180             'wrapper' => 46,
3181             'atomexpr' => 48,
3182             'chunk' => 11,
3183             'defblock' => 66,
3184             'atomdir' => 12,
3185             'anonblock' => 50,
3186             'sterm' => 68,
3187             'defblockname' => 14,
3188             'filter' => 29,
3189             'ident' => 16,
3190             'perl' => 31,
3191             'setlist' => 70,
3192             'chunks' => 33,
3193             'try' => 35,
3194             'switch' => 34,
3195             'assign' => 19,
3196             'block' => 284,
3197             'directive' => 71,
3198             'macro' => 20,
3199             'condition' => 73,
3200             'lterm' => 56
3201             }
3202             },
3203             {#State 228
3204             ACTIONS => {
3205             'SET' => 1,
3206             'PERL' => 40,
3207             'NOT' => 38,
3208             'IDENT' => 2,
3209             'CLEAR' => 41,
3210             'UNLESS' => 3,
3211             'IF' => 44,
3212             "\$" => 43,
3213             'STOP' => 6,
3214             'CALL' => 45,
3215             'THROW' => 8,
3216             'GET' => 47,
3217             "[" => 9,
3218             'TRY' => 10,
3219             'LAST' => 49,
3220             'DEBUG' => 51,
3221             'RAWPERL' => 13,
3222             'META' => 15,
3223             'INCLUDE' => 17,
3224             "(" => 53,
3225             'SWITCH' => 54,
3226             'MACRO' => 18,
3227             'WRAPPER' => 55,
3228             ";" => -18,
3229             'FOR' => 21,
3230             'LITERAL' => 57,
3231             'NEXT' => 22,
3232             "\"" => 60,
3233             'TEXT' => 24,
3234             'PROCESS' => 61,
3235             'RETURN' => 64,
3236             'FILTER' => 25,
3237             'INSERT' => 65,
3238             'NUMBER' => 26,
3239             'REF' => 27,
3240             'WHILE' => 67,
3241             'BLOCK' => 28,
3242             'DEFAULT' => 69,
3243             "{" => 30,
3244             'USE' => 32,
3245             'VIEW' => 36,
3246             "\${" => 37
3247             },
3248             DEFAULT => -3,
3249             GOTOS => {
3250             'item' => 39,
3251             'node' => 23,
3252             'rawperl' => 59,
3253             'term' => 58,
3254             'loop' => 4,
3255             'use' => 63,
3256             'expr' => 62,
3257             'capture' => 42,
3258             'statement' => 5,
3259             'view' => 7,
3260             'wrapper' => 46,
3261             'atomexpr' => 48,
3262             'chunk' => 11,
3263             'defblock' => 66,
3264             'atomdir' => 12,
3265             'anonblock' => 50,
3266             'sterm' => 68,
3267             'defblockname' => 14,
3268             'filter' => 29,
3269             'ident' => 16,
3270             'perl' => 31,
3271             'setlist' => 70,
3272             'chunks' => 33,
3273             'try' => 35,
3274             'switch' => 34,
3275             'assign' => 19,
3276             'block' => 285,
3277             'directive' => 71,
3278             'macro' => 20,
3279             'condition' => 73,
3280             'lterm' => 56
3281             }
3282             },
3283             {#State 229
3284             ACTIONS => {
3285             "+" => 157,
3286             'CAT' => 163,
3287             'CMPOP' => 164,
3288             "?" => 158,
3289             'DIV' => 159,
3290             'MOD' => 165,
3291             "/" => 166,
3292             'AND' => 160,
3293             'BINOP' => 161,
3294             'OR' => 162
3295             },
3296             DEFAULT => -151
3297             },
3298             {#State 230
3299             ACTIONS => {
3300             'DOT' => 104
3301             },
3302             DEFAULT => -177
3303             },
3304             {#State 231
3305             DEFAULT => -178
3306             },
3307             {#State 232
3308             DEFAULT => -175
3309             },
3310             {#State 233
3311             DEFAULT => -179
3312             },
3313             {#State 234
3314             DEFAULT => -111
3315             },
3316             {#State 235
3317             ACTIONS => {
3318             'DIV' => 159,
3319             'MOD' => 165,
3320             "/" => 166
3321             },
3322             DEFAULT => -135
3323             },
3324             {#State 236
3325             ACTIONS => {
3326             ":" => 286,
3327             'CMPOP' => 164,
3328             "?" => 158,
3329             "+" => 157,
3330             'MOD' => 165,
3331             'DIV' => 159,
3332             "/" => 166,
3333             'AND' => 160,
3334             'CAT' => 163,
3335             'BINOP' => 161,
3336             'OR' => 162
3337             }
3338             },
3339             {#State 237
3340             ACTIONS => {
3341             'MOD' => 165
3342             },
3343             DEFAULT => -136
3344             },
3345             {#State 238
3346             ACTIONS => {
3347             'DIV' => 159,
3348             'BINOP' => 161,
3349             "+" => 157,
3350             'CAT' => 163,
3351             'CMPOP' => 164,
3352             'MOD' => 165,
3353             "/" => 166
3354             },
3355             DEFAULT => -140
3356             },
3357             {#State 239
3358             ACTIONS => {
3359             'DIV' => 159,
3360             "+" => 157,
3361             'MOD' => 165,
3362             "/" => 166
3363             },
3364             DEFAULT => -133
3365             },
3366             {#State 240
3367             ACTIONS => {
3368             'DIV' => 159,
3369             'BINOP' => 161,
3370             "+" => 157,
3371             'CAT' => 163,
3372             'CMPOP' => 164,
3373             'MOD' => 165,
3374             "/" => 166
3375             },
3376             DEFAULT => -141
3377             },
3378             {#State 241
3379             ACTIONS => {
3380             'DIV' => 159,
3381             'BINOP' => 161,
3382             "+" => 157,
3383             'CMPOP' => 164,
3384             'MOD' => 165,
3385             "/" => 166
3386             },
3387             DEFAULT => -139
3388             },
3389             {#State 242
3390             ACTIONS => {
3391             'DIV' => 159,
3392             'BINOP' => 161,
3393             "+" => 157,
3394             'MOD' => 165,
3395             "/" => 166
3396             },
3397             DEFAULT => -138
3398             },
3399             {#State 243
3400             DEFAULT => -137
3401             },
3402             {#State 244
3403             ACTIONS => {
3404             'DIV' => 159,
3405             'MOD' => 165
3406             },
3407             DEFAULT => -134
3408             },
3409             {#State 245
3410             DEFAULT => -59,
3411             GOTOS => {
3412             '@2-3' => 287
3413             }
3414             },
3415             {#State 246
3416             ACTIONS => {
3417             "+" => 157,
3418             'CAT' => 163,
3419             'CMPOP' => 164,
3420             "?" => 158,
3421             'DIV' => 159,
3422             'MOD' => 165,
3423             "/" => 166,
3424             'AND' => 160,
3425             'BINOP' => 161,
3426             'OR' => 162
3427             },
3428             DEFAULT => -150
3429             },
3430             {#State 247
3431             ACTIONS => {
3432             'ELSIF' => 290,
3433             'ELSE' => 288
3434             },
3435             DEFAULT => -50,
3436             GOTOS => {
3437             'else' => 289
3438             }
3439             },
3440             {#State 248
3441             DEFAULT => -170
3442             },
3443             {#State 249
3444             ACTIONS => {
3445             'NOT' => 38,
3446             'LITERAL' => 256,
3447             'IDENT' => 2,
3448             "\"" => 60,
3449             "\$" => 43,
3450             "[" => 9,
3451             'NUMBER' => 26,
3452             'REF' => 27,
3453             "{" => 30,
3454             'COMMA' => 258,
3455             "(" => 53,
3456             "\${" => 37
3457             },
3458             DEFAULT => -162,
3459             GOTOS => {
3460             'sterm' => 68,
3461             'item' => 254,
3462             'node' => 23,
3463             'ident' => 253,
3464             'term' => 58,
3465             'expr' => 257,
3466             'param' => 255,
3467             'lterm' => 56
3468             }
3469             },
3470             {#State 250
3471             DEFAULT => -167
3472             },
3473             {#State 251
3474             DEFAULT => -165
3475             },
3476             {#State 252
3477             ACTIONS => {
3478             'NOT' => 38,
3479             "{" => 30,
3480             'COMMA' => 258,
3481             'LITERAL' => 256,
3482             'IDENT' => 2,
3483             "\"" => 60,
3484             "(" => 53,
3485             "\$" => 43,
3486             "[" => 9,
3487             'NUMBER' => 26,
3488             'REF' => 27,
3489             ")" => 291,
3490             "\${" => 37
3491             },
3492             GOTOS => {
3493             'sterm' => 68,
3494             'item' => 254,
3495             'node' => 23,
3496             'ident' => 253,
3497             'term' => 58,
3498             'expr' => 257,
3499             'param' => 255,
3500             'lterm' => 56
3501             }
3502             },
3503             {#State 253
3504             ACTIONS => {
3505             'DOT' => 104,
3506             'ASSIGN' => 292
3507             },
3508             DEFAULT => -109
3509             },
3510             {#State 254
3511             ACTIONS => {
3512             "(" => 135,
3513             'ASSIGN' => 210
3514             },
3515             DEFAULT => -128
3516             },
3517             {#State 255
3518             DEFAULT => -153
3519             },
3520             {#State 256
3521             ACTIONS => {
3522             'ASSIGN' => 213
3523             },
3524             DEFAULT => -112
3525             },
3526             {#State 257
3527             ACTIONS => {
3528             "+" => 157,
3529             'CAT' => 163,
3530             'CMPOP' => 164,
3531             "?" => 158,
3532             'DIV' => 159,
3533             'MOD' => 165,
3534             "/" => 166,
3535             'AND' => 160,
3536             'BINOP' => 161,
3537             'OR' => 162
3538             },
3539             DEFAULT => -152
3540             },
3541             {#State 258
3542             DEFAULT => -155
3543             },
3544             {#State 259
3545             DEFAULT => -117
3546             },
3547             {#State 260
3548             ACTIONS => {
3549             ";" => 293
3550             }
3551             },
3552             {#State 261
3553             ACTIONS => {
3554             'END' => 294
3555             }
3556             },
3557             {#State 262
3558             ACTIONS => {
3559             ";" => 296,
3560             'DEFAULT' => 297,
3561             'FILENAME' => 83,
3562             'IDENT' => 81,
3563             'NUMBER' => 84
3564             },
3565             GOTOS => {
3566             'filepart' => 87,
3567             'filename' => 295
3568             }
3569             },
3570             {#State 263
3571             ACTIONS => {
3572             'END' => 298
3573             }
3574             },
3575             {#State 264
3576             DEFAULT => -102
3577             },
3578             {#State 265
3579             DEFAULT => -100
3580             },
3581             {#State 266
3582             ACTIONS => {
3583             'TEXT' => 299
3584             }
3585             },
3586             {#State 267
3587             ACTIONS => {
3588             'END' => 300
3589             }
3590             },
3591             {#State 268
3592             ACTIONS => {
3593             'SET' => 1,
3594             'PERL' => 40,
3595             'NOT' => 38,
3596             'IDENT' => 2,
3597             'CLEAR' => 41,
3598             'UNLESS' => 3,
3599             'IF' => 44,
3600             "\$" => 43,
3601             'STOP' => 6,
3602             'CALL' => 45,
3603             'THROW' => 8,
3604             'GET' => 47,
3605             "[" => 9,
3606             'TRY' => 10,
3607             'LAST' => 49,
3608             'DEBUG' => 51,
3609             'RAWPERL' => 13,
3610             'META' => 15,
3611             'INCLUDE' => 17,
3612             "(" => 53,
3613             'SWITCH' => 54,
3614             'MACRO' => 18,
3615             'WRAPPER' => 55,
3616             ";" => -18,
3617             'FOR' => 21,
3618             'LITERAL' => 57,
3619             'NEXT' => 22,
3620             "\"" => 60,
3621             'TEXT' => 24,
3622             'PROCESS' => 61,
3623             'RETURN' => 64,
3624             'FILTER' => 25,
3625             'INSERT' => 65,
3626             'NUMBER' => 26,
3627             'REF' => 27,
3628             'WHILE' => 67,
3629             'BLOCK' => 28,
3630             'DEFAULT' => 69,
3631             "{" => 30,
3632             'USE' => 32,
3633             'VIEW' => 36,
3634             "\${" => 37
3635             },
3636             DEFAULT => -3,
3637             GOTOS => {
3638             'item' => 39,
3639             'node' => 23,
3640             'rawperl' => 59,
3641             'term' => 58,
3642             'loop' => 4,
3643             'use' => 63,
3644             'expr' => 62,
3645             'capture' => 42,
3646             'statement' => 5,
3647             'view' => 7,
3648             'wrapper' => 46,
3649             'atomexpr' => 48,
3650             'chunk' => 11,
3651             'defblock' => 66,
3652             'atomdir' => 12,
3653             'anonblock' => 50,
3654             'sterm' => 68,
3655             'defblockname' => 14,
3656             'filter' => 29,
3657             'ident' => 16,
3658             'perl' => 31,
3659             'setlist' => 70,
3660             'chunks' => 33,
3661             'try' => 35,
3662             'switch' => 34,
3663             'assign' => 19,
3664             'block' => 301,
3665             'directive' => 71,
3666             'macro' => 20,
3667             'condition' => 73,
3668             'lterm' => 56
3669             }
3670             },
3671             {#State 269
3672             ACTIONS => {
3673             'IDENT' => -96,
3674             ")" => -96,
3675             'COMMA' => -96
3676             },
3677             DEFAULT => -130
3678             },
3679             {#State 270
3680             ACTIONS => {
3681             'COMMA' => 304,
3682             'IDENT' => 302,
3683             ")" => 303
3684             }
3685             },
3686             {#State 271
3687             DEFAULT => -156,
3688             GOTOS => {
3689             'args' => 305
3690             }
3691             },
3692             {#State 272
3693             DEFAULT => -156,
3694             GOTOS => {
3695             'args' => 306
3696             }
3697             },
3698             {#State 273
3699             ACTIONS => {
3700             'SET' => 1,
3701             'PERL' => 40,
3702             'NOT' => 38,
3703             'IDENT' => 2,
3704             'CLEAR' => 41,
3705             'UNLESS' => 3,
3706             'IF' => 44,
3707             "\$" => 43,
3708             'STOP' => 6,
3709             'CALL' => 45,
3710             'THROW' => 8,
3711             'GET' => 47,
3712             "[" => 9,
3713             'TRY' => 10,
3714             'LAST' => 49,
3715             'DEBUG' => 51,
3716             'RAWPERL' => 13,
3717             'META' => 15,
3718             'INCLUDE' => 17,
3719             "(" => 53,
3720             'SWITCH' => 54,
3721             'MACRO' => 18,
3722             'WRAPPER' => 55,
3723             ";" => -18,
3724             'FOR' => 21,
3725             'LITERAL' => 57,
3726             'NEXT' => 22,
3727             "\"" => 60,
3728             'TEXT' => 24,
3729             'PROCESS' => 61,
3730             'RETURN' => 64,
3731             'FILTER' => 25,
3732             'INSERT' => 65,
3733             'NUMBER' => 26,
3734             'REF' => 27,
3735             'WHILE' => 67,
3736             'BLOCK' => 28,
3737             'DEFAULT' => 69,
3738             "{" => 30,
3739             'USE' => 32,
3740             'VIEW' => 36,
3741             "\${" => 37
3742             },
3743             DEFAULT => -3,
3744             GOTOS => {
3745             'item' => 39,
3746             'node' => 23,
3747             'rawperl' => 59,
3748             'term' => 58,
3749             'loop' => 4,
3750             'use' => 63,
3751             'expr' => 62,
3752             'capture' => 42,
3753             'statement' => 5,
3754             'view' => 7,
3755             'wrapper' => 46,
3756             'atomexpr' => 48,
3757             'chunk' => 11,
3758             'defblock' => 66,
3759             'atomdir' => 12,
3760             'anonblock' => 50,
3761             'sterm' => 68,
3762             'defblockname' => 14,
3763             'filter' => 29,
3764             'ident' => 16,
3765             'perl' => 31,
3766             'setlist' => 70,
3767             'chunks' => 33,
3768             'try' => 35,
3769             'switch' => 34,
3770             'assign' => 19,
3771             'block' => 307,
3772             'directive' => 71,
3773             'macro' => 20,
3774             'condition' => 73,
3775             'lterm' => 56
3776             }
3777             },
3778             {#State 274
3779             DEFAULT => -157
3780             },
3781             {#State 275
3782             ACTIONS => {
3783             'END' => 308
3784             }
3785             },
3786             {#State 276
3787             ACTIONS => {
3788             'ASSIGN' => -160
3789             },
3790             DEFAULT => -167
3791             },
3792             {#State 277
3793             ACTIONS => {
3794             'END' => 309
3795             }
3796             },
3797             {#State 278
3798             ACTIONS => {
3799             'DIV' => 159,
3800             'AND' => 160,
3801             'BINOP' => 161,
3802             'OR' => 162,
3803             "+" => 157,
3804             'CAT' => 163,
3805             'CMPOP' => 164,
3806             "?" => 158,
3807             'MOD' => 165,
3808             "/" => 166
3809             },
3810             DEFAULT => -124
3811             },
3812             {#State 279
3813             ACTIONS => {
3814             'DIV' => 159,
3815             'AND' => 160,
3816             'BINOP' => 161,
3817             'OR' => 162,
3818             "+" => 157,
3819             'CAT' => 163,
3820             'CMPOP' => 164,
3821             "?" => 158,
3822             'MOD' => 165,
3823             "/" => 166
3824             },
3825             DEFAULT => -123
3826             },
3827             {#State 280
3828             ACTIONS => {
3829             'SET' => 1,
3830             'PERL' => 40,
3831             'NOT' => 38,
3832             'IDENT' => 2,
3833             'CLEAR' => 41,
3834             'UNLESS' => 3,
3835             'IF' => 44,
3836             "\$" => 43,
3837             'STOP' => 6,
3838             'CALL' => 45,
3839             'THROW' => 8,
3840             'GET' => 47,
3841             "[" => 9,
3842             'TRY' => 10,
3843             'LAST' => 49,
3844             'DEBUG' => 51,
3845             'RAWPERL' => 13,
3846             'META' => 15,
3847             'INCLUDE' => 17,
3848             "(" => 53,
3849             'SWITCH' => 54,
3850             'MACRO' => 18,
3851             'WRAPPER' => 55,
3852             ";" => -18,
3853             'FOR' => 21,
3854             'LITERAL' => 57,
3855             'NEXT' => 22,
3856             "\"" => 60,
3857             'TEXT' => 24,
3858             'PROCESS' => 61,
3859             'RETURN' => 64,
3860             'FILTER' => 25,
3861             'INSERT' => 65,
3862             'NUMBER' => 26,
3863             'REF' => 27,
3864             'WHILE' => 67,
3865             'BLOCK' => 28,
3866             'DEFAULT' => 69,
3867             "{" => 30,
3868             'USE' => 32,
3869             'VIEW' => 36,
3870             "\${" => 37
3871             },
3872             DEFAULT => -3,
3873             GOTOS => {
3874             'item' => 39,
3875             'node' => 23,
3876             'rawperl' => 59,
3877             'term' => 58,
3878             'loop' => 4,
3879             'use' => 63,
3880             'expr' => 62,
3881             'capture' => 42,
3882             'statement' => 5,
3883             'view' => 7,
3884             'wrapper' => 46,
3885             'atomexpr' => 48,
3886             'chunk' => 11,
3887             'defblock' => 66,
3888             'atomdir' => 12,
3889             'anonblock' => 50,
3890             'sterm' => 68,
3891             'defblockname' => 14,
3892             'filter' => 29,
3893             'ident' => 16,
3894             'perl' => 31,
3895             'setlist' => 70,
3896             'chunks' => 33,
3897             'try' => 35,
3898             'switch' => 34,
3899             'assign' => 19,
3900             'block' => 310,
3901             'directive' => 71,
3902             'macro' => 20,
3903             'condition' => 73,
3904             'lterm' => 56
3905             }
3906             },
3907             {#State 281
3908             DEFAULT => -129
3909             },
3910             {#State 282
3911             ACTIONS => {
3912             'END' => 311
3913             }
3914             },
3915             {#State 283
3916             ACTIONS => {
3917             'ELSIF' => 290,
3918             'ELSE' => 288
3919             },
3920             DEFAULT => -50,
3921             GOTOS => {
3922             'else' => 312
3923             }
3924             },
3925             {#State 284
3926             ACTIONS => {
3927             'CASE' => 313
3928             },
3929             DEFAULT => -55,
3930             GOTOS => {
3931             'case' => 314
3932             }
3933             },
3934             {#State 285
3935             ACTIONS => {
3936             'END' => 315
3937             }
3938             },
3939             {#State 286
3940             ACTIONS => {
3941             'NOT' => 38,
3942             "{" => 30,
3943             'LITERAL' => 78,
3944             'IDENT' => 2,
3945             "\"" => 60,
3946             "(" => 53,
3947             "\$" => 43,
3948             "[" => 9,
3949             'NUMBER' => 26,
3950             'REF' => 27,
3951             "\${" => 37
3952             },
3953             GOTOS => {
3954             'expr' => 316,
3955             'sterm' => 68,
3956             'item' => 39,
3957             'node' => 23,
3958             'ident' => 77,
3959             'term' => 58,
3960             'lterm' => 56
3961             }
3962             },
3963             {#State 287
3964             ACTIONS => {
3965             'SET' => 1,
3966             'PERL' => 40,
3967             'NOT' => 38,
3968             'IDENT' => 2,
3969             'CLEAR' => 41,
3970             'UNLESS' => 3,
3971             'IF' => 44,
3972             "\$" => 43,
3973             'STOP' => 6,
3974             'CALL' => 45,
3975             'THROW' => 8,
3976             'GET' => 47,
3977             "[" => 9,
3978             'TRY' => 10,
3979             'LAST' => 49,
3980             'DEBUG' => 51,
3981             'RAWPERL' => 13,
3982             'META' => 15,
3983             'INCLUDE' => 17,
3984             "(" => 53,
3985             'SWITCH' => 54,
3986             'MACRO' => 18,
3987             'WRAPPER' => 55,
3988             ";" => -18,
3989             'FOR' => 21,
3990             'LITERAL' => 57,
3991             'NEXT' => 22,
3992             "\"" => 60,
3993             'TEXT' => 24,
3994             'PROCESS' => 61,
3995             'RETURN' => 64,
3996             'FILTER' => 25,
3997             'INSERT' => 65,
3998             'NUMBER' => 26,
3999             'REF' => 27,
4000             'WHILE' => 67,
4001             'BLOCK' => 28,
4002             'DEFAULT' => 69,
4003             "{" => 30,
4004             'USE' => 32,
4005             'VIEW' => 36,
4006             "\${" => 37
4007             },
4008             DEFAULT => -3,
4009             GOTOS => {
4010             'item' => 39,
4011             'node' => 23,
4012             'rawperl' => 59,
4013             'term' => 58,
4014             'loop' => 4,
4015             'use' => 63,
4016             'expr' => 62,
4017             'capture' => 42,
4018             'statement' => 5,
4019             'view' => 7,
4020             'wrapper' => 46,
4021             'atomexpr' => 48,
4022             'chunk' => 11,
4023             'defblock' => 66,
4024             'atomdir' => 12,
4025             'anonblock' => 50,
4026             'sterm' => 68,
4027             'defblockname' => 14,
4028             'filter' => 29,
4029             'ident' => 16,
4030             'perl' => 31,
4031             'setlist' => 70,
4032             'chunks' => 33,
4033             'try' => 35,
4034             'switch' => 34,
4035             'assign' => 19,
4036             'block' => 317,
4037             'directive' => 71,
4038             'macro' => 20,
4039             'condition' => 73,
4040             'lterm' => 56
4041             }
4042             },
4043             {#State 288
4044             ACTIONS => {
4045             ";" => 318
4046             }
4047             },
4048             {#State 289
4049             ACTIONS => {
4050             'END' => 319
4051             }
4052             },
4053             {#State 290
4054             ACTIONS => {
4055             'NOT' => 38,
4056             "{" => 30,
4057             'LITERAL' => 78,
4058             'IDENT' => 2,
4059             "\"" => 60,
4060             "(" => 53,
4061             "\$" => 43,
4062             "[" => 9,
4063             'NUMBER' => 26,
4064             'REF' => 27,
4065             "\${" => 37
4066             },
4067             GOTOS => {
4068             'expr' => 320,
4069             'sterm' => 68,
4070             'item' => 39,
4071             'node' => 23,
4072             'ident' => 77,
4073             'term' => 58,
4074             'lterm' => 56
4075             }
4076             },
4077             {#State 291
4078             DEFAULT => -164
4079             },
4080             {#State 292
4081             ACTIONS => {
4082             'NOT' => 38,
4083             "{" => 30,
4084             'LITERAL' => 78,
4085             'IDENT' => 2,
4086             "\"" => 60,
4087             "(" => 53,
4088             "\$" => 43,
4089             "[" => 9,
4090             'NUMBER' => 26,
4091             'REF' => 27,
4092             "\${" => 37
4093             },
4094             GOTOS => {
4095             'expr' => 321,
4096             'sterm' => 68,
4097             'item' => 39,
4098             'node' => 23,
4099             'ident' => 77,
4100             'term' => 58,
4101             'lterm' => 56
4102             }
4103             },
4104             {#State 293
4105             ACTIONS => {
4106             'SET' => 1,
4107             'PERL' => 40,
4108             'NOT' => 38,
4109             'IDENT' => 2,
4110             'CLEAR' => 41,
4111             'UNLESS' => 3,
4112             'IF' => 44,
4113             "\$" => 43,
4114             'STOP' => 6,
4115             'CALL' => 45,
4116             'THROW' => 8,
4117             'GET' => 47,
4118             "[" => 9,
4119             'TRY' => 10,
4120             'LAST' => 49,
4121             'DEBUG' => 51,
4122             'RAWPERL' => 13,
4123             'META' => 15,
4124             'INCLUDE' => 17,
4125             "(" => 53,
4126             'SWITCH' => 54,
4127             'MACRO' => 18,
4128             'WRAPPER' => 55,
4129             ";" => -18,
4130             'FOR' => 21,
4131             'LITERAL' => 57,
4132             'NEXT' => 22,
4133             "\"" => 60,
4134             'TEXT' => 24,
4135             'PROCESS' => 61,
4136             'RETURN' => 64,
4137             'FILTER' => 25,
4138             'INSERT' => 65,
4139             'NUMBER' => 26,
4140             'REF' => 27,
4141             'WHILE' => 67,
4142             'BLOCK' => 28,
4143             'DEFAULT' => 69,
4144             "{" => 30,
4145             'USE' => 32,
4146             'VIEW' => 36,
4147             "\${" => 37
4148             },
4149             DEFAULT => -3,
4150             GOTOS => {
4151             'item' => 39,
4152             'node' => 23,
4153             'rawperl' => 59,
4154             'term' => 58,
4155             'loop' => 4,
4156             'use' => 63,
4157             'expr' => 62,
4158             'capture' => 42,
4159             'statement' => 5,
4160             'view' => 7,
4161             'wrapper' => 46,
4162             'atomexpr' => 48,
4163             'chunk' => 11,
4164             'defblock' => 66,
4165             'atomdir' => 12,
4166             'anonblock' => 50,
4167             'sterm' => 68,
4168             'defblockname' => 14,
4169             'filter' => 29,
4170             'ident' => 16,
4171             'perl' => 31,
4172             'setlist' => 70,
4173             'chunks' => 33,
4174             'try' => 35,
4175             'switch' => 34,
4176             'assign' => 19,
4177             'block' => 322,
4178             'directive' => 71,
4179             'macro' => 20,
4180             'condition' => 73,
4181             'lterm' => 56
4182             }
4183             },
4184             {#State 294
4185             DEFAULT => -67
4186             },
4187             {#State 295
4188             ACTIONS => {
4189             'DOT' => 174,
4190             ";" => 323
4191             }
4192             },
4193             {#State 296
4194             ACTIONS => {
4195             'SET' => 1,
4196             'PERL' => 40,
4197             'NOT' => 38,
4198             'IDENT' => 2,
4199             'CLEAR' => 41,
4200             'UNLESS' => 3,
4201             'IF' => 44,
4202             "\$" => 43,
4203             'STOP' => 6,
4204             'CALL' => 45,
4205             'THROW' => 8,
4206             'GET' => 47,
4207             "[" => 9,
4208             'TRY' => 10,
4209             'LAST' => 49,
4210             'DEBUG' => 51,
4211             'RAWPERL' => 13,
4212             'META' => 15,
4213             'INCLUDE' => 17,
4214             "(" => 53,
4215             'SWITCH' => 54,
4216             'MACRO' => 18,
4217             'WRAPPER' => 55,
4218             ";" => -18,
4219             'FOR' => 21,
4220             'LITERAL' => 57,
4221             'NEXT' => 22,
4222             "\"" => 60,
4223             'TEXT' => 24,
4224             'PROCESS' => 61,
4225             'RETURN' => 64,
4226             'FILTER' => 25,
4227             'INSERT' => 65,
4228             'NUMBER' => 26,
4229             'REF' => 27,
4230             'WHILE' => 67,
4231             'BLOCK' => 28,
4232             'DEFAULT' => 69,
4233             "{" => 30,
4234             'USE' => 32,
4235             'VIEW' => 36,
4236             "\${" => 37
4237             },
4238             DEFAULT => -3,
4239             GOTOS => {
4240             'item' => 39,
4241             'node' => 23,
4242             'rawperl' => 59,
4243             'term' => 58,
4244             'loop' => 4,
4245             'use' => 63,
4246             'expr' => 62,
4247             'capture' => 42,
4248             'statement' => 5,
4249             'view' => 7,
4250             'wrapper' => 46,
4251             'atomexpr' => 48,
4252             'chunk' => 11,
4253             'defblock' => 66,
4254             'atomdir' => 12,
4255             'anonblock' => 50,
4256             'sterm' => 68,
4257             'defblockname' => 14,
4258             'filter' => 29,
4259             'ident' => 16,
4260             'perl' => 31,
4261             'setlist' => 70,
4262             'chunks' => 33,
4263             'try' => 35,
4264             'switch' => 34,
4265             'assign' => 19,
4266             'block' => 324,
4267             'directive' => 71,
4268             'macro' => 20,
4269             'condition' => 73,
4270             'lterm' => 56
4271             }
4272             },
4273             {#State 297
4274             ACTIONS => {
4275             ";" => 325
4276             }
4277             },
4278             {#State 298
4279             DEFAULT => -79
4280             },
4281             {#State 299
4282             ACTIONS => {
4283             "\"" => 326
4284             }
4285             },
4286             {#State 300
4287             DEFAULT => -82
4288             },
4289             {#State 301
4290             ACTIONS => {
4291             'END' => 327
4292             }
4293             },
4294             {#State 302
4295             DEFAULT => -94
4296             },
4297             {#State 303
4298             ACTIONS => {
4299             'SET' => 1,
4300             'PERL' => 40,
4301             'NOT' => 38,
4302             'IDENT' => 2,
4303             'CLEAR' => 41,
4304             'UNLESS' => 3,
4305             'IF' => 44,
4306             "\$" => 43,
4307             'STOP' => 6,
4308             'CALL' => 45,
4309             'THROW' => 8,
4310             'GET' => 47,
4311             "[" => 9,
4312             'TRY' => 10,
4313             'LAST' => 49,
4314             'DEBUG' => 51,
4315             'INCLUDE' => 17,
4316             "(" => 53,
4317             'SWITCH' => 54,
4318             'WRAPPER' => 55,
4319             'FOR' => 21,
4320             'NEXT' => 22,
4321             'LITERAL' => 57,
4322             "\"" => 60,
4323             'PROCESS' => 61,
4324             'FILTER' => 25,
4325             'RETURN' => 64,
4326             'INSERT' => 65,
4327             'NUMBER' => 26,
4328             'REF' => 27,
4329             'WHILE' => 67,
4330             'BLOCK' => 193,
4331             'DEFAULT' => 69,
4332             "{" => 30,
4333             "\${" => 37
4334             },
4335             GOTOS => {
4336             'item' => 39,
4337             'node' => 23,
4338             'term' => 58,
4339             'loop' => 4,
4340             'expr' => 199,
4341             'wrapper' => 46,
4342             'atomexpr' => 48,
4343             'atomdir' => 12,
4344             'mdir' => 328,
4345             'sterm' => 68,
4346             'filter' => 29,
4347             'ident' => 149,
4348             'perl' => 31,
4349             'setlist' => 70,
4350             'try' => 35,
4351             'switch' => 34,
4352             'assign' => 19,
4353             'directive' => 196,
4354             'condition' => 73,
4355             'lterm' => 56
4356             }
4357             },
4358             {#State 304
4359             DEFAULT => -95
4360             },
4361             {#State 305
4362             ACTIONS => {
4363             'NOT' => 38,
4364             "{" => 30,
4365             'COMMA' => 258,
4366             'LITERAL' => 256,
4367             'IDENT' => 2,
4368             "\"" => 60,
4369             "(" => 53,
4370             "\$" => 43,
4371             "[" => 9,
4372             'NUMBER' => 26,
4373             'REF' => 27,
4374             "\${" => 37
4375             },
4376             DEFAULT => -62,
4377             GOTOS => {
4378             'sterm' => 68,
4379             'item' => 254,
4380             'node' => 23,
4381             'ident' => 253,
4382             'term' => 58,
4383             'expr' => 257,
4384             'param' => 255,
4385             'lterm' => 56
4386             }
4387             },
4388             {#State 306
4389             ACTIONS => {
4390             'NOT' => 38,
4391             "{" => 30,
4392             'COMMA' => 258,
4393             'LITERAL' => 256,
4394             'IDENT' => 2,
4395             "\"" => 60,
4396             "(" => 53,
4397             "\$" => 43,
4398             "[" => 9,
4399             'NUMBER' => 26,
4400             'REF' => 27,
4401             "\${" => 37
4402             },
4403             DEFAULT => -63,
4404             GOTOS => {
4405             'sterm' => 68,
4406             'item' => 254,
4407             'node' => 23,
4408             'ident' => 253,
4409             'term' => 58,
4410             'expr' => 257,
4411             'param' => 255,
4412             'lterm' => 56
4413             }
4414             },
4415             {#State 307
4416             ACTIONS => {
4417             'END' => 329
4418             }
4419             },
4420             {#State 308
4421             DEFAULT => -80
4422             },
4423             {#State 309
4424             DEFAULT => -88
4425             },
4426             {#State 310
4427             ACTIONS => {
4428             'END' => 330
4429             }
4430             },
4431             {#State 311
4432             DEFAULT => -77
4433             },
4434             {#State 312
4435             ACTIONS => {
4436             'END' => 331
4437             }
4438             },
4439             {#State 313
4440             ACTIONS => {
4441             ";" => 332,
4442             'DEFAULT' => 334,
4443             "{" => 30,
4444             'LITERAL' => 78,
4445             'IDENT' => 2,
4446             "\"" => 60,
4447             "\$" => 43,
4448             "[" => 9,
4449             'NUMBER' => 26,
4450             'REF' => 27,
4451             "\${" => 37
4452             },
4453             GOTOS => {
4454             'sterm' => 68,
4455             'item' => 39,
4456             'node' => 23,
4457             'ident' => 77,
4458             'term' => 333,
4459             'lterm' => 56
4460             }
4461             },
4462             {#State 314
4463             ACTIONS => {
4464             'END' => 335
4465             }
4466             },
4467             {#State 315
4468             DEFAULT => -65
4469             },
4470             {#State 316
4471             ACTIONS => {
4472             'DIV' => 159,
4473             'AND' => 160,
4474             'BINOP' => 161,
4475             'OR' => 162,
4476             "+" => 157,
4477             'CAT' => 163,
4478             'CMPOP' => 164,
4479             "?" => 158,
4480             'MOD' => 165,
4481             "/" => 166
4482             },
4483             DEFAULT => -143
4484             },
4485             {#State 317
4486             ACTIONS => {
4487             'END' => 336
4488             }
4489             },
4490             {#State 318
4491             ACTIONS => {
4492             'SET' => 1,
4493             'PERL' => 40,
4494             'NOT' => 38,
4495             'IDENT' => 2,
4496             'CLEAR' => 41,
4497             'UNLESS' => 3,
4498             'IF' => 44,
4499             "\$" => 43,
4500             'STOP' => 6,
4501             'CALL' => 45,
4502             'THROW' => 8,
4503             'GET' => 47,
4504             "[" => 9,
4505             'TRY' => 10,
4506             'LAST' => 49,
4507             'DEBUG' => 51,
4508             'RAWPERL' => 13,
4509             'META' => 15,
4510             'INCLUDE' => 17,
4511             "(" => 53,
4512             'SWITCH' => 54,
4513             'MACRO' => 18,
4514             'WRAPPER' => 55,
4515             ";" => -18,
4516             'FOR' => 21,
4517             'LITERAL' => 57,
4518             'NEXT' => 22,
4519             "\"" => 60,
4520             'TEXT' => 24,
4521             'PROCESS' => 61,
4522             'RETURN' => 64,
4523             'FILTER' => 25,
4524             'INSERT' => 65,
4525             'NUMBER' => 26,
4526             'REF' => 27,
4527             'WHILE' => 67,
4528             'BLOCK' => 28,
4529             'DEFAULT' => 69,
4530             "{" => 30,
4531             'USE' => 32,
4532             'VIEW' => 36,
4533             "\${" => 37
4534             },
4535             DEFAULT => -3,
4536             GOTOS => {
4537             'item' => 39,
4538             'node' => 23,
4539             'rawperl' => 59,
4540             'term' => 58,
4541             'loop' => 4,
4542             'use' => 63,
4543             'expr' => 62,
4544             'capture' => 42,
4545             'statement' => 5,
4546             'view' => 7,
4547             'wrapper' => 46,
4548             'atomexpr' => 48,
4549             'chunk' => 11,
4550             'defblock' => 66,
4551             'atomdir' => 12,
4552             'anonblock' => 50,
4553             'sterm' => 68,
4554             'defblockname' => 14,
4555             'filter' => 29,
4556             'ident' => 16,
4557             'perl' => 31,
4558             'setlist' => 70,
4559             'chunks' => 33,
4560             'try' => 35,
4561             'switch' => 34,
4562             'assign' => 19,
4563             'block' => 337,
4564             'directive' => 71,
4565             'macro' => 20,
4566             'condition' => 73,
4567             'lterm' => 56
4568             }
4569             },
4570             {#State 319
4571             DEFAULT => -46
4572             },
4573             {#State 320
4574             ACTIONS => {
4575             'CMPOP' => 164,
4576             "?" => 158,
4577             ";" => 338,
4578             "+" => 157,
4579             'MOD' => 165,
4580             'DIV' => 159,
4581             "/" => 166,
4582             'AND' => 160,
4583             'CAT' => 163,
4584             'BINOP' => 161,
4585             'OR' => 162
4586             }
4587             },
4588             {#State 321
4589             ACTIONS => {
4590             "+" => 157,
4591             'CAT' => 163,
4592             'CMPOP' => 164,
4593             "?" => 158,
4594             'DIV' => 159,
4595             'MOD' => 165,
4596             "/" => 166,
4597             'AND' => 160,
4598             'BINOP' => 161,
4599             'OR' => 162
4600             },
4601             DEFAULT => -154
4602             },
4603             {#State 322
4604             DEFAULT => -71
4605             },
4606             {#State 323
4607             ACTIONS => {
4608             'SET' => 1,
4609             'PERL' => 40,
4610             'NOT' => 38,
4611             'IDENT' => 2,
4612             'CLEAR' => 41,
4613             'UNLESS' => 3,
4614             'IF' => 44,
4615             "\$" => 43,
4616             'STOP' => 6,
4617             'CALL' => 45,
4618             'THROW' => 8,
4619             'GET' => 47,
4620             "[" => 9,
4621             'TRY' => 10,
4622             'LAST' => 49,
4623             'DEBUG' => 51,
4624             'RAWPERL' => 13,
4625             'META' => 15,
4626             'INCLUDE' => 17,
4627             "(" => 53,
4628             'SWITCH' => 54,
4629             'MACRO' => 18,
4630             'WRAPPER' => 55,
4631             ";" => -18,
4632             'FOR' => 21,
4633             'LITERAL' => 57,
4634             'NEXT' => 22,
4635             "\"" => 60,
4636             'TEXT' => 24,
4637             'PROCESS' => 61,
4638             'RETURN' => 64,
4639             'FILTER' => 25,
4640             'INSERT' => 65,
4641             'NUMBER' => 26,
4642             'REF' => 27,
4643             'WHILE' => 67,
4644             'BLOCK' => 28,
4645             'DEFAULT' => 69,
4646             "{" => 30,
4647             'USE' => 32,
4648             'VIEW' => 36,
4649             "\${" => 37
4650             },
4651             DEFAULT => -3,
4652             GOTOS => {
4653             'item' => 39,
4654             'node' => 23,
4655             'rawperl' => 59,
4656             'term' => 58,
4657             'loop' => 4,
4658             'use' => 63,
4659             'expr' => 62,
4660             'capture' => 42,
4661             'statement' => 5,
4662             'view' => 7,
4663             'wrapper' => 46,
4664             'atomexpr' => 48,
4665             'chunk' => 11,
4666             'defblock' => 66,
4667             'atomdir' => 12,
4668             'anonblock' => 50,
4669             'sterm' => 68,
4670             'defblockname' => 14,
4671             'filter' => 29,
4672             'ident' => 16,
4673             'perl' => 31,
4674             'setlist' => 70,
4675             'chunks' => 33,
4676             'try' => 35,
4677             'switch' => 34,
4678             'assign' => 19,
4679             'block' => 339,
4680             'directive' => 71,
4681             'macro' => 20,
4682             'condition' => 73,
4683             'lterm' => 56
4684             }
4685             },
4686             {#State 324
4687             ACTIONS => {
4688             'FINAL' => 260,
4689             'CATCH' => 262
4690             },
4691             DEFAULT => -72,
4692             GOTOS => {
4693             'final' => 340
4694             }
4695             },
4696             {#State 325
4697             ACTIONS => {
4698             'SET' => 1,
4699             'PERL' => 40,
4700             'NOT' => 38,
4701             'IDENT' => 2,
4702             'CLEAR' => 41,
4703             'UNLESS' => 3,
4704             'IF' => 44,
4705             "\$" => 43,
4706             'STOP' => 6,
4707             'CALL' => 45,
4708             'THROW' => 8,
4709             'GET' => 47,
4710             "[" => 9,
4711             'TRY' => 10,
4712             'LAST' => 49,
4713             'DEBUG' => 51,
4714             'RAWPERL' => 13,
4715             'META' => 15,
4716             'INCLUDE' => 17,
4717             "(" => 53,
4718             'SWITCH' => 54,
4719             'MACRO' => 18,
4720             'WRAPPER' => 55,
4721             ";" => -18,
4722             'FOR' => 21,
4723             'LITERAL' => 57,
4724             'NEXT' => 22,
4725             "\"" => 60,
4726             'TEXT' => 24,
4727             'PROCESS' => 61,
4728             'RETURN' => 64,
4729             'FILTER' => 25,
4730             'INSERT' => 65,
4731             'NUMBER' => 26,
4732             'REF' => 27,
4733             'WHILE' => 67,
4734             'BLOCK' => 28,
4735             'DEFAULT' => 69,
4736             "{" => 30,
4737             'USE' => 32,
4738             'VIEW' => 36,
4739             "\${" => 37
4740             },
4741             DEFAULT => -3,
4742             GOTOS => {
4743             'item' => 39,
4744             'node' => 23,
4745             'rawperl' => 59,
4746             'term' => 58,
4747             'loop' => 4,
4748             'use' => 63,
4749             'expr' => 62,
4750             'capture' => 42,
4751             'statement' => 5,
4752             'view' => 7,
4753             'wrapper' => 46,
4754             'atomexpr' => 48,
4755             'chunk' => 11,
4756             'defblock' => 66,
4757             'atomdir' => 12,
4758             'anonblock' => 50,
4759             'sterm' => 68,
4760             'defblockname' => 14,
4761             'filter' => 29,
4762             'ident' => 16,
4763             'perl' => 31,
4764             'setlist' => 70,
4765             'chunks' => 33,
4766             'try' => 35,
4767             'switch' => 34,
4768             'assign' => 19,
4769             'block' => 341,
4770             'directive' => 71,
4771             'macro' => 20,
4772             'condition' => 73,
4773             'lterm' => 56
4774             }
4775             },
4776             {#State 326
4777             DEFAULT => -101
4778             },
4779             {#State 327
4780             DEFAULT => -93
4781             },
4782             {#State 328
4783             DEFAULT => -90
4784             },
4785             {#State 329
4786             DEFAULT => -57
4787             },
4788             {#State 330
4789             DEFAULT => -75
4790             },
4791             {#State 331
4792             DEFAULT => -44
4793             },
4794             {#State 332
4795             ACTIONS => {
4796             'SET' => 1,
4797             'PERL' => 40,
4798             'NOT' => 38,
4799             'IDENT' => 2,
4800             'CLEAR' => 41,
4801             'UNLESS' => 3,
4802             'IF' => 44,
4803             "\$" => 43,
4804             'STOP' => 6,
4805             'CALL' => 45,
4806             'THROW' => 8,
4807             'GET' => 47,
4808             "[" => 9,
4809             'TRY' => 10,
4810             'LAST' => 49,
4811             'DEBUG' => 51,
4812             'RAWPERL' => 13,
4813             'META' => 15,
4814             'INCLUDE' => 17,
4815             "(" => 53,
4816             'SWITCH' => 54,
4817             'MACRO' => 18,
4818             'WRAPPER' => 55,
4819             ";" => -18,
4820             'FOR' => 21,
4821             'LITERAL' => 57,
4822             'NEXT' => 22,
4823             "\"" => 60,
4824             'TEXT' => 24,
4825             'PROCESS' => 61,
4826             'RETURN' => 64,
4827             'FILTER' => 25,
4828             'INSERT' => 65,
4829             'NUMBER' => 26,
4830             'REF' => 27,
4831             'WHILE' => 67,
4832             'BLOCK' => 28,
4833             'DEFAULT' => 69,
4834             "{" => 30,
4835             'USE' => 32,
4836             'VIEW' => 36,
4837             "\${" => 37
4838             },
4839             DEFAULT => -3,
4840             GOTOS => {
4841             'item' => 39,
4842             'node' => 23,
4843             'rawperl' => 59,
4844             'term' => 58,
4845             'loop' => 4,
4846             'use' => 63,
4847             'expr' => 62,
4848             'capture' => 42,
4849             'statement' => 5,
4850             'view' => 7,
4851             'wrapper' => 46,
4852             'atomexpr' => 48,
4853             'chunk' => 11,
4854             'defblock' => 66,
4855             'atomdir' => 12,
4856             'anonblock' => 50,
4857             'sterm' => 68,
4858             'defblockname' => 14,
4859             'filter' => 29,
4860             'ident' => 16,
4861             'perl' => 31,
4862             'setlist' => 70,
4863             'chunks' => 33,
4864             'try' => 35,
4865             'switch' => 34,
4866             'assign' => 19,
4867             'block' => 342,
4868             'directive' => 71,
4869             'macro' => 20,
4870             'condition' => 73,
4871             'lterm' => 56
4872             }
4873             },
4874             {#State 333
4875             ACTIONS => {
4876             ";" => 343
4877             }
4878             },
4879             {#State 334
4880             ACTIONS => {
4881             ";" => 344
4882             }
4883             },
4884             {#State 335
4885             DEFAULT => -51
4886             },
4887             {#State 336
4888             DEFAULT => -60
4889             },
4890             {#State 337
4891             DEFAULT => -49
4892             },
4893             {#State 338
4894             ACTIONS => {
4895             'SET' => 1,
4896             'PERL' => 40,
4897             'NOT' => 38,
4898             'IDENT' => 2,
4899             'CLEAR' => 41,
4900             'UNLESS' => 3,
4901             'IF' => 44,
4902             "\$" => 43,
4903             'STOP' => 6,
4904             'CALL' => 45,
4905             'THROW' => 8,
4906             'GET' => 47,
4907             "[" => 9,
4908             'TRY' => 10,
4909             'LAST' => 49,
4910             'DEBUG' => 51,
4911             'RAWPERL' => 13,
4912             'META' => 15,
4913             'INCLUDE' => 17,
4914             "(" => 53,
4915             'SWITCH' => 54,
4916             'MACRO' => 18,
4917             'WRAPPER' => 55,
4918             ";" => -18,
4919             'FOR' => 21,
4920             'LITERAL' => 57,
4921             'NEXT' => 22,
4922             "\"" => 60,
4923             'TEXT' => 24,
4924             'PROCESS' => 61,
4925             'RETURN' => 64,
4926             'FILTER' => 25,
4927             'INSERT' => 65,
4928             'NUMBER' => 26,
4929             'REF' => 27,
4930             'WHILE' => 67,
4931             'BLOCK' => 28,
4932             'DEFAULT' => 69,
4933             "{" => 30,
4934             'USE' => 32,
4935             'VIEW' => 36,
4936             "\${" => 37
4937             },
4938             DEFAULT => -3,
4939             GOTOS => {
4940             'item' => 39,
4941             'node' => 23,
4942             'rawperl' => 59,
4943             'term' => 58,
4944             'loop' => 4,
4945             'use' => 63,
4946             'expr' => 62,
4947             'capture' => 42,
4948             'statement' => 5,
4949             'view' => 7,
4950             'wrapper' => 46,
4951             'atomexpr' => 48,
4952             'chunk' => 11,
4953             'defblock' => 66,
4954             'atomdir' => 12,
4955             'anonblock' => 50,
4956             'sterm' => 68,
4957             'defblockname' => 14,
4958             'filter' => 29,
4959             'ident' => 16,
4960             'perl' => 31,
4961             'setlist' => 70,
4962             'chunks' => 33,
4963             'try' => 35,
4964             'switch' => 34,
4965             'assign' => 19,
4966             'block' => 345,
4967             'directive' => 71,
4968             'macro' => 20,
4969             'condition' => 73,
4970             'lterm' => 56
4971             }
4972             },
4973             {#State 339
4974             ACTIONS => {
4975             'FINAL' => 260,
4976             'CATCH' => 262
4977             },
4978             DEFAULT => -72,
4979             GOTOS => {
4980             'final' => 346
4981             }
4982             },
4983             {#State 340
4984             DEFAULT => -70
4985             },
4986             {#State 341
4987             ACTIONS => {
4988             'FINAL' => 260,
4989             'CATCH' => 262
4990             },
4991             DEFAULT => -72,
4992             GOTOS => {
4993             'final' => 347
4994             }
4995             },
4996             {#State 342
4997             DEFAULT => -54
4998             },
4999             {#State 343
5000             ACTIONS => {
5001             'SET' => 1,
5002             'PERL' => 40,
5003             'NOT' => 38,
5004             'IDENT' => 2,
5005             'CLEAR' => 41,
5006             'UNLESS' => 3,
5007             'IF' => 44,
5008             "\$" => 43,
5009             'STOP' => 6,
5010             'CALL' => 45,
5011             'THROW' => 8,
5012             'GET' => 47,
5013             "[" => 9,
5014             'TRY' => 10,
5015             'LAST' => 49,
5016             'DEBUG' => 51,
5017             'RAWPERL' => 13,
5018             'META' => 15,
5019             'INCLUDE' => 17,
5020             "(" => 53,
5021             'SWITCH' => 54,
5022             'MACRO' => 18,
5023             'WRAPPER' => 55,
5024             ";" => -18,
5025             'FOR' => 21,
5026             'LITERAL' => 57,
5027             'NEXT' => 22,
5028             "\"" => 60,
5029             'TEXT' => 24,
5030             'PROCESS' => 61,
5031             'RETURN' => 64,
5032             'FILTER' => 25,
5033             'INSERT' => 65,
5034             'NUMBER' => 26,
5035             'REF' => 27,
5036             'WHILE' => 67,
5037             'BLOCK' => 28,
5038             'DEFAULT' => 69,
5039             "{" => 30,
5040             'USE' => 32,
5041             'VIEW' => 36,
5042             "\${" => 37
5043             },
5044             DEFAULT => -3,
5045             GOTOS => {
5046             'item' => 39,
5047             'node' => 23,
5048             'rawperl' => 59,
5049             'term' => 58,
5050             'loop' => 4,
5051             'use' => 63,
5052             'expr' => 62,
5053             'capture' => 42,
5054             'statement' => 5,
5055             'view' => 7,
5056             'wrapper' => 46,
5057             'atomexpr' => 48,
5058             'chunk' => 11,
5059             'defblock' => 66,
5060             'atomdir' => 12,
5061             'anonblock' => 50,
5062             'sterm' => 68,
5063             'defblockname' => 14,
5064             'filter' => 29,
5065             'ident' => 16,
5066             'perl' => 31,
5067             'setlist' => 70,
5068             'chunks' => 33,
5069             'try' => 35,
5070             'switch' => 34,
5071             'assign' => 19,
5072             'block' => 348,
5073             'directive' => 71,
5074             'macro' => 20,
5075             'condition' => 73,
5076             'lterm' => 56
5077             }
5078             },
5079             {#State 344
5080             ACTIONS => {
5081             'SET' => 1,
5082             'PERL' => 40,
5083             'NOT' => 38,
5084             'IDENT' => 2,
5085             'CLEAR' => 41,
5086             'UNLESS' => 3,
5087             'IF' => 44,
5088             "\$" => 43,
5089             'STOP' => 6,
5090             'CALL' => 45,
5091             'THROW' => 8,
5092             'GET' => 47,
5093             "[" => 9,
5094             'TRY' => 10,
5095             'LAST' => 49,
5096             'DEBUG' => 51,
5097             'RAWPERL' => 13,
5098             'META' => 15,
5099             'INCLUDE' => 17,
5100             "(" => 53,
5101             'SWITCH' => 54,
5102             'MACRO' => 18,
5103             'WRAPPER' => 55,
5104             ";" => -18,
5105             'FOR' => 21,
5106             'LITERAL' => 57,
5107             'NEXT' => 22,
5108             "\"" => 60,
5109             'TEXT' => 24,
5110             'PROCESS' => 61,
5111             'RETURN' => 64,
5112             'FILTER' => 25,
5113             'INSERT' => 65,
5114             'NUMBER' => 26,
5115             'REF' => 27,
5116             'WHILE' => 67,
5117             'BLOCK' => 28,
5118             'DEFAULT' => 69,
5119             "{" => 30,
5120             'USE' => 32,
5121             'VIEW' => 36,
5122             "\${" => 37
5123             },
5124             DEFAULT => -3,
5125             GOTOS => {
5126             'item' => 39,
5127             'node' => 23,
5128             'rawperl' => 59,
5129             'term' => 58,
5130             'loop' => 4,
5131             'use' => 63,
5132             'expr' => 62,
5133             'capture' => 42,
5134             'statement' => 5,
5135             'view' => 7,
5136             'wrapper' => 46,
5137             'atomexpr' => 48,
5138             'chunk' => 11,
5139             'defblock' => 66,
5140             'atomdir' => 12,
5141             'anonblock' => 50,
5142             'sterm' => 68,
5143             'defblockname' => 14,
5144             'filter' => 29,
5145             'ident' => 16,
5146             'perl' => 31,
5147             'setlist' => 70,
5148             'chunks' => 33,
5149             'try' => 35,
5150             'switch' => 34,
5151             'assign' => 19,
5152             'block' => 349,
5153             'directive' => 71,
5154             'macro' => 20,
5155             'condition' => 73,
5156             'lterm' => 56
5157             }
5158             },
5159             {#State 345
5160             ACTIONS => {
5161             'ELSIF' => 290,
5162             'ELSE' => 288
5163             },
5164             DEFAULT => -50,
5165             GOTOS => {
5166             'else' => 350
5167             }
5168             },
5169             {#State 346
5170             DEFAULT => -68
5171             },
5172             {#State 347
5173             DEFAULT => -69
5174             },
5175             {#State 348
5176             ACTIONS => {
5177             'CASE' => 313
5178             },
5179             DEFAULT => -55,
5180             GOTOS => {
5181             'case' => 351
5182             }
5183             },
5184             {#State 349
5185             DEFAULT => -53
5186             },
5187             {#State 350
5188             DEFAULT => -48
5189             },
5190             {#State 351
5191             DEFAULT => -52
5192             }
5193             ];
5194              
5195              
5196             #========================================================================
5197             # Rules
5198             #========================================================================
5199              
5200             $RULES = [
5201             [#Rule 0
5202             '$start', 2, undef
5203             ],
5204             [#Rule 1
5205             'template', 1,
5206             sub
5207             #line 64 "Parser.yp"
5208             { $factory->template($_[1]) }
5209             ],
5210             [#Rule 2
5211             'block', 1,
5212             sub
5213             #line 67 "Parser.yp"
5214             { $factory->block($_[1]) }
5215             ],
5216             [#Rule 3
5217             'block', 0,
5218             sub
5219             #line 68 "Parser.yp"
5220             { $factory->block() }
5221             ],
5222             [#Rule 4
5223             'chunks', 2,
5224             sub
5225             #line 71 "Parser.yp"
5226             { push(@{$_[1]}, $_[2])
5227             if defined $_[2]; $_[1] }
5228             ],
5229             [#Rule 5
5230             'chunks', 1,
5231             sub
5232             #line 73 "Parser.yp"
5233             { defined $_[1] ? [ $_[1] ] : [ ] }
5234             ],
5235             [#Rule 6
5236             'chunk', 1,
5237             sub
5238             #line 76 "Parser.yp"
5239             { $factory->textblock($_[1]) }
5240             ],
5241             [#Rule 7
5242             'chunk', 2,
5243             sub
5244             #line 77 "Parser.yp"
5245             { return '' unless $_[1];
5246             $_[0]->location() . $_[1];
5247             }
5248             ],
5249             [#Rule 8
5250             'statement', 1, undef
5251             ],
5252             [#Rule 9
5253             'statement', 1, undef
5254             ],
5255             [#Rule 10
5256             'statement', 1, undef
5257             ],
5258             [#Rule 11
5259             'statement', 1, undef
5260             ],
5261             [#Rule 12
5262             'statement', 1, undef
5263             ],
5264             [#Rule 13
5265             'statement', 1, undef
5266             ],
5267             [#Rule 14
5268             'statement', 1, undef
5269             ],
5270             [#Rule 15
5271             'statement', 1, undef
5272             ],
5273             [#Rule 16
5274             'statement', 1,
5275             sub
5276             #line 90 "Parser.yp"
5277             { $factory->get($_[1]) }
5278             ],
5279             [#Rule 17
5280             'statement', 2,
5281             sub
5282             #line 91 "Parser.yp"
5283             { $_[0]->add_metadata($_[2]); }
5284             ],
5285             [#Rule 18
5286             'statement', 0, undef
5287             ],
5288             [#Rule 19
5289             'directive', 1,
5290             sub
5291             #line 95 "Parser.yp"
5292             { $factory->set($_[1]) }
5293             ],
5294             [#Rule 20
5295             'directive', 1, undef
5296             ],
5297             [#Rule 21
5298             'directive', 1, undef
5299             ],
5300             [#Rule 22
5301             'directive', 1, undef
5302             ],
5303             [#Rule 23
5304             'directive', 1, undef
5305             ],
5306             [#Rule 24
5307             'directive', 1, undef
5308             ],
5309             [#Rule 25
5310             'directive', 1, undef
5311             ],
5312             [#Rule 26
5313             'atomexpr', 1,
5314             sub
5315             #line 109 "Parser.yp"
5316             { $factory->get($_[1]) }
5317             ],
5318             [#Rule 27
5319             'atomexpr', 1, undef
5320             ],
5321             [#Rule 28
5322             'atomdir', 2,
5323             sub
5324             #line 113 "Parser.yp"
5325             { $factory->get($_[2]) }
5326             ],
5327             [#Rule 29
5328             'atomdir', 2,
5329             sub
5330             #line 114 "Parser.yp"
5331             { $factory->call($_[2]) }
5332             ],
5333             [#Rule 30
5334             'atomdir', 2,
5335             sub
5336             #line 115 "Parser.yp"
5337             { $factory->set($_[2]) }
5338             ],
5339             [#Rule 31
5340             'atomdir', 2,
5341             sub
5342             #line 116 "Parser.yp"
5343             { $factory->default($_[2]) }
5344             ],
5345             [#Rule 32
5346             'atomdir', 2,
5347             sub
5348             #line 117 "Parser.yp"
5349             { $factory->insert($_[2]) }
5350             ],
5351             [#Rule 33
5352             'atomdir', 2,
5353             sub
5354             #line 118 "Parser.yp"
5355             { $factory->include($_[2]) }
5356             ],
5357             [#Rule 34
5358             'atomdir', 2,
5359             sub
5360             #line 119 "Parser.yp"
5361             { $factory->process($_[2]) }
5362             ],
5363             [#Rule 35
5364             'atomdir', 2,
5365             sub
5366             #line 120 "Parser.yp"
5367             { $factory->throw($_[2]) }
5368             ],
5369             [#Rule 36
5370             'atomdir', 1,
5371             sub
5372             #line 121 "Parser.yp"
5373             { $factory->return() }
5374             ],
5375             [#Rule 37
5376             'atomdir', 1,
5377             sub
5378             #line 122 "Parser.yp"
5379             { $factory->stop() }
5380             ],
5381             [#Rule 38
5382             'atomdir', 1,
5383             sub
5384             #line 123 "Parser.yp"
5385             { "\$output = '';"; }
5386             ],
5387             [#Rule 39
5388             'atomdir', 1,
5389             sub
5390             #line 124 "Parser.yp"
5391             { $_[0]->block_label('last ', ';') }
5392             ],
5393             [#Rule 40
5394             'atomdir', 1,
5395             sub
5396             #line 125 "Parser.yp"
5397             { $_[0]->in_block('FOR')
5398             ? $factory->next($_[0]->block_label)
5399             : $_[0]->block_label('next ', ';') }
5400             ],
5401             [#Rule 41
5402             'atomdir', 2,
5403             sub
5404             #line 128 "Parser.yp"
5405             { if ($_[2]->[0]->[0] =~ /^'(on|off)'$/) {
5406             $_[0]->{ DEBUG_DIRS } = ($1 eq 'on');
5407             $factory->debug($_[2]);
5408             }
5409             else {
5410             $_[0]->{ DEBUG_DIRS } ? $factory->debug($_[2]) : '';
5411             }
5412             }
5413             ],
5414             [#Rule 42
5415             'atomdir', 1, undef
5416             ],
5417             [#Rule 43
5418             'atomdir', 1, undef
5419             ],
5420             [#Rule 44
5421             'condition', 6,
5422             sub
5423             #line 141 "Parser.yp"
5424             { $factory->if(@_[2, 4, 5]) }
5425             ],
5426             [#Rule 45
5427             'condition', 3,
5428             sub
5429             #line 142 "Parser.yp"
5430             { $factory->if(@_[3, 1]) }
5431             ],
5432             [#Rule 46
5433             'condition', 6,
5434             sub
5435             #line 144 "Parser.yp"
5436             { $factory->if("!($_[2])", @_[4, 5]) }
5437             ],
5438             [#Rule 47
5439             'condition', 3,
5440             sub
5441             #line 145 "Parser.yp"
5442             { $factory->if("!($_[3])", $_[1]) }
5443             ],
5444             [#Rule 48
5445             'else', 5,
5446             sub
5447             #line 149 "Parser.yp"
5448             { unshift(@{$_[5]}, [ @_[2, 4] ]);
5449             $_[5]; }
5450             ],
5451             [#Rule 49
5452             'else', 3,
5453             sub
5454             #line 151 "Parser.yp"
5455             { [ $_[3] ] }
5456             ],
5457             [#Rule 50
5458             'else', 0,
5459             sub
5460             #line 152 "Parser.yp"
5461             { [ undef ] }
5462             ],
5463             [#Rule 51
5464             'switch', 6,
5465             sub
5466             #line 156 "Parser.yp"
5467             { $factory->switch(@_[2, 5]) }
5468             ],
5469             [#Rule 52
5470             'case', 5,
5471             sub
5472             #line 160 "Parser.yp"
5473             { unshift(@{$_[5]}, [ @_[2, 4] ]);
5474             $_[5]; }
5475             ],
5476             [#Rule 53
5477             'case', 4,
5478             sub
5479             #line 162 "Parser.yp"
5480             { [ $_[4] ] }
5481             ],
5482             [#Rule 54
5483             'case', 3,
5484             sub
5485             #line 163 "Parser.yp"
5486             { [ $_[3] ] }
5487             ],
5488             [#Rule 55
5489             'case', 0,
5490             sub
5491             #line 164 "Parser.yp"
5492             { [ undef ] }
5493             ],
5494             [#Rule 56
5495             '@1-3', 0,
5496             sub
5497             #line 167 "Parser.yp"
5498             { $_[0]->enter_block('FOR') }
5499             ],
5500             [#Rule 57
5501             'loop', 6,
5502             sub
5503             #line 168 "Parser.yp"
5504             { $factory->foreach(@{$_[2]}, $_[5], $_[0]->leave_block) }
5505             ],
5506             [#Rule 58
5507             'loop', 3,
5508             sub
5509             #line 169 "Parser.yp"
5510             { $factory->foreach(@{$_[3]}, $_[1]) }
5511             ],
5512             [#Rule 59
5513             '@2-3', 0,
5514             sub
5515             #line 170 "Parser.yp"
5516             { $_[0]->enter_block('WHILE') }
5517             ],
5518             [#Rule 60
5519             'loop', 6,
5520             sub
5521             #line 171 "Parser.yp"
5522             { $factory->while(@_[2, 5], $_[0]->leave_block) }
5523             ],
5524             [#Rule 61
5525             'loop', 3,
5526             sub
5527             #line 172 "Parser.yp"
5528             { $factory->while(@_[3, 1]) }
5529             ],
5530             [#Rule 62
5531             'loopvar', 4,
5532             sub
5533             #line 175 "Parser.yp"
5534             { [ @_[1, 3, 4] ] }
5535             ],
5536             [#Rule 63
5537             'loopvar', 4,
5538             sub
5539             #line 176 "Parser.yp"
5540             { [ @_[1, 3, 4] ] }
5541             ],
5542             [#Rule 64
5543             'loopvar', 2,
5544             sub
5545             #line 177 "Parser.yp"
5546             { [ 0, @_[1, 2] ] }
5547             ],
5548             [#Rule 65
5549             'wrapper', 5,
5550             sub
5551             #line 181 "Parser.yp"
5552             { $factory->wrapper(@_[2, 4]) }
5553             ],
5554             [#Rule 66
5555             'wrapper', 3,
5556             sub
5557             #line 183 "Parser.yp"
5558             { $factory->wrapper(@_[3, 1]) }
5559             ],
5560             [#Rule 67
5561             'try', 5,
5562             sub
5563             #line 187 "Parser.yp"
5564             { $factory->try(@_[3, 4]) }
5565             ],
5566             [#Rule 68
5567             'final', 5,
5568             sub
5569             #line 191 "Parser.yp"
5570             { unshift(@{$_[5]}, [ @_[2,4] ]);
5571             $_[5]; }
5572             ],
5573             [#Rule 69
5574             'final', 5,
5575             sub
5576             #line 194 "Parser.yp"
5577             { unshift(@{$_[5]}, [ undef, $_[4] ]);
5578             $_[5]; }
5579             ],
5580             [#Rule 70
5581             'final', 4,
5582             sub
5583             #line 197 "Parser.yp"
5584             { unshift(@{$_[4]}, [ undef, $_[3] ]);
5585             $_[4]; }
5586             ],
5587             [#Rule 71
5588             'final', 3,
5589             sub
5590             #line 199 "Parser.yp"
5591             { [ $_[3] ] }
5592             ],
5593             [#Rule 72
5594             'final', 0,
5595             sub
5596             #line 200 "Parser.yp"
5597             { [ 0 ] }
5598             ],
5599             [#Rule 73
5600             'use', 2,
5601             sub
5602             #line 203 "Parser.yp"
5603             { $factory->use($_[2]) }
5604             ],
5605             [#Rule 74
5606             '@3-3', 0,
5607             sub
5608             #line 206 "Parser.yp"
5609             { $_[0]->push_defblock(); }
5610             ],
5611             [#Rule 75
5612             'view', 6,
5613             sub
5614             #line 207 "Parser.yp"
5615             { $factory->view(@_[2,5],
5616             $_[0]->pop_defblock) }
5617             ],
5618             [#Rule 76
5619             '@4-2', 0,
5620             sub
5621             #line 211 "Parser.yp"
5622             { ${$_[0]->{ INPERL }}++; }
5623             ],
5624             [#Rule 77
5625             'perl', 5,
5626             sub
5627             #line 212 "Parser.yp"
5628             { ${$_[0]->{ INPERL }}--;
5629             $_[0]->{ EVAL_PERL }
5630             ? $factory->perl($_[4])
5631             : $factory->no_perl(); }
5632             ],
5633             [#Rule 78
5634             '@5-1', 0,
5635             sub
5636             #line 218 "Parser.yp"
5637             { ${$_[0]->{ INPERL }}++;
5638             $rawstart = ${$_[0]->{'LINE'}}; }
5639             ],
5640             [#Rule 79
5641             'rawperl', 5,
5642             sub
5643             #line 220 "Parser.yp"
5644             { ${$_[0]->{ INPERL }}--;
5645             $_[0]->{ EVAL_PERL }
5646             ? $factory->rawperl($_[4], $rawstart)
5647             : $factory->no_perl(); }
5648             ],
5649             [#Rule 80
5650             'filter', 5,
5651             sub
5652             #line 227 "Parser.yp"
5653             { $factory->filter(@_[2,4]) }
5654             ],
5655             [#Rule 81
5656             'filter', 3,
5657             sub
5658             #line 229 "Parser.yp"
5659             { $factory->filter(@_[3,1]) }
5660             ],
5661             [#Rule 82
5662             'defblock', 5,
5663             sub
5664             #line 234 "Parser.yp"
5665             { my $name = join('/', @{ $_[0]->{ DEFBLOCKS } });
5666             pop(@{ $_[0]->{ DEFBLOCKS } });
5667             $_[0]->define_block($name, $_[4]);
5668             undef
5669             }
5670             ],
5671             [#Rule 83
5672             'defblockname', 2,
5673             sub
5674             #line 241 "Parser.yp"
5675             { push(@{ $_[0]->{ DEFBLOCKS } }, $_[2]);
5676             $_[2];
5677             }
5678             ],
5679             [#Rule 84
5680             'blockname', 1, undef
5681             ],
5682             [#Rule 85
5683             'blockname', 1,
5684             sub
5685             #line 247 "Parser.yp"
5686             { $_[1] =~ s/^'(.*)'$/$1/; $_[1] }
5687             ],
5688             [#Rule 86
5689             'blockargs', 1, undef
5690             ],
5691             [#Rule 87
5692             'blockargs', 0, undef
5693             ],
5694             [#Rule 88
5695             'anonblock', 5,
5696             sub
5697             #line 255 "Parser.yp"
5698             { local $" = ', ';
5699             print STDERR "experimental block args: [@{ $_[2] }]\n"
5700             if $_[2];
5701             $factory->anon_block($_[4]) }
5702             ],
5703             [#Rule 89
5704             'capture', 3,
5705             sub
5706             #line 261 "Parser.yp"
5707             { $factory->capture(@_[1, 3]) }
5708             ],
5709             [#Rule 90
5710             'macro', 6,
5711             sub
5712             #line 265 "Parser.yp"
5713             { $factory->macro(@_[2, 6, 4]) }
5714             ],
5715             [#Rule 91
5716             'macro', 3,
5717             sub
5718             #line 266 "Parser.yp"
5719             { $factory->macro(@_[2, 3]) }
5720             ],
5721             [#Rule 92
5722             'mdir', 1, undef
5723             ],
5724             [#Rule 93
5725             'mdir', 4,
5726             sub
5727             #line 270 "Parser.yp"
5728             { $_[3] }
5729             ],
5730             [#Rule 94
5731             'margs', 2,
5732             sub
5733             #line 273 "Parser.yp"
5734             { push(@{$_[1]}, $_[2]); $_[1] }
5735             ],
5736             [#Rule 95
5737             'margs', 2,
5738             sub
5739             #line 274 "Parser.yp"
5740             { $_[1] }
5741             ],
5742             [#Rule 96
5743             'margs', 1,
5744             sub
5745             #line 275 "Parser.yp"
5746             { [ $_[1] ] }
5747             ],
5748             [#Rule 97
5749             'metadata', 2,
5750             sub
5751             #line 278 "Parser.yp"
5752             { push(@{$_[1]}, @{$_[2]}); $_[1] }
5753             ],
5754             [#Rule 98
5755             'metadata', 2, undef
5756             ],
5757             [#Rule 99
5758             'metadata', 1, undef
5759             ],
5760             [#Rule 100
5761             'meta', 3,
5762             sub
5763             #line 283 "Parser.yp"
5764             { for ($_[3]) { s/^'//; s/'$//;
5765             s/\\'/'/g };
5766             [ @_[1,3] ] }
5767             ],
5768             [#Rule 101
5769             'meta', 5,
5770             sub
5771             #line 286 "Parser.yp"
5772             { [ @_[1,4] ] }
5773             ],
5774             [#Rule 102
5775             'meta', 3,
5776             sub
5777             #line 287 "Parser.yp"
5778             { [ @_[1,3] ] }
5779             ],
5780             [#Rule 103
5781             'term', 1, undef
5782             ],
5783             [#Rule 104
5784             'term', 1, undef
5785             ],
5786             [#Rule 105
5787             'lterm', 3,
5788             sub
5789             #line 299 "Parser.yp"
5790             { "[ $_[2] ]" }
5791             ],
5792             [#Rule 106
5793             'lterm', 3,
5794             sub
5795             #line 300 "Parser.yp"
5796             { "[ $_[2] ]" }
5797             ],
5798             [#Rule 107
5799             'lterm', 2,
5800             sub
5801             #line 301 "Parser.yp"
5802             { "[ ]" }
5803             ],
5804             [#Rule 108
5805             'lterm', 3,
5806             sub
5807             #line 302 "Parser.yp"
5808             { "{ $_[2] }" }
5809             ],
5810             [#Rule 109
5811             'sterm', 1,
5812             sub
5813             #line 305 "Parser.yp"
5814             { $factory->ident($_[1]) }
5815             ],
5816             [#Rule 110
5817             'sterm', 2,
5818             sub
5819             #line 306 "Parser.yp"
5820             { $factory->identref($_[2]) }
5821             ],
5822             [#Rule 111
5823             'sterm', 3,
5824             sub
5825             #line 307 "Parser.yp"
5826             { $factory->quoted($_[2]) }
5827             ],
5828             [#Rule 112
5829             'sterm', 1, undef
5830             ],
5831             [#Rule 113
5832             'sterm', 1, undef
5833             ],
5834             [#Rule 114
5835             'list', 2,
5836             sub
5837             #line 312 "Parser.yp"
5838             { "$_[1], $_[2]" }
5839             ],
5840             [#Rule 115
5841             'list', 2, undef
5842             ],
5843             [#Rule 116
5844             'list', 1, undef
5845             ],
5846             [#Rule 117
5847             'range', 3,
5848             sub
5849             #line 317 "Parser.yp"
5850             { $_[1] . '..' . $_[3] }
5851             ],
5852             [#Rule 118
5853             'hash', 1, undef
5854             ],
5855             [#Rule 119
5856             'hash', 0,
5857             sub
5858             #line 322 "Parser.yp"
5859             { "" }
5860             ],
5861             [#Rule 120
5862             'params', 2,
5863             sub
5864             #line 325 "Parser.yp"
5865             { "$_[1], $_[2]" }
5866             ],
5867             [#Rule 121
5868             'params', 2, undef
5869             ],
5870             [#Rule 122
5871             'params', 1, undef
5872             ],
5873             [#Rule 123
5874             'param', 3,
5875             sub
5876             #line 330 "Parser.yp"
5877             { "$_[1] => $_[3]" }
5878             ],
5879             [#Rule 124
5880             'param', 3,
5881             sub
5882             #line 331 "Parser.yp"
5883             { "$_[1] => $_[3]" }
5884             ],
5885             [#Rule 125
5886             'ident', 3,
5887             sub
5888             #line 334 "Parser.yp"
5889             { push(@{$_[1]}, @{$_[3]}); $_[1] }
5890             ],
5891             [#Rule 126
5892             'ident', 3,
5893             sub
5894             #line 335 "Parser.yp"
5895             { push(@{$_[1]},
5896             map {($_, 0)} split(/\./, $_[3]));
5897             $_[1]; }
5898             ],
5899             [#Rule 127
5900             'ident', 1, undef
5901             ],
5902             [#Rule 128
5903             'node', 1,
5904             sub
5905             #line 341 "Parser.yp"
5906             { [ $_[1], 0 ] }
5907             ],
5908             [#Rule 129
5909             'node', 4,
5910             sub
5911             #line 342 "Parser.yp"
5912             { [ $_[1], $factory->args($_[3]) ] }
5913             ],
5914             [#Rule 130
5915             'item', 1,
5916             sub
5917             #line 345 "Parser.yp"
5918             { "'$_[1]'" }
5919             ],
5920             [#Rule 131
5921             'item', 3,
5922             sub
5923             #line 346 "Parser.yp"
5924             { $_[2] }
5925             ],
5926             [#Rule 132
5927             'item', 2,
5928             sub
5929             #line 347 "Parser.yp"
5930             { $_[0]->{ V1DOLLAR }
5931             ? "'$_[2]'"
5932             : $factory->ident(["'$_[2]'", 0]) }
5933             ],
5934             [#Rule 133
5935             'expr', 3,
5936             sub
5937             #line 352 "Parser.yp"
5938             { "$_[1] $_[2] $_[3]" }
5939             ],
5940             [#Rule 134
5941             'expr', 3,
5942             sub
5943             #line 353 "Parser.yp"
5944             { "$_[1] $_[2] $_[3]" }
5945             ],
5946             [#Rule 135
5947             'expr', 3,
5948             sub
5949             #line 354 "Parser.yp"
5950             { "$_[1] $_[2] $_[3]" }
5951             ],
5952             [#Rule 136
5953             'expr', 3,
5954             sub
5955             #line 355 "Parser.yp"
5956             { "int($_[1] / $_[3])" }
5957             ],
5958             [#Rule 137
5959             'expr', 3,
5960             sub
5961             #line 356 "Parser.yp"
5962             { "$_[1] % $_[3]" }
5963             ],
5964             [#Rule 138
5965             'expr', 3,
5966             sub
5967             #line 357 "Parser.yp"
5968             { "$_[1] $CMPOP{ $_[2] } $_[3]" }
5969             ],
5970             [#Rule 139
5971             'expr', 3,
5972             sub
5973             #line 358 "Parser.yp"
5974             { "$_[1] . $_[3]" }
5975             ],
5976             [#Rule 140
5977             'expr', 3,
5978             sub
5979             #line 359 "Parser.yp"
5980             { "$_[1] && $_[3]" }
5981             ],
5982             [#Rule 141
5983             'expr', 3,
5984             sub
5985             #line 360 "Parser.yp"
5986             { "$_[1] || $_[3]" }
5987             ],
5988             [#Rule 142
5989             'expr', 2,
5990             sub
5991             #line 361 "Parser.yp"
5992             { "! $_[2]" }
5993             ],
5994             [#Rule 143
5995             'expr', 5,
5996             sub
5997             #line 362 "Parser.yp"
5998             { "$_[1] ? $_[3] : $_[5]" }
5999             ],
6000             [#Rule 144
6001             'expr', 3,
6002             sub
6003             #line 363 "Parser.yp"
6004             { $factory->assign(@{$_[2]}) }
6005             ],
6006             [#Rule 145
6007             'expr', 3,
6008             sub
6009             #line 364 "Parser.yp"
6010             { "($_[2])" }
6011             ],
6012             [#Rule 146
6013             'expr', 1, undef
6014             ],
6015             [#Rule 147
6016             'setlist', 2,
6017             sub
6018             #line 368 "Parser.yp"
6019             { push(@{$_[1]}, @{$_[2]}); $_[1] }
6020             ],
6021             [#Rule 148
6022             'setlist', 2, undef
6023             ],
6024             [#Rule 149
6025             'setlist', 1, undef
6026             ],
6027             [#Rule 150
6028             'assign', 3,
6029             sub
6030             #line 374 "Parser.yp"
6031             { [ $_[1], $_[3] ] }
6032             ],
6033             [#Rule 151
6034             'assign', 3,
6035             sub
6036             #line 375 "Parser.yp"
6037             { [ @_[1,3] ] }
6038             ],
6039             [#Rule 152
6040             'args', 2,
6041             sub
6042             #line 382 "Parser.yp"
6043             { push(@{$_[1]}, $_[2]); $_[1] }
6044             ],
6045             [#Rule 153
6046             'args', 2,
6047             sub
6048             #line 383 "Parser.yp"
6049             { push(@{$_[1]->[0]}, $_[2]); $_[1] }
6050             ],
6051             [#Rule 154
6052             'args', 4,
6053             sub
6054             #line 384 "Parser.yp"
6055             { push(@{$_[1]->[0]}, "'', " .
6056             $factory->assign(@_[2,4])); $_[1] }
6057             ],
6058             [#Rule 155
6059             'args', 2,
6060             sub
6061             #line 386 "Parser.yp"
6062             { $_[1] }
6063             ],
6064             [#Rule 156
6065             'args', 0,
6066             sub
6067             #line 387 "Parser.yp"
6068             { [ [ ] ] }
6069             ],
6070             [#Rule 157
6071             'lnameargs', 3,
6072             sub
6073             #line 397 "Parser.yp"
6074             { push(@{$_[3]}, $_[1]); $_[3] }
6075             ],
6076             [#Rule 158
6077             'lnameargs', 1, undef
6078             ],
6079             [#Rule 159
6080             'lvalue', 1, undef
6081             ],
6082             [#Rule 160
6083             'lvalue', 3,
6084             sub
6085             #line 402 "Parser.yp"
6086             { $factory->quoted($_[2]) }
6087             ],
6088             [#Rule 161
6089             'lvalue', 1, undef
6090             ],
6091             [#Rule 162
6092             'nameargs', 3,
6093             sub
6094             #line 406 "Parser.yp"
6095             { [ [$factory->ident($_[2])], $_[3] ] }
6096             ],
6097             [#Rule 163
6098             'nameargs', 2,
6099             sub
6100             #line 407 "Parser.yp"
6101             { [ @_[1,2] ] }
6102             ],
6103             [#Rule 164
6104             'nameargs', 4,
6105             sub
6106             #line 408 "Parser.yp"
6107             { [ @_[1,3] ] }
6108             ],
6109             [#Rule 165
6110             'names', 3,
6111             sub
6112             #line 411 "Parser.yp"
6113             { push(@{$_[1]}, $_[3]); $_[1] }
6114             ],
6115             [#Rule 166
6116             'names', 1,
6117             sub
6118             #line 412 "Parser.yp"
6119             { [ $_[1] ] }
6120             ],
6121             [#Rule 167
6122             'name', 3,
6123             sub
6124             #line 415 "Parser.yp"
6125             { $factory->quoted($_[2]) }
6126             ],
6127             [#Rule 168
6128             'name', 1,
6129             sub
6130             #line 416 "Parser.yp"
6131             { "'$_[1]'" }
6132             ],
6133             [#Rule 169
6134             'name', 1, undef
6135             ],
6136             [#Rule 170
6137             'filename', 3,
6138             sub
6139             #line 420 "Parser.yp"
6140             { "$_[1].$_[3]" }
6141             ],
6142             [#Rule 171
6143             'filename', 1, undef
6144             ],
6145             [#Rule 172
6146             'filepart', 1, undef
6147             ],
6148             [#Rule 173
6149             'filepart', 1, undef
6150             ],
6151             [#Rule 174
6152             'filepart', 1, undef
6153             ],
6154             [#Rule 175
6155             'quoted', 2,
6156             sub
6157             #line 434 "Parser.yp"
6158             { push(@{$_[1]}, $_[2])
6159             if defined $_[2]; $_[1] }
6160             ],
6161             [#Rule 176
6162             'quoted', 0,
6163             sub
6164             #line 436 "Parser.yp"
6165             { [ ] }
6166             ],
6167             [#Rule 177
6168             'quotable', 1,
6169             sub
6170             #line 439 "Parser.yp"
6171             { $factory->ident($_[1]) }
6172             ],
6173             [#Rule 178
6174             'quotable', 1,
6175             sub
6176             #line 440 "Parser.yp"
6177             { $factory->text($_[1]) }
6178             ],
6179             [#Rule 179
6180             'quotable', 1,
6181             sub
6182             #line 441 "Parser.yp"
6183             { undef }
6184             ]
6185             ];
6186              
6187              
6188              
6189             1;
6190              
6191             __END__