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