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