diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java
index 421759dc435183c3f709a3d871eec6910f441e10..a30627a5054ec4065a51f2db7ab016970f38a9c4 100644
--- a/src/main/java/org/sablecc/sablecc/parser/Parser.java
+++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java
@@ -274,1616 +274,1347 @@ public class Parser implements IParser
                     {
                         case 0: /* reduce AAgrammar1Grammar */
                         {
-                            List<Object> list = new0();
-                            push(goTo(0), list);
+                            push(goTo(0), new0());
                         }
                         break;
                         case 1: /* reduce AAgrammar2Grammar */
                         {
-                            List<Object> list = new1();
-                            push(goTo(0), list);
+                            push(goTo(0), new1());
                         }
                         break;
                         case 2: /* reduce AAgrammar3Grammar */
                         {
-                            List<Object> list = new2();
-                            push(goTo(0), list);
+                            push(goTo(0), new2());
                         }
                         break;
                         case 3: /* reduce AAgrammar4Grammar */
                         {
-                            List<Object> list = new3();
-                            push(goTo(0), list);
+                            push(goTo(0), new3());
                         }
                         break;
                         case 4: /* reduce AAgrammar5Grammar */
                         {
-                            List<Object> list = new4();
-                            push(goTo(0), list);
+                            push(goTo(0), new4());
                         }
                         break;
                         case 5: /* reduce AAgrammar6Grammar */
                         {
-                            List<Object> list = new5();
-                            push(goTo(0), list);
+                            push(goTo(0), new5());
                         }
                         break;
                         case 6: /* reduce AAgrammar7Grammar */
                         {
-                            List<Object> list = new6();
-                            push(goTo(0), list);
+                            push(goTo(0), new6());
                         }
                         break;
                         case 7: /* reduce AAgrammar8Grammar */
                         {
-                            List<Object> list = new7();
-                            push(goTo(0), list);
+                            push(goTo(0), new7());
                         }
                         break;
                         case 8: /* reduce AAgrammar9Grammar */
                         {
-                            List<Object> list = new8();
-                            push(goTo(0), list);
+                            push(goTo(0), new8());
                         }
                         break;
                         case 9: /* reduce AAgrammar10Grammar */
                         {
-                            List<Object> list = new9();
-                            push(goTo(0), list);
+                            push(goTo(0), new9());
                         }
                         break;
                         case 10: /* reduce AAgrammar11Grammar */
                         {
-                            List<Object> list = new10();
-                            push(goTo(0), list);
+                            push(goTo(0), new10());
                         }
                         break;
                         case 11: /* reduce AAgrammar12Grammar */
                         {
-                            List<Object> list = new11();
-                            push(goTo(0), list);
+                            push(goTo(0), new11());
                         }
                         break;
                         case 12: /* reduce AAgrammar13Grammar */
                         {
-                            List<Object> list = new12();
-                            push(goTo(0), list);
+                            push(goTo(0), new12());
                         }
                         break;
                         case 13: /* reduce AAgrammar14Grammar */
                         {
-                            List<Object> list = new13();
-                            push(goTo(0), list);
+                            push(goTo(0), new13());
                         }
                         break;
                         case 14: /* reduce AAgrammar15Grammar */
                         {
-                            List<Object> list = new14();
-                            push(goTo(0), list);
+                            push(goTo(0), new14());
                         }
                         break;
                         case 15: /* reduce AAgrammar16Grammar */
                         {
-                            List<Object> list = new15();
-                            push(goTo(0), list);
+                            push(goTo(0), new15());
                         }
                         break;
                         case 16: /* reduce AAgrammar17Grammar */
                         {
-                            List<Object> list = new16();
-                            push(goTo(0), list);
+                            push(goTo(0), new16());
                         }
                         break;
                         case 17: /* reduce AAgrammar18Grammar */
                         {
-                            List<Object> list = new17();
-                            push(goTo(0), list);
+                            push(goTo(0), new17());
                         }
                         break;
                         case 18: /* reduce AAgrammar19Grammar */
                         {
-                            List<Object> list = new18();
-                            push(goTo(0), list);
+                            push(goTo(0), new18());
                         }
                         break;
                         case 19: /* reduce AAgrammar20Grammar */
                         {
-                            List<Object> list = new19();
-                            push(goTo(0), list);
+                            push(goTo(0), new19());
                         }
                         break;
                         case 20: /* reduce AAgrammar21Grammar */
                         {
-                            List<Object> list = new20();
-                            push(goTo(0), list);
+                            push(goTo(0), new20());
                         }
                         break;
                         case 21: /* reduce AAgrammar22Grammar */
                         {
-                            List<Object> list = new21();
-                            push(goTo(0), list);
+                            push(goTo(0), new21());
                         }
                         break;
                         case 22: /* reduce AAgrammar23Grammar */
                         {
-                            List<Object> list = new22();
-                            push(goTo(0), list);
+                            push(goTo(0), new22());
                         }
                         break;
                         case 23: /* reduce AAgrammar24Grammar */
                         {
-                            List<Object> list = new23();
-                            push(goTo(0), list);
+                            push(goTo(0), new23());
                         }
                         break;
                         case 24: /* reduce AAgrammar25Grammar */
                         {
-                            List<Object> list = new24();
-                            push(goTo(0), list);
+                            push(goTo(0), new24());
                         }
                         break;
                         case 25: /* reduce AAgrammar26Grammar */
                         {
-                            List<Object> list = new25();
-                            push(goTo(0), list);
+                            push(goTo(0), new25());
                         }
                         break;
                         case 26: /* reduce AAgrammar27Grammar */
                         {
-                            List<Object> list = new26();
-                            push(goTo(0), list);
+                            push(goTo(0), new26());
                         }
                         break;
                         case 27: /* reduce AAgrammar28Grammar */
                         {
-                            List<Object> list = new27();
-                            push(goTo(0), list);
+                            push(goTo(0), new27());
                         }
                         break;
                         case 28: /* reduce AAgrammar29Grammar */
                         {
-                            List<Object> list = new28();
-                            push(goTo(0), list);
+                            push(goTo(0), new28());
                         }
                         break;
                         case 29: /* reduce AAgrammar30Grammar */
                         {
-                            List<Object> list = new29();
-                            push(goTo(0), list);
+                            push(goTo(0), new29());
                         }
                         break;
                         case 30: /* reduce AAgrammar31Grammar */
                         {
-                            List<Object> list = new30();
-                            push(goTo(0), list);
+                            push(goTo(0), new30());
                         }
                         break;
                         case 31: /* reduce AAgrammar32Grammar */
                         {
-                            List<Object> list = new31();
-                            push(goTo(0), list);
+                            push(goTo(0), new31());
                         }
                         break;
                         case 32: /* reduce AAgrammar33Grammar */
                         {
-                            List<Object> list = new32();
-                            push(goTo(0), list);
+                            push(goTo(0), new32());
                         }
                         break;
                         case 33: /* reduce AAgrammar34Grammar */
                         {
-                            List<Object> list = new33();
-                            push(goTo(0), list);
+                            push(goTo(0), new33());
                         }
                         break;
                         case 34: /* reduce AAgrammar35Grammar */
                         {
-                            List<Object> list = new34();
-                            push(goTo(0), list);
+                            push(goTo(0), new34());
                         }
                         break;
                         case 35: /* reduce AAgrammar36Grammar */
                         {
-                            List<Object> list = new35();
-                            push(goTo(0), list);
+                            push(goTo(0), new35());
                         }
                         break;
                         case 36: /* reduce AAgrammar37Grammar */
                         {
-                            List<Object> list = new36();
-                            push(goTo(0), list);
+                            push(goTo(0), new36());
                         }
                         break;
                         case 37: /* reduce AAgrammar38Grammar */
                         {
-                            List<Object> list = new37();
-                            push(goTo(0), list);
+                            push(goTo(0), new37());
                         }
                         break;
                         case 38: /* reduce AAgrammar39Grammar */
                         {
-                            List<Object> list = new38();
-                            push(goTo(0), list);
+                            push(goTo(0), new38());
                         }
                         break;
                         case 39: /* reduce AAgrammar40Grammar */
                         {
-                            List<Object> list = new39();
-                            push(goTo(0), list);
+                            push(goTo(0), new39());
                         }
                         break;
                         case 40: /* reduce AAgrammar41Grammar */
                         {
-                            List<Object> list = new40();
-                            push(goTo(0), list);
+                            push(goTo(0), new40());
                         }
                         break;
                         case 41: /* reduce AAgrammar42Grammar */
                         {
-                            List<Object> list = new41();
-                            push(goTo(0), list);
+                            push(goTo(0), new41());
                         }
                         break;
                         case 42: /* reduce AAgrammar43Grammar */
                         {
-                            List<Object> list = new42();
-                            push(goTo(0), list);
+                            push(goTo(0), new42());
                         }
                         break;
                         case 43: /* reduce AAgrammar44Grammar */
                         {
-                            List<Object> list = new43();
-                            push(goTo(0), list);
+                            push(goTo(0), new43());
                         }
                         break;
                         case 44: /* reduce AAgrammar45Grammar */
                         {
-                            List<Object> list = new44();
-                            push(goTo(0), list);
+                            push(goTo(0), new44());
                         }
                         break;
                         case 45: /* reduce AAgrammar46Grammar */
                         {
-                            List<Object> list = new45();
-                            push(goTo(0), list);
+                            push(goTo(0), new45());
                         }
                         break;
                         case 46: /* reduce AAgrammar47Grammar */
                         {
-                            List<Object> list = new46();
-                            push(goTo(0), list);
+                            push(goTo(0), new46());
                         }
                         break;
                         case 47: /* reduce AAgrammar48Grammar */
                         {
-                            List<Object> list = new47();
-                            push(goTo(0), list);
+                            push(goTo(0), new47());
                         }
                         break;
                         case 48: /* reduce AAgrammar49Grammar */
                         {
-                            List<Object> list = new48();
-                            push(goTo(0), list);
+                            push(goTo(0), new48());
                         }
                         break;
                         case 49: /* reduce AAgrammar50Grammar */
                         {
-                            List<Object> list = new49();
-                            push(goTo(0), list);
+                            push(goTo(0), new49());
                         }
                         break;
                         case 50: /* reduce AAgrammar51Grammar */
                         {
-                            List<Object> list = new50();
-                            push(goTo(0), list);
+                            push(goTo(0), new50());
                         }
                         break;
                         case 51: /* reduce AAgrammar52Grammar */
                         {
-                            List<Object> list = new51();
-                            push(goTo(0), list);
+                            push(goTo(0), new51());
                         }
                         break;
                         case 52: /* reduce AAgrammar53Grammar */
                         {
-                            List<Object> list = new52();
-                            push(goTo(0), list);
+                            push(goTo(0), new52());
                         }
                         break;
                         case 53: /* reduce AAgrammar54Grammar */
                         {
-                            List<Object> list = new53();
-                            push(goTo(0), list);
+                            push(goTo(0), new53());
                         }
                         break;
                         case 54: /* reduce AAgrammar55Grammar */
                         {
-                            List<Object> list = new54();
-                            push(goTo(0), list);
+                            push(goTo(0), new54());
                         }
                         break;
                         case 55: /* reduce AAgrammar56Grammar */
                         {
-                            List<Object> list = new55();
-                            push(goTo(0), list);
+                            push(goTo(0), new55());
                         }
                         break;
                         case 56: /* reduce AAgrammar57Grammar */
                         {
-                            List<Object> list = new56();
-                            push(goTo(0), list);
+                            push(goTo(0), new56());
                         }
                         break;
                         case 57: /* reduce AAgrammar58Grammar */
                         {
-                            List<Object> list = new57();
-                            push(goTo(0), list);
+                            push(goTo(0), new57());
                         }
                         break;
                         case 58: /* reduce AAgrammar59Grammar */
                         {
-                            List<Object> list = new58();
-                            push(goTo(0), list);
+                            push(goTo(0), new58());
                         }
                         break;
                         case 59: /* reduce AAgrammar60Grammar */
                         {
-                            List<Object> list = new59();
-                            push(goTo(0), list);
+                            push(goTo(0), new59());
                         }
                         break;
                         case 60: /* reduce AAgrammar61Grammar */
                         {
-                            List<Object> list = new60();
-                            push(goTo(0), list);
+                            push(goTo(0), new60());
                         }
                         break;
                         case 61: /* reduce AAgrammar62Grammar */
                         {
-                            List<Object> list = new61();
-                            push(goTo(0), list);
+                            push(goTo(0), new61());
                         }
                         break;
                         case 62: /* reduce AAgrammar63Grammar */
                         {
-                            List<Object> list = new62();
-                            push(goTo(0), list);
+                            push(goTo(0), new62());
                         }
                         break;
                         case 63: /* reduce AAgrammar64Grammar */
                         {
-                            List<Object> list = new63();
-                            push(goTo(0), list);
+                            push(goTo(0), new63());
                         }
                         break;
                         case 64: /* reduce AAgrammar65Grammar */
                         {
-                            List<Object> list = new64();
-                            push(goTo(0), list);
+                            push(goTo(0), new64());
                         }
                         break;
                         case 65: /* reduce AAgrammar66Grammar */
                         {
-                            List<Object> list = new65();
-                            push(goTo(0), list);
+                            push(goTo(0), new65());
                         }
                         break;
                         case 66: /* reduce AAgrammar67Grammar */
                         {
-                            List<Object> list = new66();
-                            push(goTo(0), list);
+                            push(goTo(0), new66());
                         }
                         break;
                         case 67: /* reduce AAgrammar68Grammar */
                         {
-                            List<Object> list = new67();
-                            push(goTo(0), list);
+                            push(goTo(0), new67());
                         }
                         break;
                         case 68: /* reduce AAgrammar69Grammar */
                         {
-                            List<Object> list = new68();
-                            push(goTo(0), list);
+                            push(goTo(0), new68());
                         }
                         break;
                         case 69: /* reduce AAgrammar70Grammar */
                         {
-                            List<Object> list = new69();
-                            push(goTo(0), list);
+                            push(goTo(0), new69());
                         }
                         break;
                         case 70: /* reduce AAgrammar71Grammar */
                         {
-                            List<Object> list = new70();
-                            push(goTo(0), list);
+                            push(goTo(0), new70());
                         }
                         break;
                         case 71: /* reduce AAgrammar72Grammar */
                         {
-                            List<Object> list = new71();
-                            push(goTo(0), list);
+                            push(goTo(0), new71());
                         }
                         break;
                         case 72: /* reduce AAgrammar73Grammar */
                         {
-                            List<Object> list = new72();
-                            push(goTo(0), list);
+                            push(goTo(0), new72());
                         }
                         break;
                         case 73: /* reduce AAgrammar74Grammar */
                         {
-                            List<Object> list = new73();
-                            push(goTo(0), list);
+                            push(goTo(0), new73());
                         }
                         break;
                         case 74: /* reduce AAgrammar75Grammar */
                         {
-                            List<Object> list = new74();
-                            push(goTo(0), list);
+                            push(goTo(0), new74());
                         }
                         break;
                         case 75: /* reduce AAgrammar76Grammar */
                         {
-                            List<Object> list = new75();
-                            push(goTo(0), list);
+                            push(goTo(0), new75());
                         }
                         break;
                         case 76: /* reduce AAgrammar77Grammar */
                         {
-                            List<Object> list = new76();
-                            push(goTo(0), list);
+                            push(goTo(0), new76());
                         }
                         break;
                         case 77: /* reduce AAgrammar78Grammar */
                         {
-                            List<Object> list = new77();
-                            push(goTo(0), list);
+                            push(goTo(0), new77());
                         }
                         break;
                         case 78: /* reduce AAgrammar79Grammar */
                         {
-                            List<Object> list = new78();
-                            push(goTo(0), list);
+                            push(goTo(0), new78());
                         }
                         break;
                         case 79: /* reduce AAgrammar80Grammar */
                         {
-                            List<Object> list = new79();
-                            push(goTo(0), list);
+                            push(goTo(0), new79());
                         }
                         break;
                         case 80: /* reduce AAgrammar81Grammar */
                         {
-                            List<Object> list = new80();
-                            push(goTo(0), list);
+                            push(goTo(0), new80());
                         }
                         break;
                         case 81: /* reduce AAgrammar82Grammar */
                         {
-                            List<Object> list = new81();
-                            push(goTo(0), list);
+                            push(goTo(0), new81());
                         }
                         break;
                         case 82: /* reduce AAgrammar83Grammar */
                         {
-                            List<Object> list = new82();
-                            push(goTo(0), list);
+                            push(goTo(0), new82());
                         }
                         break;
                         case 83: /* reduce AAgrammar84Grammar */
                         {
-                            List<Object> list = new83();
-                            push(goTo(0), list);
+                            push(goTo(0), new83());
                         }
                         break;
                         case 84: /* reduce AAgrammar85Grammar */
                         {
-                            List<Object> list = new84();
-                            push(goTo(0), list);
+                            push(goTo(0), new84());
                         }
                         break;
                         case 85: /* reduce AAgrammar86Grammar */
                         {
-                            List<Object> list = new85();
-                            push(goTo(0), list);
+                            push(goTo(0), new85());
                         }
                         break;
                         case 86: /* reduce AAgrammar87Grammar */
                         {
-                            List<Object> list = new86();
-                            push(goTo(0), list);
+                            push(goTo(0), new86());
                         }
                         break;
                         case 87: /* reduce AAgrammar88Grammar */
                         {
-                            List<Object> list = new87();
-                            push(goTo(0), list);
+                            push(goTo(0), new87());
                         }
                         break;
                         case 88: /* reduce AAgrammar89Grammar */
                         {
-                            List<Object> list = new88();
-                            push(goTo(0), list);
+                            push(goTo(0), new88());
                         }
                         break;
                         case 89: /* reduce AAgrammar90Grammar */
                         {
-                            List<Object> list = new89();
-                            push(goTo(0), list);
+                            push(goTo(0), new89());
                         }
                         break;
                         case 90: /* reduce AAgrammar91Grammar */
                         {
-                            List<Object> list = new90();
-                            push(goTo(0), list);
+                            push(goTo(0), new90());
                         }
                         break;
                         case 91: /* reduce AAgrammar92Grammar */
                         {
-                            List<Object> list = new91();
-                            push(goTo(0), list);
+                            push(goTo(0), new91());
                         }
                         break;
                         case 92: /* reduce AAgrammar93Grammar */
                         {
-                            List<Object> list = new92();
-                            push(goTo(0), list);
+                            push(goTo(0), new92());
                         }
                         break;
                         case 93: /* reduce AAgrammar94Grammar */
                         {
-                            List<Object> list = new93();
-                            push(goTo(0), list);
+                            push(goTo(0), new93());
                         }
                         break;
                         case 94: /* reduce AAgrammar95Grammar */
                         {
-                            List<Object> list = new94();
-                            push(goTo(0), list);
+                            push(goTo(0), new94());
                         }
                         break;
                         case 95: /* reduce AAgrammar96Grammar */
                         {
-                            List<Object> list = new95();
-                            push(goTo(0), list);
+                            push(goTo(0), new95());
                         }
                         break;
                         case 96: /* reduce AAgrammar97Grammar */
                         {
-                            List<Object> list = new96();
-                            push(goTo(0), list);
+                            push(goTo(0), new96());
                         }
                         break;
                         case 97: /* reduce AAgrammar98Grammar */
                         {
-                            List<Object> list = new97();
-                            push(goTo(0), list);
+                            push(goTo(0), new97());
                         }
                         break;
                         case 98: /* reduce AAgrammar99Grammar */
                         {
-                            List<Object> list = new98();
-                            push(goTo(0), list);
+                            push(goTo(0), new98());
                         }
                         break;
                         case 99: /* reduce AAgrammar100Grammar */
                         {
-                            List<Object> list = new99();
-                            push(goTo(0), list);
+                            push(goTo(0), new99());
                         }
                         break;
                         case 100: /* reduce AAgrammar101Grammar */
                         {
-                            List<Object> list = new100();
-                            push(goTo(0), list);
+                            push(goTo(0), new100());
                         }
                         break;
                         case 101: /* reduce AAgrammar102Grammar */
                         {
-                            List<Object> list = new101();
-                            push(goTo(0), list);
+                            push(goTo(0), new101());
                         }
                         break;
                         case 102: /* reduce AAgrammar103Grammar */
                         {
-                            List<Object> list = new102();
-                            push(goTo(0), list);
+                            push(goTo(0), new102());
                         }
                         break;
                         case 103: /* reduce AAgrammar104Grammar */
                         {
-                            List<Object> list = new103();
-                            push(goTo(0), list);
+                            push(goTo(0), new103());
                         }
                         break;
                         case 104: /* reduce AAgrammar105Grammar */
                         {
-                            List<Object> list = new104();
-                            push(goTo(0), list);
+                            push(goTo(0), new104());
                         }
                         break;
                         case 105: /* reduce AAgrammar106Grammar */
                         {
-                            List<Object> list = new105();
-                            push(goTo(0), list);
+                            push(goTo(0), new105());
                         }
                         break;
                         case 106: /* reduce AAgrammar107Grammar */
                         {
-                            List<Object> list = new106();
-                            push(goTo(0), list);
+                            push(goTo(0), new106());
                         }
                         break;
                         case 107: /* reduce AAgrammar108Grammar */
                         {
-                            List<Object> list = new107();
-                            push(goTo(0), list);
+                            push(goTo(0), new107());
                         }
                         break;
                         case 108: /* reduce AAgrammar109Grammar */
                         {
-                            List<Object> list = new108();
-                            push(goTo(0), list);
+                            push(goTo(0), new108());
                         }
                         break;
                         case 109: /* reduce AAgrammar110Grammar */
                         {
-                            List<Object> list = new109();
-                            push(goTo(0), list);
+                            push(goTo(0), new109());
                         }
                         break;
                         case 110: /* reduce AAgrammar111Grammar */
                         {
-                            List<Object> list = new110();
-                            push(goTo(0), list);
+                            push(goTo(0), new110());
                         }
                         break;
                         case 111: /* reduce AAgrammar112Grammar */
                         {
-                            List<Object> list = new111();
-                            push(goTo(0), list);
+                            push(goTo(0), new111());
                         }
                         break;
                         case 112: /* reduce AAgrammar113Grammar */
                         {
-                            List<Object> list = new112();
-                            push(goTo(0), list);
+                            push(goTo(0), new112());
                         }
                         break;
                         case 113: /* reduce AAgrammar114Grammar */
                         {
-                            List<Object> list = new113();
-                            push(goTo(0), list);
+                            push(goTo(0), new113());
                         }
                         break;
                         case 114: /* reduce AAgrammar115Grammar */
                         {
-                            List<Object> list = new114();
-                            push(goTo(0), list);
+                            push(goTo(0), new114());
                         }
                         break;
                         case 115: /* reduce AAgrammar116Grammar */
                         {
-                            List<Object> list = new115();
-                            push(goTo(0), list);
+                            push(goTo(0), new115());
                         }
                         break;
                         case 116: /* reduce AAgrammar117Grammar */
                         {
-                            List<Object> list = new116();
-                            push(goTo(0), list);
+                            push(goTo(0), new116());
                         }
                         break;
                         case 117: /* reduce AAgrammar118Grammar */
                         {
-                            List<Object> list = new117();
-                            push(goTo(0), list);
+                            push(goTo(0), new117());
                         }
                         break;
                         case 118: /* reduce AAgrammar119Grammar */
                         {
-                            List<Object> list = new118();
-                            push(goTo(0), list);
+                            push(goTo(0), new118());
                         }
                         break;
                         case 119: /* reduce AAgrammar120Grammar */
                         {
-                            List<Object> list = new119();
-                            push(goTo(0), list);
+                            push(goTo(0), new119());
                         }
                         break;
                         case 120: /* reduce AAgrammar121Grammar */
                         {
-                            List<Object> list = new120();
-                            push(goTo(0), list);
+                            push(goTo(0), new120());
                         }
                         break;
                         case 121: /* reduce AAgrammar122Grammar */
                         {
-                            List<Object> list = new121();
-                            push(goTo(0), list);
+                            push(goTo(0), new121());
                         }
                         break;
                         case 122: /* reduce AAgrammar123Grammar */
                         {
-                            List<Object> list = new122();
-                            push(goTo(0), list);
+                            push(goTo(0), new122());
                         }
                         break;
                         case 123: /* reduce AAgrammar124Grammar */
                         {
-                            List<Object> list = new123();
-                            push(goTo(0), list);
+                            push(goTo(0), new123());
                         }
                         break;
                         case 124: /* reduce AAgrammar125Grammar */
                         {
-                            List<Object> list = new124();
-                            push(goTo(0), list);
+                            push(goTo(0), new124());
                         }
                         break;
                         case 125: /* reduce AAgrammar126Grammar */
                         {
-                            List<Object> list = new125();
-                            push(goTo(0), list);
+                            push(goTo(0), new125());
                         }
                         break;
                         case 126: /* reduce AAgrammar127Grammar */
                         {
-                            List<Object> list = new126();
-                            push(goTo(0), list);
+                            push(goTo(0), new126());
                         }
                         break;
                         case 127: /* reduce AAgrammar128Grammar */
                         {
-                            List<Object> list = new127();
-                            push(goTo(0), list);
+                            push(goTo(0), new127());
                         }
                         break;
                         case 128: /* reduce APackage */
                         {
-                            List<Object> list = new128();
-                            push(goTo(1), list);
+                            push(goTo(1), new128());
                         }
                         break;
                         case 129: /* reduce AApkgname1PkgName */
                         {
-                            List<Object> list = new129();
-                            push(goTo(2), list);
+                            push(goTo(2), new129());
                         }
                         break;
                         case 130: /* reduce AApkgname2PkgName */
                         {
-                            List<Object> list = new130();
-                            push(goTo(2), list);
+                            push(goTo(2), new130());
                         }
                         break;
                         case 131: /* reduce APkgNameTail */
                         {
-                            List<Object> list = new131();
-                            push(goTo(3), list);
+                            push(goTo(3), new131());
                         }
                         break;
                         case 132: /* reduce AHelpers */
                         {
-                            List<Object> list = new132();
-                            push(goTo(4), list);
+                            push(goTo(4), new132());
                         }
                         break;
                         case 133: /* reduce AHelperDef */
                         {
-                            List<Object> list = new133();
-                            push(goTo(5), list);
+                            push(goTo(5), new133());
                         }
                         break;
                         case 134: /* reduce AStates */
                         {
-                            List<Object> list = new134();
-                            push(goTo(6), list);
+                            push(goTo(6), new134());
                         }
                         break;
                         case 135: /* reduce AAidlist1IdList */
                         {
-                            List<Object> list = new135();
-                            push(goTo(7), list);
+                            push(goTo(7), new135());
                         }
                         break;
                         case 136: /* reduce AAidlist2IdList */
                         {
-                            List<Object> list = new136();
-                            push(goTo(7), list);
+                            push(goTo(7), new136());
                         }
                         break;
                         case 137: /* reduce AIdListTail */
                         {
-                            List<Object> list = new137();
-                            push(goTo(8), list);
+                            push(goTo(8), new137());
                         }
                         break;
                         case 138: /* reduce ATokens */
                         {
-                            List<Object> list = new138();
-                            push(goTo(9), list);
+                            push(goTo(9), new138());
                         }
                         break;
                         case 139: /* reduce AAtokendef1TokenDef */
                         {
-                            List<Object> list = new139();
-                            push(goTo(10), list);
+                            push(goTo(10), new139());
                         }
                         break;
                         case 140: /* reduce AAtokendef2TokenDef */
                         {
-                            List<Object> list = new140();
-                            push(goTo(10), list);
+                            push(goTo(10), new140());
                         }
                         break;
                         case 141: /* reduce AAtokendef3TokenDef */
                         {
-                            List<Object> list = new141();
-                            push(goTo(10), list);
+                            push(goTo(10), new141());
                         }
                         break;
                         case 142: /* reduce AAtokendef4TokenDef */
                         {
-                            List<Object> list = new142();
-                            push(goTo(10), list);
+                            push(goTo(10), new142());
                         }
                         break;
                         case 143: /* reduce AAstatelist1StateList */
                         {
-                            List<Object> list = new143();
-                            push(goTo(11), list);
+                            push(goTo(11), new143());
                         }
                         break;
                         case 144: /* reduce AAstatelist2StateList */
                         {
-                            List<Object> list = new144();
-                            push(goTo(11), list);
+                            push(goTo(11), new144());
                         }
                         break;
                         case 145: /* reduce AAstatelist3StateList */
                         {
-                            List<Object> list = new145();
-                            push(goTo(11), list);
+                            push(goTo(11), new145());
                         }
                         break;
                         case 146: /* reduce AAstatelist4StateList */
                         {
-                            List<Object> list = new146();
-                            push(goTo(11), list);
+                            push(goTo(11), new146());
                         }
                         break;
                         case 147: /* reduce AAstatelisttail1StateListTail */
                         {
-                            List<Object> list = new147();
-                            push(goTo(12), list);
+                            push(goTo(12), new147());
                         }
                         break;
                         case 148: /* reduce AAstatelisttail2StateListTail */
                         {
-                            List<Object> list = new148();
-                            push(goTo(12), list);
+                            push(goTo(12), new148());
                         }
                         break;
                         case 149: /* reduce ATransition */
                         {
-                            List<Object> list = new149();
-                            push(goTo(13), list);
+                            push(goTo(13), new149());
                         }
                         break;
                         case 150: /* reduce AAigntokens1IgnTokens */
                         {
-                            List<Object> list = new150();
-                            push(goTo(14), list);
+                            push(goTo(14), new150());
                         }
                         break;
                         case 151: /* reduce AAigntokens2IgnTokens */
                         {
-                            List<Object> list = new151();
-                            push(goTo(14), list);
+                            push(goTo(14), new151());
                         }
                         break;
                         case 152: /* reduce ALookAhead */
                         {
-                            List<Object> list = new152();
-                            push(goTo(15), list);
+                            push(goTo(15), new152());
                         }
                         break;
                         case 153: /* reduce AAregexp1RegExp */
                         {
-                            List<Object> list = new153();
-                            push(goTo(16), list);
+                            push(goTo(16), new153());
                         }
                         break;
                         case 154: /* reduce AAregexp2RegExp */
                         {
-                            List<Object> list = new154();
-                            push(goTo(16), list);
+                            push(goTo(16), new154());
                         }
                         break;
                         case 155: /* reduce ARegExpTail */
                         {
-                            List<Object> list = new155();
-                            push(goTo(17), list);
+                            push(goTo(17), new155());
                         }
                         break;
                         case 156: /* reduce AAconcat1Concat */
                         {
-                            List<Object> list = new156();
-                            push(goTo(18), list);
+                            push(goTo(18), new156());
                         }
                         break;
                         case 157: /* reduce AAconcat2Concat */
                         {
-                            List<Object> list = new157();
-                            push(goTo(18), list);
+                            push(goTo(18), new157());
                         }
                         break;
                         case 158: /* reduce AAunexp1UnExp */
                         {
-                            List<Object> list = new158();
-                            push(goTo(19), list);
+                            push(goTo(19), new158());
                         }
                         break;
                         case 159: /* reduce AAunexp2UnExp */
                         {
-                            List<Object> list = new159();
-                            push(goTo(19), list);
+                            push(goTo(19), new159());
                         }
                         break;
                         case 160: /* reduce ACharBasic */
                         {
-                            List<Object> list = new160();
-                            push(goTo(20), list);
+                            push(goTo(20), new160());
                         }
                         break;
                         case 161: /* reduce ASetBasic */
                         {
-                            List<Object> list = new161();
-                            push(goTo(20), list);
+                            push(goTo(20), new161());
                         }
                         break;
                         case 162: /* reduce AStringBasic */
                         {
-                            List<Object> list = new162();
-                            push(goTo(20), list);
+                            push(goTo(20), new162());
                         }
                         break;
                         case 163: /* reduce AIdBasic */
                         {
-                            List<Object> list = new163();
-                            push(goTo(20), list);
+                            push(goTo(20), new163());
                         }
                         break;
                         case 164: /* reduce ARegExpBasic */
                         {
-                            List<Object> list = new164();
-                            push(goTo(20), list);
+                            push(goTo(20), new164());
                         }
                         break;
                         case 165: /* reduce ACharChar */
                         {
-                            List<Object> list = new165();
-                            push(goTo(21), list);
+                            push(goTo(21), new165());
                         }
                         break;
                         case 166: /* reduce ADecChar */
                         {
-                            List<Object> list = new166();
-                            push(goTo(21), list);
+                            push(goTo(21), new166());
                         }
                         break;
                         case 167: /* reduce AHexChar */
                         {
-                            List<Object> list = new167();
-                            push(goTo(21), list);
+                            push(goTo(21), new167());
                         }
                         break;
                         case 168: /* reduce AOperationSet */
                         {
-                            List<Object> list = new168();
-                            push(goTo(22), list);
+                            push(goTo(22), new168());
                         }
                         break;
                         case 169: /* reduce AIntervalSet */
                         {
-                            List<Object> list = new169();
-                            push(goTo(22), list);
+                            push(goTo(22), new169());
                         }
                         break;
                         case 170: /* reduce AStarUnOp */
                         {
-                            List<Object> list = new170();
-                            push(goTo(23), list);
+                            push(goTo(23), new170());
                         }
                         break;
                         case 171: /* reduce AQMarkUnOp */
                         {
-                            List<Object> list = new171();
-                            push(goTo(23), list);
+                            push(goTo(23), new171());
                         }
                         break;
                         case 172: /* reduce APlusUnOp */
                         {
-                            List<Object> list = new172();
-                            push(goTo(23), list);
+                            push(goTo(23), new172());
                         }
                         break;
                         case 173: /* reduce APlusBinOp */
                         {
-                            List<Object> list = new173();
-                            push(goTo(24), list);
+                            push(goTo(24), new173());
                         }
                         break;
                         case 174: /* reduce AMinusBinOp */
                         {
-                            List<Object> list = new174();
-                            push(goTo(24), list);
+                            push(goTo(24), new174());
                         }
                         break;
                         case 175: /* reduce AProductions */
                         {
-                            List<Object> list = new175();
-                            push(goTo(25), list);
+                            push(goTo(25), new175());
                         }
                         break;
                         case 176: /* reduce AAprod1Prod */
                         {
-                            List<Object> list = new176();
-                            push(goTo(26), list);
+                            push(goTo(26), new176());
                         }
                         break;
                         case 177: /* reduce AAprod2Prod */
                         {
-                            List<Object> list = new177();
-                            push(goTo(26), list);
+                            push(goTo(26), new177());
                         }
                         break;
                         case 178: /* reduce AAprodtransform1ProdTransform */
                         {
-                            List<Object> list = new178();
-                            push(goTo(27), list);
+                            push(goTo(27), new178());
                         }
                         break;
                         case 179: /* reduce AAprodtransform2ProdTransform */
                         {
-                            List<Object> list = new179();
-                            push(goTo(27), list);
+                            push(goTo(27), new179());
                         }
                         break;
                         case 180: /* reduce AAalts1Alts */
                         {
-                            List<Object> list = new180();
-                            push(goTo(28), list);
+                            push(goTo(28), new180());
                         }
                         break;
                         case 181: /* reduce AAalts2Alts */
                         {
-                            List<Object> list = new181();
-                            push(goTo(28), list);
+                            push(goTo(28), new181());
                         }
                         break;
                         case 182: /* reduce AAltsTail */
                         {
-                            List<Object> list = new182();
-                            push(goTo(29), list);
+                            push(goTo(29), new182());
                         }
                         break;
                         case 183: /* reduce AAalt1Alt */
                         {
-                            List<Object> list = new183();
-                            push(goTo(30), list);
+                            push(goTo(30), new183());
                         }
                         break;
                         case 184: /* reduce AAalt2Alt */
                         {
-                            List<Object> list = new184();
-                            push(goTo(30), list);
+                            push(goTo(30), new184());
                         }
                         break;
                         case 185: /* reduce AAalt3Alt */
                         {
-                            List<Object> list = new185();
-                            push(goTo(30), list);
+                            push(goTo(30), new185());
                         }
                         break;
                         case 186: /* reduce AAalt4Alt */
                         {
-                            List<Object> list = new186();
-                            push(goTo(30), list);
+                            push(goTo(30), new186());
                         }
                         break;
                         case 187: /* reduce AAalt5Alt */
                         {
-                            List<Object> list = new187();
-                            push(goTo(30), list);
+                            push(goTo(30), new187());
                         }
                         break;
                         case 188: /* reduce AAalt6Alt */
                         {
-                            List<Object> list = new188();
-                            push(goTo(30), list);
+                            push(goTo(30), new188());
                         }
                         break;
                         case 189: /* reduce AAalt7Alt */
                         {
-                            List<Object> list = new189();
-                            push(goTo(30), list);
+                            push(goTo(30), new189());
                         }
                         break;
                         case 190: /* reduce AAalt8Alt */
                         {
-                            List<Object> list = new190();
-                            push(goTo(30), list);
+                            push(goTo(30), new190());
                         }
                         break;
                         case 191: /* reduce AAalttransform1AltTransform */
                         {
-                            List<Object> list = new191();
-                            push(goTo(31), list);
+                            push(goTo(31), new191());
                         }
                         break;
                         case 192: /* reduce AAalttransform2AltTransform */
                         {
-                            List<Object> list = new192();
-                            push(goTo(31), list);
+                            push(goTo(31), new192());
                         }
                         break;
                         case 193: /* reduce AAnewterm1Term */
                         {
-                            List<Object> list = new193();
-                            push(goTo(32), list);
+                            push(goTo(32), new193());
                         }
                         break;
                         case 194: /* reduce AAnewterm2Term */
                         {
-                            List<Object> list = new194();
-                            push(goTo(32), list);
+                            push(goTo(32), new194());
                         }
                         break;
                         case 195: /* reduce AAlistterm1Term */
                         {
-                            List<Object> list = new195();
-                            push(goTo(32), list);
+                            push(goTo(32), new195());
                         }
                         break;
                         case 196: /* reduce AAlistterm2Term */
                         {
-                            List<Object> list = new196();
-                            push(goTo(32), list);
+                            push(goTo(32), new196());
                         }
                         break;
                         case 197: /* reduce AAsimpleterm1Term */
                         {
-                            List<Object> list = new197();
-                            push(goTo(32), list);
+                            push(goTo(32), new197());
                         }
                         break;
                         case 198: /* reduce AAsimpleterm2Term */
                         {
-                            List<Object> list = new198();
-                            push(goTo(32), list);
+                            push(goTo(32), new198());
                         }
                         break;
                         case 199: /* reduce AAsimpleterm3Term */
                         {
-                            List<Object> list = new199();
-                            push(goTo(32), list);
+                            push(goTo(32), new199());
                         }
                         break;
                         case 200: /* reduce AAsimpleterm4Term */
                         {
-                            List<Object> list = new200();
-                            push(goTo(32), list);
+                            push(goTo(32), new200());
                         }
                         break;
                         case 201: /* reduce ANullTerm */
                         {
-                            List<Object> list = new201();
-                            push(goTo(32), list);
+                            push(goTo(32), new201());
                         }
                         break;
                         case 202: /* reduce AAlistoflistterm1ListOfListTerm */
                         {
-                            List<Object> list = new202();
-                            push(goTo(33), list);
+                            push(goTo(33), new202());
                         }
                         break;
                         case 203: /* reduce AAlistoflistterm2ListOfListTerm */
                         {
-                            List<Object> list = new203();
-                            push(goTo(33), list);
+                            push(goTo(33), new203());
                         }
                         break;
                         case 204: /* reduce AAnewlistterm1ListTerm */
                         {
-                            List<Object> list = new204();
-                            push(goTo(34), list);
+                            push(goTo(34), new204());
                         }
                         break;
                         case 205: /* reduce AAnewlistterm2ListTerm */
                         {
-                            List<Object> list = new205();
-                            push(goTo(34), list);
+                            push(goTo(34), new205());
                         }
                         break;
                         case 206: /* reduce AAsimplelistterm1ListTerm */
                         {
-                            List<Object> list = new206();
-                            push(goTo(34), list);
+                            push(goTo(34), new206());
                         }
                         break;
                         case 207: /* reduce AAsimplelistterm2ListTerm */
                         {
-                            List<Object> list = new207();
-                            push(goTo(34), list);
+                            push(goTo(34), new207());
                         }
                         break;
                         case 208: /* reduce AAsimplelistterm3ListTerm */
                         {
-                            List<Object> list = new208();
-                            push(goTo(34), list);
+                            push(goTo(34), new208());
                         }
                         break;
                         case 209: /* reduce AAsimplelistterm4ListTerm */
                         {
-                            List<Object> list = new209();
-                            push(goTo(34), list);
+                            push(goTo(34), new209());
                         }
                         break;
                         case 210: /* reduce AListTermTail */
                         {
-                            List<Object> list = new210();
-                            push(goTo(35), list);
+                            push(goTo(35), new210());
                         }
                         break;
                         case 211: /* reduce ASimpleTermTail */
                         {
-                            List<Object> list = new211();
-                            push(goTo(36), list);
+                            push(goTo(36), new211());
                         }
                         break;
                         case 212: /* reduce AAprodname1ProdName */
                         {
-                            List<Object> list = new212();
-                            push(goTo(37), list);
+                            push(goTo(37), new212());
                         }
                         break;
                         case 213: /* reduce AAprodname2ProdName */
                         {
-                            List<Object> list = new213();
-                            push(goTo(37), list);
+                            push(goTo(37), new213());
                         }
                         break;
                         case 214: /* reduce AProdNameTail */
                         {
-                            List<Object> list = new214();
-                            push(goTo(38), list);
+                            push(goTo(38), new214());
                         }
                         break;
                         case 215: /* reduce AAparams1Params */
                         {
-                            List<Object> list = new215();
-                            push(goTo(39), list);
+                            push(goTo(39), new215());
                         }
                         break;
                         case 216: /* reduce AAparams2Params */
                         {
-                            List<Object> list = new216();
-                            push(goTo(39), list);
+                            push(goTo(39), new216());
                         }
                         break;
                         case 217: /* reduce AParamsTail */
                         {
-                            List<Object> list = new217();
-                            push(goTo(40), list);
+                            push(goTo(40), new217());
                         }
                         break;
                         case 218: /* reduce AAltName */
                         {
-                            List<Object> list = new218();
-                            push(goTo(41), list);
+                            push(goTo(41), new218());
                         }
                         break;
                         case 219: /* reduce AAelem1Elem */
                         {
-                            List<Object> list = new219();
-                            push(goTo(42), list);
+                            push(goTo(42), new219());
                         }
                         break;
                         case 220: /* reduce AAelem2Elem */
                         {
-                            List<Object> list = new220();
-                            push(goTo(42), list);
+                            push(goTo(42), new220());
                         }
                         break;
                         case 221: /* reduce AAelem3Elem */
                         {
-                            List<Object> list = new221();
-                            push(goTo(42), list);
+                            push(goTo(42), new221());
                         }
                         break;
                         case 222: /* reduce AAelem4Elem */
                         {
-                            List<Object> list = new222();
-                            push(goTo(42), list);
+                            push(goTo(42), new222());
                         }
                         break;
                         case 223: /* reduce AAelem5Elem */
                         {
-                            List<Object> list = new223();
-                            push(goTo(42), list);
+                            push(goTo(42), new223());
                         }
                         break;
                         case 224: /* reduce AAelem6Elem */
                         {
-                            List<Object> list = new224();
-                            push(goTo(42), list);
+                            push(goTo(42), new224());
                         }
                         break;
                         case 225: /* reduce AAelem7Elem */
                         {
-                            List<Object> list = new225();
-                            push(goTo(42), list);
+                            push(goTo(42), new225());
                         }
                         break;
                         case 226: /* reduce AAelem8Elem */
                         {
-                            List<Object> list = new226();
-                            push(goTo(42), list);
+                            push(goTo(42), new226());
                         }
                         break;
                         case 227: /* reduce AElemName */
                         {
-                            List<Object> list = new227();
-                            push(goTo(43), list);
+                            push(goTo(43), new227());
                         }
                         break;
                         case 228: /* reduce ATokenSpecifier */
                         {
-                            List<Object> list = new228();
-                            push(goTo(44), list);
+                            push(goTo(44), new228());
                         }
                         break;
                         case 229: /* reduce AProductionSpecifier */
                         {
-                            List<Object> list = new229();
-                            push(goTo(44), list);
+                            push(goTo(44), new229());
                         }
                         break;
                         case 230: /* reduce AAst */
                         {
-                            List<Object> list = new230();
-                            push(goTo(45), list);
+                            push(goTo(45), new230());
                         }
                         break;
                         case 231: /* reduce AAstProd */
                         {
-                            List<Object> list = new231();
-                            push(goTo(46), list);
+                            push(goTo(46), new231());
                         }
                         break;
                         case 232: /* reduce AAastalts1AstAlts */
                         {
-                            List<Object> list = new232();
-                            push(goTo(47), list);
+                            push(goTo(47), new232());
                         }
                         break;
                         case 233: /* reduce AAastalts2AstAlts */
                         {
-                            List<Object> list = new233();
-                            push(goTo(47), list);
+                            push(goTo(47), new233());
                         }
                         break;
                         case 234: /* reduce AAstAltsTail */
                         {
-                            List<Object> list = new234();
-                            push(goTo(48), list);
+                            push(goTo(48), new234());
                         }
                         break;
                         case 235: /* reduce AAastalt1AstAlt */
                         {
-                            List<Object> list = new235();
-                            push(goTo(49), list);
+                            push(goTo(49), new235());
                         }
                         break;
                         case 236: /* reduce AAastalt2AstAlt */
                         {
-                            List<Object> list = new236();
-                            push(goTo(49), list);
+                            push(goTo(49), new236());
                         }
                         break;
                         case 237: /* reduce AAastalt3AstAlt */
                         {
-                            List<Object> list = new237();
-                            push(goTo(49), list);
+                            push(goTo(49), new237());
                         }
                         break;
                         case 238: /* reduce AAastalt4AstAlt */
                         {
-                            List<Object> list = new238();
-                            push(goTo(49), list);
+                            push(goTo(49), new238());
                         }
                         break;
                         case 239: /* reduce ATerminal$PkgNameTail */
                         {
-                            List<Object> list = new239();
-                            push(goTo(50), list);
+                            push(goTo(50), new239());
                         }
                         break;
                         case 240: /* reduce ANonTerminal$PkgNameTail */
                         {
-                            List<Object> list = new240();
-                            push(goTo(50), list);
+                            push(goTo(50), new240());
                         }
                         break;
                         case 241: /* reduce ATerminal$HelperDef */
                         {
-                            List<Object> list = new241();
-                            push(goTo(51), list);
+                            push(goTo(51), new241());
                         }
                         break;
                         case 242: /* reduce ANonTerminal$HelperDef */
                         {
-                            List<Object> list = new242();
-                            push(goTo(51), list);
+                            push(goTo(51), new242());
                         }
                         break;
                         case 243: /* reduce ATerminal$IdListTail */
                         {
-                            List<Object> list = new243();
-                            push(goTo(52), list);
+                            push(goTo(52), new243());
                         }
                         break;
                         case 244: /* reduce ANonTerminal$IdListTail */
                         {
-                            List<Object> list = new244();
-                            push(goTo(52), list);
+                            push(goTo(52), new244());
                         }
                         break;
                         case 245: /* reduce ATerminal$TokenDef */
                         {
-                            List<Object> list = new245();
-                            push(goTo(53), list);
+                            push(goTo(53), new245());
                         }
                         break;
                         case 246: /* reduce ANonTerminal$TokenDef */
                         {
-                            List<Object> list = new246();
-                            push(goTo(53), list);
+                            push(goTo(53), new246());
                         }
                         break;
                         case 247: /* reduce ATerminal$StateListTail */
                         {
-                            List<Object> list = new247();
-                            push(goTo(54), list);
+                            push(goTo(54), new247());
                         }
                         break;
                         case 248: /* reduce ANonTerminal$StateListTail */
                         {
-                            List<Object> list = new248();
-                            push(goTo(54), list);
+                            push(goTo(54), new248());
                         }
                         break;
                         case 249: /* reduce ATerminal$RegExpTail */
                         {
-                            List<Object> list = new249();
-                            push(goTo(55), list);
+                            push(goTo(55), new249());
                         }
                         break;
                         case 250: /* reduce ANonTerminal$RegExpTail */
                         {
-                            List<Object> list = new250();
-                            push(goTo(55), list);
+                            push(goTo(55), new250());
                         }
                         break;
                         case 251: /* reduce ATerminal$UnExp */
                         {
-                            List<Object> list = new251();
-                            push(goTo(56), list);
+                            push(goTo(56), new251());
                         }
                         break;
                         case 252: /* reduce ANonTerminal$UnExp */
                         {
-                            List<Object> list = new252();
-                            push(goTo(56), list);
+                            push(goTo(56), new252());
                         }
                         break;
                         case 253: /* reduce ATerminal$Prod */
                         {
-                            List<Object> list = new253();
-                            push(goTo(57), list);
+                            push(goTo(57), new253());
                         }
                         break;
                         case 254: /* reduce ANonTerminal$Prod */
                         {
-                            List<Object> list = new254();
-                            push(goTo(57), list);
+                            push(goTo(57), new254());
                         }
                         break;
                         case 255: /* reduce ATerminal$Elem */
                         {
-                            List<Object> list = new255();
-                            push(goTo(58), list);
+                            push(goTo(58), new255());
                         }
                         break;
                         case 256: /* reduce ANonTerminal$Elem */
                         {
-                            List<Object> list = new256();
-                            push(goTo(58), list);
+                            push(goTo(58), new256());
                         }
                         break;
                         case 257: /* reduce ATerminal$AltsTail */
                         {
-                            List<Object> list = new257();
-                            push(goTo(59), list);
+                            push(goTo(59), new257());
                         }
                         break;
                         case 258: /* reduce ANonTerminal$AltsTail */
                         {
-                            List<Object> list = new258();
-                            push(goTo(59), list);
+                            push(goTo(59), new258());
                         }
                         break;
                         case 259: /* reduce ATerminal$Term */
                         {
-                            List<Object> list = new259();
-                            push(goTo(60), list);
+                            push(goTo(60), new259());
                         }
                         break;
                         case 260: /* reduce ANonTerminal$Term */
                         {
-                            List<Object> list = new260();
-                            push(goTo(60), list);
+                            push(goTo(60), new260());
                         }
                         break;
                         case 261: /* reduce ATerminal$ListTermTail */
                         {
-                            List<Object> list = new261();
-                            push(goTo(61), list);
+                            push(goTo(61), new261());
                         }
                         break;
                         case 262: /* reduce ANonTerminal$ListTermTail */
                         {
-                            List<Object> list = new262();
-                            push(goTo(61), list);
+                            push(goTo(61), new262());
                         }
                         break;
                         case 263: /* reduce ATerminal$ParamsTail */
                         {
-                            List<Object> list = new263();
-                            push(goTo(62), list);
+                            push(goTo(62), new263());
                         }
                         break;
                         case 264: /* reduce ANonTerminal$ParamsTail */
                         {
-                            List<Object> list = new264();
-                            push(goTo(62), list);
+                            push(goTo(62), new264());
                         }
                         break;
                         case 265: /* reduce ATerminal$AstProd */
                         {
-                            List<Object> list = new265();
-                            push(goTo(63), list);
+                            push(goTo(63), new265());
                         }
                         break;
                         case 266: /* reduce ANonTerminal$AstProd */
                         {
-                            List<Object> list = new266();
-                            push(goTo(63), list);
+                            push(goTo(63), new266());
                         }
                         break;
                         case 267: /* reduce ATerminal$AstAltsTail */
                         {
-                            List<Object> list = new267();
-                            push(goTo(64), list);
+                            push(goTo(64), new267());
                         }
                         break;
                         case 268: /* reduce ANonTerminal$AstAltsTail */
                         {
-                            List<Object> list = new268();
-                            push(goTo(64), list);
+                            push(goTo(64), new268());
                         }
                         break;
                     }
diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt
index a4d012022a9062ad9513cac3a5009ec1223a2daf..3fdb3b4473f7105782e8ad5b8382a8f005967e6e 100644
--- a/src/main/resources/org/sablecc/sablecc/parser.txt
+++ b/src/main/resources/org/sablecc/sablecc/parser.txt
@@ -312,8 +312,7 @@ $
 Macro:ParserInliningReduce
                         case $0$: /* reduce $2$ */
                         {
-                            List<Object> list = new$0$();
-                            push(goTo($1$), list);
+                            push(goTo($1$), new$0$());
                         }
                         break;
 
@@ -322,8 +321,7 @@ $
 Macro:ParserNoInliningReduce
                         case $0$: /* reduce $3$ */
                         {
-                            List<Object> list = new$0$();
-                            push(goTo($1$), list, $2$);
+                            push(goTo($1$), new$0$(), $2$);
                         }
                         break;