File Coverage

blib/lib/Lemplate/Grammar.pm
Criterion Covered Total %
statement 6 10 60.0
branch n/a
condition n/a
subroutine 2 4 50.0
pod 0 2 0.0
total 8 16 50.0


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