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