From 825f5dabc5ef6a6fc8e019079c0e66b692e6eaef Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Fri, 21 Jul 2023 19:19:14 +0200
Subject: [PATCH] Weaken type of parser state lists from List<Object> to
 List<?>

---
 .../org/sablecc/sablecc/parser/Parser.java    | 3122 ++++++++---------
 .../org/sablecc/sablecc/parser/State.java     |    4 +-
 .../resources/org/sablecc/sablecc/parser.txt  |   24 +-
 3 files changed, 1575 insertions(+), 1575 deletions(-)

diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java
index 195cd55..626967b 100644
--- a/src/main/java/org/sablecc/sablecc/parser/Parser.java
+++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java
@@ -37,7 +37,7 @@ public class Parser implements IParser
         this.lexer = lexer;
     }
 
-    private void checkResult(Object elementToCheck, List<Object> beginNodeList, List<Object> endNodeList) {
+    private void checkResult(Object elementToCheck, List<?> beginNodeList, List<?> endNodeList) {
         if (elementToCheck instanceof List<?>) {
             /*
              * special case: this is a list of nodes, for example an identifier
@@ -78,7 +78,7 @@ public class Parser implements IParser
         }
     }
 
-    private PositionedNode findBeginNode(final List<Object> list) {
+    private PositionedNode findBeginNode(final List<?> list) {
         Object first = list.get(0);
         if (first instanceof List<?>) {
             List<?> list2 = (List<?>) first;
@@ -93,7 +93,7 @@ public class Parser implements IParser
         return (PositionedNode)first;
     }
 
-    private PositionedNode findEndNode(final List<Object> list) {
+    private PositionedNode findEndNode(final List<?> list) {
         Object last = list.get(list.size() - 1);
         if (last instanceof List<?>) {
             final List<?> list2 = (List<?>) last;
@@ -103,7 +103,7 @@ public class Parser implements IParser
         return (PositionedNode)last;
     }
 
-    private void push(int numstate, List<Object> listNode)
+    private void push(int numstate, List<?> listNode)
     {
         if(!this.stack.hasNext())
         {
@@ -153,7 +153,7 @@ public class Parser implements IParser
         return s.state;
     }
 
-    private List<Object> pop()
+    private List<?> pop()
     {
         return this.stack.previous().nodes;
     }
@@ -213,7 +213,7 @@ public class Parser implements IParser
             {
                 case SHIFT:
                 {
-                    List<Object> list = Collections.<Object>singletonList(this.lexer.next());
+                    List<?> list = Collections.singletonList(this.lexer.next());
                     push(destination, list);
                 }
                 break;
@@ -222,1615 +222,1615 @@ public class Parser implements IParser
                     {
                         case 0: /* reduce AAgrammar1Grammar */
                         {
-                            List<Object> list = new0();
+                            List<?> list = new0();
                             push(goTo(0), list);
                         }
                         break;
                         case 1: /* reduce AAgrammar2Grammar */
                         {
-                            List<Object> list = new1();
+                            List<?> list = new1();
                             push(goTo(0), list);
                         }
                         break;
                         case 2: /* reduce AAgrammar3Grammar */
                         {
-                            List<Object> list = new2();
+                            List<?> list = new2();
                             push(goTo(0), list);
                         }
                         break;
                         case 3: /* reduce AAgrammar4Grammar */
                         {
-                            List<Object> list = new3();
+                            List<?> list = new3();
                             push(goTo(0), list);
                         }
                         break;
                         case 4: /* reduce AAgrammar5Grammar */
                         {
-                            List<Object> list = new4();
+                            List<?> list = new4();
                             push(goTo(0), list);
                         }
                         break;
                         case 5: /* reduce AAgrammar6Grammar */
                         {
-                            List<Object> list = new5();
+                            List<?> list = new5();
                             push(goTo(0), list);
                         }
                         break;
                         case 6: /* reduce AAgrammar7Grammar */
                         {
-                            List<Object> list = new6();
+                            List<?> list = new6();
                             push(goTo(0), list);
                         }
                         break;
                         case 7: /* reduce AAgrammar8Grammar */
                         {
-                            List<Object> list = new7();
+                            List<?> list = new7();
                             push(goTo(0), list);
                         }
                         break;
                         case 8: /* reduce AAgrammar9Grammar */
                         {
-                            List<Object> list = new8();
+                            List<?> list = new8();
                             push(goTo(0), list);
                         }
                         break;
                         case 9: /* reduce AAgrammar10Grammar */
                         {
-                            List<Object> list = new9();
+                            List<?> list = new9();
                             push(goTo(0), list);
                         }
                         break;
                         case 10: /* reduce AAgrammar11Grammar */
                         {
-                            List<Object> list = new10();
+                            List<?> list = new10();
                             push(goTo(0), list);
                         }
                         break;
                         case 11: /* reduce AAgrammar12Grammar */
                         {
-                            List<Object> list = new11();
+                            List<?> list = new11();
                             push(goTo(0), list);
                         }
                         break;
                         case 12: /* reduce AAgrammar13Grammar */
                         {
-                            List<Object> list = new12();
+                            List<?> list = new12();
                             push(goTo(0), list);
                         }
                         break;
                         case 13: /* reduce AAgrammar14Grammar */
                         {
-                            List<Object> list = new13();
+                            List<?> list = new13();
                             push(goTo(0), list);
                         }
                         break;
                         case 14: /* reduce AAgrammar15Grammar */
                         {
-                            List<Object> list = new14();
+                            List<?> list = new14();
                             push(goTo(0), list);
                         }
                         break;
                         case 15: /* reduce AAgrammar16Grammar */
                         {
-                            List<Object> list = new15();
+                            List<?> list = new15();
                             push(goTo(0), list);
                         }
                         break;
                         case 16: /* reduce AAgrammar17Grammar */
                         {
-                            List<Object> list = new16();
+                            List<?> list = new16();
                             push(goTo(0), list);
                         }
                         break;
                         case 17: /* reduce AAgrammar18Grammar */
                         {
-                            List<Object> list = new17();
+                            List<?> list = new17();
                             push(goTo(0), list);
                         }
                         break;
                         case 18: /* reduce AAgrammar19Grammar */
                         {
-                            List<Object> list = new18();
+                            List<?> list = new18();
                             push(goTo(0), list);
                         }
                         break;
                         case 19: /* reduce AAgrammar20Grammar */
                         {
-                            List<Object> list = new19();
+                            List<?> list = new19();
                             push(goTo(0), list);
                         }
                         break;
                         case 20: /* reduce AAgrammar21Grammar */
                         {
-                            List<Object> list = new20();
+                            List<?> list = new20();
                             push(goTo(0), list);
                         }
                         break;
                         case 21: /* reduce AAgrammar22Grammar */
                         {
-                            List<Object> list = new21();
+                            List<?> list = new21();
                             push(goTo(0), list);
                         }
                         break;
                         case 22: /* reduce AAgrammar23Grammar */
                         {
-                            List<Object> list = new22();
+                            List<?> list = new22();
                             push(goTo(0), list);
                         }
                         break;
                         case 23: /* reduce AAgrammar24Grammar */
                         {
-                            List<Object> list = new23();
+                            List<?> list = new23();
                             push(goTo(0), list);
                         }
                         break;
                         case 24: /* reduce AAgrammar25Grammar */
                         {
-                            List<Object> list = new24();
+                            List<?> list = new24();
                             push(goTo(0), list);
                         }
                         break;
                         case 25: /* reduce AAgrammar26Grammar */
                         {
-                            List<Object> list = new25();
+                            List<?> list = new25();
                             push(goTo(0), list);
                         }
                         break;
                         case 26: /* reduce AAgrammar27Grammar */
                         {
-                            List<Object> list = new26();
+                            List<?> list = new26();
                             push(goTo(0), list);
                         }
                         break;
                         case 27: /* reduce AAgrammar28Grammar */
                         {
-                            List<Object> list = new27();
+                            List<?> list = new27();
                             push(goTo(0), list);
                         }
                         break;
                         case 28: /* reduce AAgrammar29Grammar */
                         {
-                            List<Object> list = new28();
+                            List<?> list = new28();
                             push(goTo(0), list);
                         }
                         break;
                         case 29: /* reduce AAgrammar30Grammar */
                         {
-                            List<Object> list = new29();
+                            List<?> list = new29();
                             push(goTo(0), list);
                         }
                         break;
                         case 30: /* reduce AAgrammar31Grammar */
                         {
-                            List<Object> list = new30();
+                            List<?> list = new30();
                             push(goTo(0), list);
                         }
                         break;
                         case 31: /* reduce AAgrammar32Grammar */
                         {
-                            List<Object> list = new31();
+                            List<?> list = new31();
                             push(goTo(0), list);
                         }
                         break;
                         case 32: /* reduce AAgrammar33Grammar */
                         {
-                            List<Object> list = new32();
+                            List<?> list = new32();
                             push(goTo(0), list);
                         }
                         break;
                         case 33: /* reduce AAgrammar34Grammar */
                         {
-                            List<Object> list = new33();
+                            List<?> list = new33();
                             push(goTo(0), list);
                         }
                         break;
                         case 34: /* reduce AAgrammar35Grammar */
                         {
-                            List<Object> list = new34();
+                            List<?> list = new34();
                             push(goTo(0), list);
                         }
                         break;
                         case 35: /* reduce AAgrammar36Grammar */
                         {
-                            List<Object> list = new35();
+                            List<?> list = new35();
                             push(goTo(0), list);
                         }
                         break;
                         case 36: /* reduce AAgrammar37Grammar */
                         {
-                            List<Object> list = new36();
+                            List<?> list = new36();
                             push(goTo(0), list);
                         }
                         break;
                         case 37: /* reduce AAgrammar38Grammar */
                         {
-                            List<Object> list = new37();
+                            List<?> list = new37();
                             push(goTo(0), list);
                         }
                         break;
                         case 38: /* reduce AAgrammar39Grammar */
                         {
-                            List<Object> list = new38();
+                            List<?> list = new38();
                             push(goTo(0), list);
                         }
                         break;
                         case 39: /* reduce AAgrammar40Grammar */
                         {
-                            List<Object> list = new39();
+                            List<?> list = new39();
                             push(goTo(0), list);
                         }
                         break;
                         case 40: /* reduce AAgrammar41Grammar */
                         {
-                            List<Object> list = new40();
+                            List<?> list = new40();
                             push(goTo(0), list);
                         }
                         break;
                         case 41: /* reduce AAgrammar42Grammar */
                         {
-                            List<Object> list = new41();
+                            List<?> list = new41();
                             push(goTo(0), list);
                         }
                         break;
                         case 42: /* reduce AAgrammar43Grammar */
                         {
-                            List<Object> list = new42();
+                            List<?> list = new42();
                             push(goTo(0), list);
                         }
                         break;
                         case 43: /* reduce AAgrammar44Grammar */
                         {
-                            List<Object> list = new43();
+                            List<?> list = new43();
                             push(goTo(0), list);
                         }
                         break;
                         case 44: /* reduce AAgrammar45Grammar */
                         {
-                            List<Object> list = new44();
+                            List<?> list = new44();
                             push(goTo(0), list);
                         }
                         break;
                         case 45: /* reduce AAgrammar46Grammar */
                         {
-                            List<Object> list = new45();
+                            List<?> list = new45();
                             push(goTo(0), list);
                         }
                         break;
                         case 46: /* reduce AAgrammar47Grammar */
                         {
-                            List<Object> list = new46();
+                            List<?> list = new46();
                             push(goTo(0), list);
                         }
                         break;
                         case 47: /* reduce AAgrammar48Grammar */
                         {
-                            List<Object> list = new47();
+                            List<?> list = new47();
                             push(goTo(0), list);
                         }
                         break;
                         case 48: /* reduce AAgrammar49Grammar */
                         {
-                            List<Object> list = new48();
+                            List<?> list = new48();
                             push(goTo(0), list);
                         }
                         break;
                         case 49: /* reduce AAgrammar50Grammar */
                         {
-                            List<Object> list = new49();
+                            List<?> list = new49();
                             push(goTo(0), list);
                         }
                         break;
                         case 50: /* reduce AAgrammar51Grammar */
                         {
-                            List<Object> list = new50();
+                            List<?> list = new50();
                             push(goTo(0), list);
                         }
                         break;
                         case 51: /* reduce AAgrammar52Grammar */
                         {
-                            List<Object> list = new51();
+                            List<?> list = new51();
                             push(goTo(0), list);
                         }
                         break;
                         case 52: /* reduce AAgrammar53Grammar */
                         {
-                            List<Object> list = new52();
+                            List<?> list = new52();
                             push(goTo(0), list);
                         }
                         break;
                         case 53: /* reduce AAgrammar54Grammar */
                         {
-                            List<Object> list = new53();
+                            List<?> list = new53();
                             push(goTo(0), list);
                         }
                         break;
                         case 54: /* reduce AAgrammar55Grammar */
                         {
-                            List<Object> list = new54();
+                            List<?> list = new54();
                             push(goTo(0), list);
                         }
                         break;
                         case 55: /* reduce AAgrammar56Grammar */
                         {
-                            List<Object> list = new55();
+                            List<?> list = new55();
                             push(goTo(0), list);
                         }
                         break;
                         case 56: /* reduce AAgrammar57Grammar */
                         {
-                            List<Object> list = new56();
+                            List<?> list = new56();
                             push(goTo(0), list);
                         }
                         break;
                         case 57: /* reduce AAgrammar58Grammar */
                         {
-                            List<Object> list = new57();
+                            List<?> list = new57();
                             push(goTo(0), list);
                         }
                         break;
                         case 58: /* reduce AAgrammar59Grammar */
                         {
-                            List<Object> list = new58();
+                            List<?> list = new58();
                             push(goTo(0), list);
                         }
                         break;
                         case 59: /* reduce AAgrammar60Grammar */
                         {
-                            List<Object> list = new59();
+                            List<?> list = new59();
                             push(goTo(0), list);
                         }
                         break;
                         case 60: /* reduce AAgrammar61Grammar */
                         {
-                            List<Object> list = new60();
+                            List<?> list = new60();
                             push(goTo(0), list);
                         }
                         break;
                         case 61: /* reduce AAgrammar62Grammar */
                         {
-                            List<Object> list = new61();
+                            List<?> list = new61();
                             push(goTo(0), list);
                         }
                         break;
                         case 62: /* reduce AAgrammar63Grammar */
                         {
-                            List<Object> list = new62();
+                            List<?> list = new62();
                             push(goTo(0), list);
                         }
                         break;
                         case 63: /* reduce AAgrammar64Grammar */
                         {
-                            List<Object> list = new63();
+                            List<?> list = new63();
                             push(goTo(0), list);
                         }
                         break;
                         case 64: /* reduce AAgrammar65Grammar */
                         {
-                            List<Object> list = new64();
+                            List<?> list = new64();
                             push(goTo(0), list);
                         }
                         break;
                         case 65: /* reduce AAgrammar66Grammar */
                         {
-                            List<Object> list = new65();
+                            List<?> list = new65();
                             push(goTo(0), list);
                         }
                         break;
                         case 66: /* reduce AAgrammar67Grammar */
                         {
-                            List<Object> list = new66();
+                            List<?> list = new66();
                             push(goTo(0), list);
                         }
                         break;
                         case 67: /* reduce AAgrammar68Grammar */
                         {
-                            List<Object> list = new67();
+                            List<?> list = new67();
                             push(goTo(0), list);
                         }
                         break;
                         case 68: /* reduce AAgrammar69Grammar */
                         {
-                            List<Object> list = new68();
+                            List<?> list = new68();
                             push(goTo(0), list);
                         }
                         break;
                         case 69: /* reduce AAgrammar70Grammar */
                         {
-                            List<Object> list = new69();
+                            List<?> list = new69();
                             push(goTo(0), list);
                         }
                         break;
                         case 70: /* reduce AAgrammar71Grammar */
                         {
-                            List<Object> list = new70();
+                            List<?> list = new70();
                             push(goTo(0), list);
                         }
                         break;
                         case 71: /* reduce AAgrammar72Grammar */
                         {
-                            List<Object> list = new71();
+                            List<?> list = new71();
                             push(goTo(0), list);
                         }
                         break;
                         case 72: /* reduce AAgrammar73Grammar */
                         {
-                            List<Object> list = new72();
+                            List<?> list = new72();
                             push(goTo(0), list);
                         }
                         break;
                         case 73: /* reduce AAgrammar74Grammar */
                         {
-                            List<Object> list = new73();
+                            List<?> list = new73();
                             push(goTo(0), list);
                         }
                         break;
                         case 74: /* reduce AAgrammar75Grammar */
                         {
-                            List<Object> list = new74();
+                            List<?> list = new74();
                             push(goTo(0), list);
                         }
                         break;
                         case 75: /* reduce AAgrammar76Grammar */
                         {
-                            List<Object> list = new75();
+                            List<?> list = new75();
                             push(goTo(0), list);
                         }
                         break;
                         case 76: /* reduce AAgrammar77Grammar */
                         {
-                            List<Object> list = new76();
+                            List<?> list = new76();
                             push(goTo(0), list);
                         }
                         break;
                         case 77: /* reduce AAgrammar78Grammar */
                         {
-                            List<Object> list = new77();
+                            List<?> list = new77();
                             push(goTo(0), list);
                         }
                         break;
                         case 78: /* reduce AAgrammar79Grammar */
                         {
-                            List<Object> list = new78();
+                            List<?> list = new78();
                             push(goTo(0), list);
                         }
                         break;
                         case 79: /* reduce AAgrammar80Grammar */
                         {
-                            List<Object> list = new79();
+                            List<?> list = new79();
                             push(goTo(0), list);
                         }
                         break;
                         case 80: /* reduce AAgrammar81Grammar */
                         {
-                            List<Object> list = new80();
+                            List<?> list = new80();
                             push(goTo(0), list);
                         }
                         break;
                         case 81: /* reduce AAgrammar82Grammar */
                         {
-                            List<Object> list = new81();
+                            List<?> list = new81();
                             push(goTo(0), list);
                         }
                         break;
                         case 82: /* reduce AAgrammar83Grammar */
                         {
-                            List<Object> list = new82();
+                            List<?> list = new82();
                             push(goTo(0), list);
                         }
                         break;
                         case 83: /* reduce AAgrammar84Grammar */
                         {
-                            List<Object> list = new83();
+                            List<?> list = new83();
                             push(goTo(0), list);
                         }
                         break;
                         case 84: /* reduce AAgrammar85Grammar */
                         {
-                            List<Object> list = new84();
+                            List<?> list = new84();
                             push(goTo(0), list);
                         }
                         break;
                         case 85: /* reduce AAgrammar86Grammar */
                         {
-                            List<Object> list = new85();
+                            List<?> list = new85();
                             push(goTo(0), list);
                         }
                         break;
                         case 86: /* reduce AAgrammar87Grammar */
                         {
-                            List<Object> list = new86();
+                            List<?> list = new86();
                             push(goTo(0), list);
                         }
                         break;
                         case 87: /* reduce AAgrammar88Grammar */
                         {
-                            List<Object> list = new87();
+                            List<?> list = new87();
                             push(goTo(0), list);
                         }
                         break;
                         case 88: /* reduce AAgrammar89Grammar */
                         {
-                            List<Object> list = new88();
+                            List<?> list = new88();
                             push(goTo(0), list);
                         }
                         break;
                         case 89: /* reduce AAgrammar90Grammar */
                         {
-                            List<Object> list = new89();
+                            List<?> list = new89();
                             push(goTo(0), list);
                         }
                         break;
                         case 90: /* reduce AAgrammar91Grammar */
                         {
-                            List<Object> list = new90();
+                            List<?> list = new90();
                             push(goTo(0), list);
                         }
                         break;
                         case 91: /* reduce AAgrammar92Grammar */
                         {
-                            List<Object> list = new91();
+                            List<?> list = new91();
                             push(goTo(0), list);
                         }
                         break;
                         case 92: /* reduce AAgrammar93Grammar */
                         {
-                            List<Object> list = new92();
+                            List<?> list = new92();
                             push(goTo(0), list);
                         }
                         break;
                         case 93: /* reduce AAgrammar94Grammar */
                         {
-                            List<Object> list = new93();
+                            List<?> list = new93();
                             push(goTo(0), list);
                         }
                         break;
                         case 94: /* reduce AAgrammar95Grammar */
                         {
-                            List<Object> list = new94();
+                            List<?> list = new94();
                             push(goTo(0), list);
                         }
                         break;
                         case 95: /* reduce AAgrammar96Grammar */
                         {
-                            List<Object> list = new95();
+                            List<?> list = new95();
                             push(goTo(0), list);
                         }
                         break;
                         case 96: /* reduce AAgrammar97Grammar */
                         {
-                            List<Object> list = new96();
+                            List<?> list = new96();
                             push(goTo(0), list);
                         }
                         break;
                         case 97: /* reduce AAgrammar98Grammar */
                         {
-                            List<Object> list = new97();
+                            List<?> list = new97();
                             push(goTo(0), list);
                         }
                         break;
                         case 98: /* reduce AAgrammar99Grammar */
                         {
-                            List<Object> list = new98();
+                            List<?> list = new98();
                             push(goTo(0), list);
                         }
                         break;
                         case 99: /* reduce AAgrammar100Grammar */
                         {
-                            List<Object> list = new99();
+                            List<?> list = new99();
                             push(goTo(0), list);
                         }
                         break;
                         case 100: /* reduce AAgrammar101Grammar */
                         {
-                            List<Object> list = new100();
+                            List<?> list = new100();
                             push(goTo(0), list);
                         }
                         break;
                         case 101: /* reduce AAgrammar102Grammar */
                         {
-                            List<Object> list = new101();
+                            List<?> list = new101();
                             push(goTo(0), list);
                         }
                         break;
                         case 102: /* reduce AAgrammar103Grammar */
                         {
-                            List<Object> list = new102();
+                            List<?> list = new102();
                             push(goTo(0), list);
                         }
                         break;
                         case 103: /* reduce AAgrammar104Grammar */
                         {
-                            List<Object> list = new103();
+                            List<?> list = new103();
                             push(goTo(0), list);
                         }
                         break;
                         case 104: /* reduce AAgrammar105Grammar */
                         {
-                            List<Object> list = new104();
+                            List<?> list = new104();
                             push(goTo(0), list);
                         }
                         break;
                         case 105: /* reduce AAgrammar106Grammar */
                         {
-                            List<Object> list = new105();
+                            List<?> list = new105();
                             push(goTo(0), list);
                         }
                         break;
                         case 106: /* reduce AAgrammar107Grammar */
                         {
-                            List<Object> list = new106();
+                            List<?> list = new106();
                             push(goTo(0), list);
                         }
                         break;
                         case 107: /* reduce AAgrammar108Grammar */
                         {
-                            List<Object> list = new107();
+                            List<?> list = new107();
                             push(goTo(0), list);
                         }
                         break;
                         case 108: /* reduce AAgrammar109Grammar */
                         {
-                            List<Object> list = new108();
+                            List<?> list = new108();
                             push(goTo(0), list);
                         }
                         break;
                         case 109: /* reduce AAgrammar110Grammar */
                         {
-                            List<Object> list = new109();
+                            List<?> list = new109();
                             push(goTo(0), list);
                         }
                         break;
                         case 110: /* reduce AAgrammar111Grammar */
                         {
-                            List<Object> list = new110();
+                            List<?> list = new110();
                             push(goTo(0), list);
                         }
                         break;
                         case 111: /* reduce AAgrammar112Grammar */
                         {
-                            List<Object> list = new111();
+                            List<?> list = new111();
                             push(goTo(0), list);
                         }
                         break;
                         case 112: /* reduce AAgrammar113Grammar */
                         {
-                            List<Object> list = new112();
+                            List<?> list = new112();
                             push(goTo(0), list);
                         }
                         break;
                         case 113: /* reduce AAgrammar114Grammar */
                         {
-                            List<Object> list = new113();
+                            List<?> list = new113();
                             push(goTo(0), list);
                         }
                         break;
                         case 114: /* reduce AAgrammar115Grammar */
                         {
-                            List<Object> list = new114();
+                            List<?> list = new114();
                             push(goTo(0), list);
                         }
                         break;
                         case 115: /* reduce AAgrammar116Grammar */
                         {
-                            List<Object> list = new115();
+                            List<?> list = new115();
                             push(goTo(0), list);
                         }
                         break;
                         case 116: /* reduce AAgrammar117Grammar */
                         {
-                            List<Object> list = new116();
+                            List<?> list = new116();
                             push(goTo(0), list);
                         }
                         break;
                         case 117: /* reduce AAgrammar118Grammar */
                         {
-                            List<Object> list = new117();
+                            List<?> list = new117();
                             push(goTo(0), list);
                         }
                         break;
                         case 118: /* reduce AAgrammar119Grammar */
                         {
-                            List<Object> list = new118();
+                            List<?> list = new118();
                             push(goTo(0), list);
                         }
                         break;
                         case 119: /* reduce AAgrammar120Grammar */
                         {
-                            List<Object> list = new119();
+                            List<?> list = new119();
                             push(goTo(0), list);
                         }
                         break;
                         case 120: /* reduce AAgrammar121Grammar */
                         {
-                            List<Object> list = new120();
+                            List<?> list = new120();
                             push(goTo(0), list);
                         }
                         break;
                         case 121: /* reduce AAgrammar122Grammar */
                         {
-                            List<Object> list = new121();
+                            List<?> list = new121();
                             push(goTo(0), list);
                         }
                         break;
                         case 122: /* reduce AAgrammar123Grammar */
                         {
-                            List<Object> list = new122();
+                            List<?> list = new122();
                             push(goTo(0), list);
                         }
                         break;
                         case 123: /* reduce AAgrammar124Grammar */
                         {
-                            List<Object> list = new123();
+                            List<?> list = new123();
                             push(goTo(0), list);
                         }
                         break;
                         case 124: /* reduce AAgrammar125Grammar */
                         {
-                            List<Object> list = new124();
+                            List<?> list = new124();
                             push(goTo(0), list);
                         }
                         break;
                         case 125: /* reduce AAgrammar126Grammar */
                         {
-                            List<Object> list = new125();
+                            List<?> list = new125();
                             push(goTo(0), list);
                         }
                         break;
                         case 126: /* reduce AAgrammar127Grammar */
                         {
-                            List<Object> list = new126();
+                            List<?> list = new126();
                             push(goTo(0), list);
                         }
                         break;
                         case 127: /* reduce AAgrammar128Grammar */
                         {
-                            List<Object> list = new127();
+                            List<?> list = new127();
                             push(goTo(0), list);
                         }
                         break;
                         case 128: /* reduce APackage */
                         {
-                            List<Object> list = new128();
+                            List<?> list = new128();
                             push(goTo(1), list);
                         }
                         break;
                         case 129: /* reduce AApkgname1PkgName */
                         {
-                            List<Object> list = new129();
+                            List<?> list = new129();
                             push(goTo(2), list);
                         }
                         break;
                         case 130: /* reduce AApkgname2PkgName */
                         {
-                            List<Object> list = new130();
+                            List<?> list = new130();
                             push(goTo(2), list);
                         }
                         break;
                         case 131: /* reduce APkgNameTail */
                         {
-                            List<Object> list = new131();
+                            List<?> list = new131();
                             push(goTo(3), list);
                         }
                         break;
                         case 132: /* reduce AHelpers */
                         {
-                            List<Object> list = new132();
+                            List<?> list = new132();
                             push(goTo(4), list);
                         }
                         break;
                         case 133: /* reduce AHelperDef */
                         {
-                            List<Object> list = new133();
+                            List<?> list = new133();
                             push(goTo(5), list);
                         }
                         break;
                         case 134: /* reduce AStates */
                         {
-                            List<Object> list = new134();
+                            List<?> list = new134();
                             push(goTo(6), list);
                         }
                         break;
                         case 135: /* reduce AAidlist1IdList */
                         {
-                            List<Object> list = new135();
+                            List<?> list = new135();
                             push(goTo(7), list);
                         }
                         break;
                         case 136: /* reduce AAidlist2IdList */
                         {
-                            List<Object> list = new136();
+                            List<?> list = new136();
                             push(goTo(7), list);
                         }
                         break;
                         case 137: /* reduce AIdListTail */
                         {
-                            List<Object> list = new137();
+                            List<?> list = new137();
                             push(goTo(8), list);
                         }
                         break;
                         case 138: /* reduce ATokens */
                         {
-                            List<Object> list = new138();
+                            List<?> list = new138();
                             push(goTo(9), list);
                         }
                         break;
                         case 139: /* reduce AAtokendef1TokenDef */
                         {
-                            List<Object> list = new139();
+                            List<?> list = new139();
                             push(goTo(10), list);
                         }
                         break;
                         case 140: /* reduce AAtokendef2TokenDef */
                         {
-                            List<Object> list = new140();
+                            List<?> list = new140();
                             push(goTo(10), list);
                         }
                         break;
                         case 141: /* reduce AAtokendef3TokenDef */
                         {
-                            List<Object> list = new141();
+                            List<?> list = new141();
                             push(goTo(10), list);
                         }
                         break;
                         case 142: /* reduce AAtokendef4TokenDef */
                         {
-                            List<Object> list = new142();
+                            List<?> list = new142();
                             push(goTo(10), list);
                         }
                         break;
                         case 143: /* reduce AAstatelist1StateList */
                         {
-                            List<Object> list = new143();
+                            List<?> list = new143();
                             push(goTo(11), list);
                         }
                         break;
                         case 144: /* reduce AAstatelist2StateList */
                         {
-                            List<Object> list = new144();
+                            List<?> list = new144();
                             push(goTo(11), list);
                         }
                         break;
                         case 145: /* reduce AAstatelist3StateList */
                         {
-                            List<Object> list = new145();
+                            List<?> list = new145();
                             push(goTo(11), list);
                         }
                         break;
                         case 146: /* reduce AAstatelist4StateList */
                         {
-                            List<Object> list = new146();
+                            List<?> list = new146();
                             push(goTo(11), list);
                         }
                         break;
                         case 147: /* reduce AAstatelisttail1StateListTail */
                         {
-                            List<Object> list = new147();
+                            List<?> list = new147();
                             push(goTo(12), list);
                         }
                         break;
                         case 148: /* reduce AAstatelisttail2StateListTail */
                         {
-                            List<Object> list = new148();
+                            List<?> list = new148();
                             push(goTo(12), list);
                         }
                         break;
                         case 149: /* reduce ATransition */
                         {
-                            List<Object> list = new149();
+                            List<?> list = new149();
                             push(goTo(13), list);
                         }
                         break;
                         case 150: /* reduce AAigntokens1IgnTokens */
                         {
-                            List<Object> list = new150();
+                            List<?> list = new150();
                             push(goTo(14), list);
                         }
                         break;
                         case 151: /* reduce AAigntokens2IgnTokens */
                         {
-                            List<Object> list = new151();
+                            List<?> list = new151();
                             push(goTo(14), list);
                         }
                         break;
                         case 152: /* reduce ALookAhead */
                         {
-                            List<Object> list = new152();
+                            List<?> list = new152();
                             push(goTo(15), list);
                         }
                         break;
                         case 153: /* reduce AAregexp1RegExp */
                         {
-                            List<Object> list = new153();
+                            List<?> list = new153();
                             push(goTo(16), list);
                         }
                         break;
                         case 154: /* reduce AAregexp2RegExp */
                         {
-                            List<Object> list = new154();
+                            List<?> list = new154();
                             push(goTo(16), list);
                         }
                         break;
                         case 155: /* reduce ARegExpTail */
                         {
-                            List<Object> list = new155();
+                            List<?> list = new155();
                             push(goTo(17), list);
                         }
                         break;
                         case 156: /* reduce AAconcat1Concat */
                         {
-                            List<Object> list = new156();
+                            List<?> list = new156();
                             push(goTo(18), list);
                         }
                         break;
                         case 157: /* reduce AAconcat2Concat */
                         {
-                            List<Object> list = new157();
+                            List<?> list = new157();
                             push(goTo(18), list);
                         }
                         break;
                         case 158: /* reduce AAunexp1UnExp */
                         {
-                            List<Object> list = new158();
+                            List<?> list = new158();
                             push(goTo(19), list);
                         }
                         break;
                         case 159: /* reduce AAunexp2UnExp */
                         {
-                            List<Object> list = new159();
+                            List<?> list = new159();
                             push(goTo(19), list);
                         }
                         break;
                         case 160: /* reduce ACharBasic */
                         {
-                            List<Object> list = new160();
+                            List<?> list = new160();
                             push(goTo(20), list);
                         }
                         break;
                         case 161: /* reduce ASetBasic */
                         {
-                            List<Object> list = new161();
+                            List<?> list = new161();
                             push(goTo(20), list);
                         }
                         break;
                         case 162: /* reduce AStringBasic */
                         {
-                            List<Object> list = new162();
+                            List<?> list = new162();
                             push(goTo(20), list);
                         }
                         break;
                         case 163: /* reduce AIdBasic */
                         {
-                            List<Object> list = new163();
+                            List<?> list = new163();
                             push(goTo(20), list);
                         }
                         break;
                         case 164: /* reduce ARegExpBasic */
                         {
-                            List<Object> list = new164();
+                            List<?> list = new164();
                             push(goTo(20), list);
                         }
                         break;
                         case 165: /* reduce ACharChar */
                         {
-                            List<Object> list = new165();
+                            List<?> list = new165();
                             push(goTo(21), list);
                         }
                         break;
                         case 166: /* reduce ADecChar */
                         {
-                            List<Object> list = new166();
+                            List<?> list = new166();
                             push(goTo(21), list);
                         }
                         break;
                         case 167: /* reduce AHexChar */
                         {
-                            List<Object> list = new167();
+                            List<?> list = new167();
                             push(goTo(21), list);
                         }
                         break;
                         case 168: /* reduce AOperationSet */
                         {
-                            List<Object> list = new168();
+                            List<?> list = new168();
                             push(goTo(22), list);
                         }
                         break;
                         case 169: /* reduce AIntervalSet */
                         {
-                            List<Object> list = new169();
+                            List<?> list = new169();
                             push(goTo(22), list);
                         }
                         break;
                         case 170: /* reduce AStarUnOp */
                         {
-                            List<Object> list = new170();
+                            List<?> list = new170();
                             push(goTo(23), list);
                         }
                         break;
                         case 171: /* reduce AQMarkUnOp */
                         {
-                            List<Object> list = new171();
+                            List<?> list = new171();
                             push(goTo(23), list);
                         }
                         break;
                         case 172: /* reduce APlusUnOp */
                         {
-                            List<Object> list = new172();
+                            List<?> list = new172();
                             push(goTo(23), list);
                         }
                         break;
                         case 173: /* reduce APlusBinOp */
                         {
-                            List<Object> list = new173();
+                            List<?> list = new173();
                             push(goTo(24), list);
                         }
                         break;
                         case 174: /* reduce AMinusBinOp */
                         {
-                            List<Object> list = new174();
+                            List<?> list = new174();
                             push(goTo(24), list);
                         }
                         break;
                         case 175: /* reduce AProductions */
                         {
-                            List<Object> list = new175();
+                            List<?> list = new175();
                             push(goTo(25), list);
                         }
                         break;
                         case 176: /* reduce AAprod1Prod */
                         {
-                            List<Object> list = new176();
+                            List<?> list = new176();
                             push(goTo(26), list);
                         }
                         break;
                         case 177: /* reduce AAprod2Prod */
                         {
-                            List<Object> list = new177();
+                            List<?> list = new177();
                             push(goTo(26), list);
                         }
                         break;
                         case 178: /* reduce AAprodtransform1ProdTransform */
                         {
-                            List<Object> list = new178();
+                            List<?> list = new178();
                             push(goTo(27), list);
                         }
                         break;
                         case 179: /* reduce AAprodtransform2ProdTransform */
                         {
-                            List<Object> list = new179();
+                            List<?> list = new179();
                             push(goTo(27), list);
                         }
                         break;
                         case 180: /* reduce AAalts1Alts */
                         {
-                            List<Object> list = new180();
+                            List<?> list = new180();
                             push(goTo(28), list);
                         }
                         break;
                         case 181: /* reduce AAalts2Alts */
                         {
-                            List<Object> list = new181();
+                            List<?> list = new181();
                             push(goTo(28), list);
                         }
                         break;
                         case 182: /* reduce AAltsTail */
                         {
-                            List<Object> list = new182();
+                            List<?> list = new182();
                             push(goTo(29), list);
                         }
                         break;
                         case 183: /* reduce AAalt1Alt */
                         {
-                            List<Object> list = new183();
+                            List<?> list = new183();
                             push(goTo(30), list);
                         }
                         break;
                         case 184: /* reduce AAalt2Alt */
                         {
-                            List<Object> list = new184();
+                            List<?> list = new184();
                             push(goTo(30), list);
                         }
                         break;
                         case 185: /* reduce AAalt3Alt */
                         {
-                            List<Object> list = new185();
+                            List<?> list = new185();
                             push(goTo(30), list);
                         }
                         break;
                         case 186: /* reduce AAalt4Alt */
                         {
-                            List<Object> list = new186();
+                            List<?> list = new186();
                             push(goTo(30), list);
                         }
                         break;
                         case 187: /* reduce AAalt5Alt */
                         {
-                            List<Object> list = new187();
+                            List<?> list = new187();
                             push(goTo(30), list);
                         }
                         break;
                         case 188: /* reduce AAalt6Alt */
                         {
-                            List<Object> list = new188();
+                            List<?> list = new188();
                             push(goTo(30), list);
                         }
                         break;
                         case 189: /* reduce AAalt7Alt */
                         {
-                            List<Object> list = new189();
+                            List<?> list = new189();
                             push(goTo(30), list);
                         }
                         break;
                         case 190: /* reduce AAalt8Alt */
                         {
-                            List<Object> list = new190();
+                            List<?> list = new190();
                             push(goTo(30), list);
                         }
                         break;
                         case 191: /* reduce AAalttransform1AltTransform */
                         {
-                            List<Object> list = new191();
+                            List<?> list = new191();
                             push(goTo(31), list);
                         }
                         break;
                         case 192: /* reduce AAalttransform2AltTransform */
                         {
-                            List<Object> list = new192();
+                            List<?> list = new192();
                             push(goTo(31), list);
                         }
                         break;
                         case 193: /* reduce AAnewterm1Term */
                         {
-                            List<Object> list = new193();
+                            List<?> list = new193();
                             push(goTo(32), list);
                         }
                         break;
                         case 194: /* reduce AAnewterm2Term */
                         {
-                            List<Object> list = new194();
+                            List<?> list = new194();
                             push(goTo(32), list);
                         }
                         break;
                         case 195: /* reduce AAlistterm1Term */
                         {
-                            List<Object> list = new195();
+                            List<?> list = new195();
                             push(goTo(32), list);
                         }
                         break;
                         case 196: /* reduce AAlistterm2Term */
                         {
-                            List<Object> list = new196();
+                            List<?> list = new196();
                             push(goTo(32), list);
                         }
                         break;
                         case 197: /* reduce AAsimpleterm1Term */
                         {
-                            List<Object> list = new197();
+                            List<?> list = new197();
                             push(goTo(32), list);
                         }
                         break;
                         case 198: /* reduce AAsimpleterm2Term */
                         {
-                            List<Object> list = new198();
+                            List<?> list = new198();
                             push(goTo(32), list);
                         }
                         break;
                         case 199: /* reduce AAsimpleterm3Term */
                         {
-                            List<Object> list = new199();
+                            List<?> list = new199();
                             push(goTo(32), list);
                         }
                         break;
                         case 200: /* reduce AAsimpleterm4Term */
                         {
-                            List<Object> list = new200();
+                            List<?> list = new200();
                             push(goTo(32), list);
                         }
                         break;
                         case 201: /* reduce ANullTerm */
                         {
-                            List<Object> list = new201();
+                            List<?> list = new201();
                             push(goTo(32), list);
                         }
                         break;
                         case 202: /* reduce AAlistoflistterm1ListOfListTerm */
                         {
-                            List<Object> list = new202();
+                            List<?> list = new202();
                             push(goTo(33), list);
                         }
                         break;
                         case 203: /* reduce AAlistoflistterm2ListOfListTerm */
                         {
-                            List<Object> list = new203();
+                            List<?> list = new203();
                             push(goTo(33), list);
                         }
                         break;
                         case 204: /* reduce AAnewlistterm1ListTerm */
                         {
-                            List<Object> list = new204();
+                            List<?> list = new204();
                             push(goTo(34), list);
                         }
                         break;
                         case 205: /* reduce AAnewlistterm2ListTerm */
                         {
-                            List<Object> list = new205();
+                            List<?> list = new205();
                             push(goTo(34), list);
                         }
                         break;
                         case 206: /* reduce AAsimplelistterm1ListTerm */
                         {
-                            List<Object> list = new206();
+                            List<?> list = new206();
                             push(goTo(34), list);
                         }
                         break;
                         case 207: /* reduce AAsimplelistterm2ListTerm */
                         {
-                            List<Object> list = new207();
+                            List<?> list = new207();
                             push(goTo(34), list);
                         }
                         break;
                         case 208: /* reduce AAsimplelistterm3ListTerm */
                         {
-                            List<Object> list = new208();
+                            List<?> list = new208();
                             push(goTo(34), list);
                         }
                         break;
                         case 209: /* reduce AAsimplelistterm4ListTerm */
                         {
-                            List<Object> list = new209();
+                            List<?> list = new209();
                             push(goTo(34), list);
                         }
                         break;
                         case 210: /* reduce AListTermTail */
                         {
-                            List<Object> list = new210();
+                            List<?> list = new210();
                             push(goTo(35), list);
                         }
                         break;
                         case 211: /* reduce ASimpleTermTail */
                         {
-                            List<Object> list = new211();
+                            List<?> list = new211();
                             push(goTo(36), list);
                         }
                         break;
                         case 212: /* reduce AAprodname1ProdName */
                         {
-                            List<Object> list = new212();
+                            List<?> list = new212();
                             push(goTo(37), list);
                         }
                         break;
                         case 213: /* reduce AAprodname2ProdName */
                         {
-                            List<Object> list = new213();
+                            List<?> list = new213();
                             push(goTo(37), list);
                         }
                         break;
                         case 214: /* reduce AProdNameTail */
                         {
-                            List<Object> list = new214();
+                            List<?> list = new214();
                             push(goTo(38), list);
                         }
                         break;
                         case 215: /* reduce AAparams1Params */
                         {
-                            List<Object> list = new215();
+                            List<?> list = new215();
                             push(goTo(39), list);
                         }
                         break;
                         case 216: /* reduce AAparams2Params */
                         {
-                            List<Object> list = new216();
+                            List<?> list = new216();
                             push(goTo(39), list);
                         }
                         break;
                         case 217: /* reduce AParamsTail */
                         {
-                            List<Object> list = new217();
+                            List<?> list = new217();
                             push(goTo(40), list);
                         }
                         break;
                         case 218: /* reduce AAltName */
                         {
-                            List<Object> list = new218();
+                            List<?> list = new218();
                             push(goTo(41), list);
                         }
                         break;
                         case 219: /* reduce AAelem1Elem */
                         {
-                            List<Object> list = new219();
+                            List<?> list = new219();
                             push(goTo(42), list);
                         }
                         break;
                         case 220: /* reduce AAelem2Elem */
                         {
-                            List<Object> list = new220();
+                            List<?> list = new220();
                             push(goTo(42), list);
                         }
                         break;
                         case 221: /* reduce AAelem3Elem */
                         {
-                            List<Object> list = new221();
+                            List<?> list = new221();
                             push(goTo(42), list);
                         }
                         break;
                         case 222: /* reduce AAelem4Elem */
                         {
-                            List<Object> list = new222();
+                            List<?> list = new222();
                             push(goTo(42), list);
                         }
                         break;
                         case 223: /* reduce AAelem5Elem */
                         {
-                            List<Object> list = new223();
+                            List<?> list = new223();
                             push(goTo(42), list);
                         }
                         break;
                         case 224: /* reduce AAelem6Elem */
                         {
-                            List<Object> list = new224();
+                            List<?> list = new224();
                             push(goTo(42), list);
                         }
                         break;
                         case 225: /* reduce AAelem7Elem */
                         {
-                            List<Object> list = new225();
+                            List<?> list = new225();
                             push(goTo(42), list);
                         }
                         break;
                         case 226: /* reduce AAelem8Elem */
                         {
-                            List<Object> list = new226();
+                            List<?> list = new226();
                             push(goTo(42), list);
                         }
                         break;
                         case 227: /* reduce AElemName */
                         {
-                            List<Object> list = new227();
+                            List<?> list = new227();
                             push(goTo(43), list);
                         }
                         break;
                         case 228: /* reduce ATokenSpecifier */
                         {
-                            List<Object> list = new228();
+                            List<?> list = new228();
                             push(goTo(44), list);
                         }
                         break;
                         case 229: /* reduce AProductionSpecifier */
                         {
-                            List<Object> list = new229();
+                            List<?> list = new229();
                             push(goTo(44), list);
                         }
                         break;
                         case 230: /* reduce AAst */
                         {
-                            List<Object> list = new230();
+                            List<?> list = new230();
                             push(goTo(45), list);
                         }
                         break;
                         case 231: /* reduce AAstProd */
                         {
-                            List<Object> list = new231();
+                            List<?> list = new231();
                             push(goTo(46), list);
                         }
                         break;
                         case 232: /* reduce AAastalts1AstAlts */
                         {
-                            List<Object> list = new232();
+                            List<?> list = new232();
                             push(goTo(47), list);
                         }
                         break;
                         case 233: /* reduce AAastalts2AstAlts */
                         {
-                            List<Object> list = new233();
+                            List<?> list = new233();
                             push(goTo(47), list);
                         }
                         break;
                         case 234: /* reduce AAstAltsTail */
                         {
-                            List<Object> list = new234();
+                            List<?> list = new234();
                             push(goTo(48), list);
                         }
                         break;
                         case 235: /* reduce AAastalt1AstAlt */
                         {
-                            List<Object> list = new235();
+                            List<?> list = new235();
                             push(goTo(49), list);
                         }
                         break;
                         case 236: /* reduce AAastalt2AstAlt */
                         {
-                            List<Object> list = new236();
+                            List<?> list = new236();
                             push(goTo(49), list);
                         }
                         break;
                         case 237: /* reduce AAastalt3AstAlt */
                         {
-                            List<Object> list = new237();
+                            List<?> list = new237();
                             push(goTo(49), list);
                         }
                         break;
                         case 238: /* reduce AAastalt4AstAlt */
                         {
-                            List<Object> list = new238();
+                            List<?> list = new238();
                             push(goTo(49), list);
                         }
                         break;
                         case 239: /* reduce ATerminal$PkgNameTail */
                         {
-                            List<Object> list = new239();
+                            List<?> list = new239();
                             push(goTo(50), list);
                         }
                         break;
                         case 240: /* reduce ANonTerminal$PkgNameTail */
                         {
-                            List<Object> list = new240();
+                            List<?> list = new240();
                             push(goTo(50), list);
                         }
                         break;
                         case 241: /* reduce ATerminal$HelperDef */
                         {
-                            List<Object> list = new241();
+                            List<?> list = new241();
                             push(goTo(51), list);
                         }
                         break;
                         case 242: /* reduce ANonTerminal$HelperDef */
                         {
-                            List<Object> list = new242();
+                            List<?> list = new242();
                             push(goTo(51), list);
                         }
                         break;
                         case 243: /* reduce ATerminal$IdListTail */
                         {
-                            List<Object> list = new243();
+                            List<?> list = new243();
                             push(goTo(52), list);
                         }
                         break;
                         case 244: /* reduce ANonTerminal$IdListTail */
                         {
-                            List<Object> list = new244();
+                            List<?> list = new244();
                             push(goTo(52), list);
                         }
                         break;
                         case 245: /* reduce ATerminal$TokenDef */
                         {
-                            List<Object> list = new245();
+                            List<?> list = new245();
                             push(goTo(53), list);
                         }
                         break;
                         case 246: /* reduce ANonTerminal$TokenDef */
                         {
-                            List<Object> list = new246();
+                            List<?> list = new246();
                             push(goTo(53), list);
                         }
                         break;
                         case 247: /* reduce ATerminal$StateListTail */
                         {
-                            List<Object> list = new247();
+                            List<?> list = new247();
                             push(goTo(54), list);
                         }
                         break;
                         case 248: /* reduce ANonTerminal$StateListTail */
                         {
-                            List<Object> list = new248();
+                            List<?> list = new248();
                             push(goTo(54), list);
                         }
                         break;
                         case 249: /* reduce ATerminal$RegExpTail */
                         {
-                            List<Object> list = new249();
+                            List<?> list = new249();
                             push(goTo(55), list);
                         }
                         break;
                         case 250: /* reduce ANonTerminal$RegExpTail */
                         {
-                            List<Object> list = new250();
+                            List<?> list = new250();
                             push(goTo(55), list);
                         }
                         break;
                         case 251: /* reduce ATerminal$UnExp */
                         {
-                            List<Object> list = new251();
+                            List<?> list = new251();
                             push(goTo(56), list);
                         }
                         break;
                         case 252: /* reduce ANonTerminal$UnExp */
                         {
-                            List<Object> list = new252();
+                            List<?> list = new252();
                             push(goTo(56), list);
                         }
                         break;
                         case 253: /* reduce ATerminal$Prod */
                         {
-                            List<Object> list = new253();
+                            List<?> list = new253();
                             push(goTo(57), list);
                         }
                         break;
                         case 254: /* reduce ANonTerminal$Prod */
                         {
-                            List<Object> list = new254();
+                            List<?> list = new254();
                             push(goTo(57), list);
                         }
                         break;
                         case 255: /* reduce ATerminal$Elem */
                         {
-                            List<Object> list = new255();
+                            List<?> list = new255();
                             push(goTo(58), list);
                         }
                         break;
                         case 256: /* reduce ANonTerminal$Elem */
                         {
-                            List<Object> list = new256();
+                            List<?> list = new256();
                             push(goTo(58), list);
                         }
                         break;
                         case 257: /* reduce ATerminal$AltsTail */
                         {
-                            List<Object> list = new257();
+                            List<?> list = new257();
                             push(goTo(59), list);
                         }
                         break;
                         case 258: /* reduce ANonTerminal$AltsTail */
                         {
-                            List<Object> list = new258();
+                            List<?> list = new258();
                             push(goTo(59), list);
                         }
                         break;
                         case 259: /* reduce ATerminal$Term */
                         {
-                            List<Object> list = new259();
+                            List<?> list = new259();
                             push(goTo(60), list);
                         }
                         break;
                         case 260: /* reduce ANonTerminal$Term */
                         {
-                            List<Object> list = new260();
+                            List<?> list = new260();
                             push(goTo(60), list);
                         }
                         break;
                         case 261: /* reduce ATerminal$ListTermTail */
                         {
-                            List<Object> list = new261();
+                            List<?> list = new261();
                             push(goTo(61), list);
                         }
                         break;
                         case 262: /* reduce ANonTerminal$ListTermTail */
                         {
-                            List<Object> list = new262();
+                            List<?> list = new262();
                             push(goTo(61), list);
                         }
                         break;
                         case 263: /* reduce ATerminal$ParamsTail */
                         {
-                            List<Object> list = new263();
+                            List<?> list = new263();
                             push(goTo(62), list);
                         }
                         break;
                         case 264: /* reduce ANonTerminal$ParamsTail */
                         {
-                            List<Object> list = new264();
+                            List<?> list = new264();
                             push(goTo(62), list);
                         }
                         break;
                         case 265: /* reduce ATerminal$AstProd */
                         {
-                            List<Object> list = new265();
+                            List<?> list = new265();
                             push(goTo(63), list);
                         }
                         break;
                         case 266: /* reduce ANonTerminal$AstProd */
                         {
-                            List<Object> list = new266();
+                            List<?> list = new266();
                             push(goTo(63), list);
                         }
                         break;
                         case 267: /* reduce ATerminal$AstAltsTail */
                         {
-                            List<Object> list = new267();
+                            List<?> list = new267();
                             push(goTo(64), list);
                         }
                         break;
                         case 268: /* reduce ANonTerminal$AstAltsTail */
                         {
-                            List<Object> list = new268();
+                            List<?> list = new268();
                             push(goTo(64), list);
                         }
                         break;
@@ -1852,87 +1852,87 @@ public class Parser implements IParser
     }
 
 
-    private List<Object> new0() /* reduce AAgrammar1Grammar */
+    private List<?> new0() /* reduce AAgrammar1Grammar */
     {
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, null, null, null);
 
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new1() /* reduce AAgrammar2Grammar */
+    private List<?> new1() /* reduce AAgrammar2Grammar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new2() /* reduce AAgrammar3Grammar */
+    private List<?> new2() /* reduce AAgrammar3Grammar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new3() /* reduce AAgrammar4Grammar */
+    private List<?> new3() /* reduce AAgrammar4Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new4() /* reduce AAgrammar5Grammar */
+    private List<?> new4() /* reduce AAgrammar5Grammar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new5() /* reduce AAgrammar6Grammar */
+    private List<?> new5() /* reduce AAgrammar6Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new6() /* reduce AAgrammar7Grammar */
+    private List<?> new6() /* reduce AAgrammar7Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new7() /* reduce AAgrammar8Grammar */
+    private List<?> new7() /* reduce AAgrammar8Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -1940,49 +1940,49 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new8() /* reduce AAgrammar9Grammar */
+    private List<?> new8() /* reduce AAgrammar9Grammar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new9() /* reduce AAgrammar10Grammar */
+    private List<?> new9() /* reduce AAgrammar10Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new10() /* reduce AAgrammar11Grammar */
+    private List<?> new10() /* reduce AAgrammar11Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new11() /* reduce AAgrammar12Grammar */
+    private List<?> new11() /* reduce AAgrammar12Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -1990,26 +1990,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new12() /* reduce AAgrammar13Grammar */
+    private List<?> new12() /* reduce AAgrammar13Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new13() /* reduce AAgrammar14Grammar */
+    private List<?> new13() /* reduce AAgrammar14Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -2017,29 +2017,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new14() /* reduce AAgrammar15Grammar */
+    private List<?> new14() /* reduce AAgrammar15Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new15() /* reduce AAgrammar16Grammar */
+    private List<?> new15() /* reduce AAgrammar16Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2048,49 +2048,49 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new16() /* reduce AAgrammar17Grammar */
+    private List<?> new16() /* reduce AAgrammar17Grammar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList1.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new17() /* reduce AAgrammar18Grammar */
+    private List<?> new17() /* reduce AAgrammar18Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, pigntokensNode7, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new18() /* reduce AAgrammar19Grammar */
+    private List<?> new18() /* reduce AAgrammar19Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new19() /* reduce AAgrammar20Grammar */
+    private List<?> new19() /* reduce AAgrammar20Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2098,26 +2098,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, pigntokensNode7, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new20() /* reduce AAgrammar21Grammar */
+    private List<?> new20() /* reduce AAgrammar21Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new21() /* reduce AAgrammar22Grammar */
+    private List<?> new21() /* reduce AAgrammar22Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -2125,29 +2125,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, pigntokensNode7, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new22() /* reduce AAgrammar23Grammar */
+    private List<?> new22() /* reduce AAgrammar23Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new23() /* reduce AAgrammar24Grammar */
+    private List<?> new23() /* reduce AAgrammar24Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2156,26 +2156,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, pigntokensNode7, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new24() /* reduce AAgrammar25Grammar */
+    private List<?> new24() /* reduce AAgrammar25Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new25() /* reduce AAgrammar26Grammar */
+    private List<?> new25() /* reduce AAgrammar26Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0);
@@ -2183,29 +2183,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, pigntokensNode7, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new26() /* reduce AAgrammar27Grammar */
+    private List<?> new26() /* reduce AAgrammar27Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new27() /* reduce AAgrammar28Grammar */
+    private List<?> new27() /* reduce AAgrammar28Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2214,29 +2214,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, pigntokensNode7, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new28() /* reduce AAgrammar29Grammar */
+    private List<?> new28() /* reduce AAgrammar29Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new29() /* reduce AAgrammar30Grammar */
+    private List<?> new29() /* reduce AAgrammar30Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -2245,15 +2245,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, pigntokensNode7, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new30() /* reduce AAgrammar31Grammar */
+    private List<?> new30() /* reduce AAgrammar31Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
@@ -2261,16 +2261,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new31() /* reduce AAgrammar32Grammar */
+    private List<?> new31() /* reduce AAgrammar32Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2280,49 +2280,49 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, pigntokensNode7, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new32() /* reduce AAgrammar33Grammar */
+    private List<?> new32() /* reduce AAgrammar33Grammar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PProductions pproductionsNode7 = (PProductions)nodeArrayList1.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new33() /* reduce AAgrammar34Grammar */
+    private List<?> new33() /* reduce AAgrammar34Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PProductions pproductionsNode8 = (PProductions)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, null, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new34() /* reduce AAgrammar35Grammar */
+    private List<?> new34() /* reduce AAgrammar35Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new35() /* reduce AAgrammar36Grammar */
+    private List<?> new35() /* reduce AAgrammar36Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2330,26 +2330,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, null, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new36() /* reduce AAgrammar37Grammar */
+    private List<?> new36() /* reduce AAgrammar37Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new37() /* reduce AAgrammar38Grammar */
+    private List<?> new37() /* reduce AAgrammar38Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -2357,29 +2357,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, null, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new38() /* reduce AAgrammar39Grammar */
+    private List<?> new38() /* reduce AAgrammar39Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new39() /* reduce AAgrammar40Grammar */
+    private List<?> new39() /* reduce AAgrammar40Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2388,26 +2388,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, null, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new40() /* reduce AAgrammar41Grammar */
+    private List<?> new40() /* reduce AAgrammar41Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new41() /* reduce AAgrammar42Grammar */
+    private List<?> new41() /* reduce AAgrammar42Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0);
@@ -2415,29 +2415,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, null, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new42() /* reduce AAgrammar43Grammar */
+    private List<?> new42() /* reduce AAgrammar43Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new43() /* reduce AAgrammar44Grammar */
+    private List<?> new43() /* reduce AAgrammar44Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2446,29 +2446,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, null, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new44() /* reduce AAgrammar45Grammar */
+    private List<?> new44() /* reduce AAgrammar45Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new45() /* reduce AAgrammar46Grammar */
+    private List<?> new45() /* reduce AAgrammar46Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -2477,15 +2477,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, null, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new46() /* reduce AAgrammar47Grammar */
+    private List<?> new46() /* reduce AAgrammar47Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
@@ -2493,16 +2493,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new47() /* reduce AAgrammar48Grammar */
+    private List<?> new47() /* reduce AAgrammar48Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2512,26 +2512,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, null, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new48() /* reduce AAgrammar49Grammar */
+    private List<?> new48() /* reduce AAgrammar49Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList1.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new49() /* reduce AAgrammar50Grammar */
+    private List<?> new49() /* reduce AAgrammar50Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0);
@@ -2539,29 +2539,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, pigntokensNode7, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new50() /* reduce AAgrammar51Grammar */
+    private List<?> new50() /* reduce AAgrammar51Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new51() /* reduce AAgrammar52Grammar */
+    private List<?> new51() /* reduce AAgrammar52Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2570,29 +2570,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, pigntokensNode7, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new52() /* reduce AAgrammar53Grammar */
+    private List<?> new52() /* reduce AAgrammar53Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new53() /* reduce AAgrammar54Grammar */
+    private List<?> new53() /* reduce AAgrammar54Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -2601,15 +2601,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, pigntokensNode7, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new54() /* reduce AAgrammar55Grammar */
+    private List<?> new54() /* reduce AAgrammar55Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
@@ -2617,16 +2617,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new55() /* reduce AAgrammar56Grammar */
+    private List<?> new55() /* reduce AAgrammar56Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2636,29 +2636,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, pigntokensNode7, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new56() /* reduce AAgrammar57Grammar */
+    private List<?> new56() /* reduce AAgrammar57Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new57() /* reduce AAgrammar58Grammar */
+    private List<?> new57() /* reduce AAgrammar58Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0);
@@ -2667,15 +2667,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, pigntokensNode7, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new58() /* reduce AAgrammar59Grammar */
+    private List<?> new58() /* reduce AAgrammar59Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
@@ -2683,16 +2683,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new59() /* reduce AAgrammar60Grammar */
+    private List<?> new59() /* reduce AAgrammar60Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2702,15 +2702,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, pigntokensNode7, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new60() /* reduce AAgrammar61Grammar */
+    private List<?> new60() /* reduce AAgrammar61Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
@@ -2718,16 +2718,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new61() /* reduce AAgrammar62Grammar */
+    private List<?> new61() /* reduce AAgrammar62Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -2737,16 +2737,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, pigntokensNode7, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new62() /* reduce AAgrammar63Grammar */
+    private List<?> new62() /* reduce AAgrammar63Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
@@ -2755,17 +2755,17 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new63() /* reduce AAgrammar64Grammar */
+    private List<?> new63() /* reduce AAgrammar64Grammar */
     {
-        List<Object> nodeArrayList6 = pop();
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList6 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2776,49 +2776,49 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, pigntokensNode7, pproductionsNode8, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new64() /* reduce AAgrammar65Grammar */
+    private List<?> new64() /* reduce AAgrammar65Grammar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PAst pastNode8 = (PAst)nodeArrayList1.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new65() /* reduce AAgrammar66Grammar */
+    private List<?> new65() /* reduce AAgrammar66Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PAst pastNode9 = (PAst)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new66() /* reduce AAgrammar67Grammar */
+    private List<?> new66() /* reduce AAgrammar67Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PAst pastNode8 = (PAst)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new67() /* reduce AAgrammar68Grammar */
+    private List<?> new67() /* reduce AAgrammar68Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2826,26 +2826,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, null, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new68() /* reduce AAgrammar69Grammar */
+    private List<?> new68() /* reduce AAgrammar69Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PAst pastNode8 = (PAst)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new69() /* reduce AAgrammar70Grammar */
+    private List<?> new69() /* reduce AAgrammar70Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -2853,29 +2853,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, null, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new70() /* reduce AAgrammar71Grammar */
+    private List<?> new70() /* reduce AAgrammar71Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new71() /* reduce AAgrammar72Grammar */
+    private List<?> new71() /* reduce AAgrammar72Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2884,26 +2884,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, null, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new72() /* reduce AAgrammar73Grammar */
+    private List<?> new72() /* reduce AAgrammar73Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0);
         PAst pastNode8 = (PAst)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new73() /* reduce AAgrammar74Grammar */
+    private List<?> new73() /* reduce AAgrammar74Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0);
@@ -2911,29 +2911,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, null, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new74() /* reduce AAgrammar75Grammar */
+    private List<?> new74() /* reduce AAgrammar75Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new75() /* reduce AAgrammar76Grammar */
+    private List<?> new75() /* reduce AAgrammar76Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -2942,29 +2942,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, null, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new76() /* reduce AAgrammar77Grammar */
+    private List<?> new76() /* reduce AAgrammar77Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new77() /* reduce AAgrammar78Grammar */
+    private List<?> new77() /* reduce AAgrammar78Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -2973,15 +2973,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, null, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new78() /* reduce AAgrammar79Grammar */
+    private List<?> new78() /* reduce AAgrammar79Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
@@ -2989,16 +2989,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new79() /* reduce AAgrammar80Grammar */
+    private List<?> new79() /* reduce AAgrammar80Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3008,26 +3008,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, null, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new80() /* reduce AAgrammar81Grammar */
+    private List<?> new80() /* reduce AAgrammar81Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList1.get(0);
         PAst pastNode8 = (PAst)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new81() /* reduce AAgrammar82Grammar */
+    private List<?> new81() /* reduce AAgrammar82Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0);
@@ -3035,29 +3035,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, pigntokensNode7, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new82() /* reduce AAgrammar83Grammar */
+    private List<?> new82() /* reduce AAgrammar83Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new83() /* reduce AAgrammar84Grammar */
+    private List<?> new83() /* reduce AAgrammar84Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3066,29 +3066,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, pigntokensNode7, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new84() /* reduce AAgrammar85Grammar */
+    private List<?> new84() /* reduce AAgrammar85Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new85() /* reduce AAgrammar86Grammar */
+    private List<?> new85() /* reduce AAgrammar86Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -3097,15 +3097,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, pigntokensNode7, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new86() /* reduce AAgrammar87Grammar */
+    private List<?> new86() /* reduce AAgrammar87Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
@@ -3113,16 +3113,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new87() /* reduce AAgrammar88Grammar */
+    private List<?> new87() /* reduce AAgrammar88Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3132,29 +3132,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, pigntokensNode7, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new88() /* reduce AAgrammar89Grammar */
+    private List<?> new88() /* reduce AAgrammar89Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new89() /* reduce AAgrammar90Grammar */
+    private List<?> new89() /* reduce AAgrammar90Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0);
@@ -3163,15 +3163,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, pigntokensNode7, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new90() /* reduce AAgrammar91Grammar */
+    private List<?> new90() /* reduce AAgrammar91Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
@@ -3179,16 +3179,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new91() /* reduce AAgrammar92Grammar */
+    private List<?> new91() /* reduce AAgrammar92Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3198,15 +3198,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, pigntokensNode7, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new92() /* reduce AAgrammar93Grammar */
+    private List<?> new92() /* reduce AAgrammar93Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
@@ -3214,16 +3214,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new93() /* reduce AAgrammar94Grammar */
+    private List<?> new93() /* reduce AAgrammar94Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -3233,16 +3233,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, pigntokensNode7, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new94() /* reduce AAgrammar95Grammar */
+    private List<?> new94() /* reduce AAgrammar95Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
@@ -3251,17 +3251,17 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new95() /* reduce AAgrammar96Grammar */
+    private List<?> new95() /* reduce AAgrammar96Grammar */
     {
-        List<Object> nodeArrayList6 = pop();
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList6 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3272,26 +3272,26 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, pigntokensNode7, null, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new96() /* reduce AAgrammar97Grammar */
+    private List<?> new96() /* reduce AAgrammar97Grammar */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PProductions pproductionsNode7 = (PProductions)nodeArrayList1.get(0);
         PAst pastNode8 = (PAst)nodeArrayList2.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new97() /* reduce AAgrammar98Grammar */
+    private List<?> new97() /* reduce AAgrammar98Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PProductions pproductionsNode8 = (PProductions)nodeArrayList2.get(0);
@@ -3299,29 +3299,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, null, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new98() /* reduce AAgrammar99Grammar */
+    private List<?> new98() /* reduce AAgrammar99Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new99() /* reduce AAgrammar100Grammar */
+    private List<?> new99() /* reduce AAgrammar100Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3330,29 +3330,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, null, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new100() /* reduce AAgrammar101Grammar */
+    private List<?> new100() /* reduce AAgrammar101Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new101() /* reduce AAgrammar102Grammar */
+    private List<?> new101() /* reduce AAgrammar102Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -3361,15 +3361,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, null, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new102() /* reduce AAgrammar103Grammar */
+    private List<?> new102() /* reduce AAgrammar103Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
@@ -3377,16 +3377,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new103() /* reduce AAgrammar104Grammar */
+    private List<?> new103() /* reduce AAgrammar104Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3396,29 +3396,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, null, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new104() /* reduce AAgrammar105Grammar */
+    private List<?> new104() /* reduce AAgrammar105Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new105() /* reduce AAgrammar106Grammar */
+    private List<?> new105() /* reduce AAgrammar106Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0);
@@ -3427,15 +3427,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, null, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new106() /* reduce AAgrammar107Grammar */
+    private List<?> new106() /* reduce AAgrammar107Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
@@ -3443,16 +3443,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new107() /* reduce AAgrammar108Grammar */
+    private List<?> new107() /* reduce AAgrammar108Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3462,15 +3462,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, null, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new108() /* reduce AAgrammar109Grammar */
+    private List<?> new108() /* reduce AAgrammar109Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
@@ -3478,16 +3478,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new109() /* reduce AAgrammar110Grammar */
+    private List<?> new109() /* reduce AAgrammar110Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -3497,16 +3497,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, null, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new110() /* reduce AAgrammar111Grammar */
+    private List<?> new110() /* reduce AAgrammar111Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
@@ -3515,17 +3515,17 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new111() /* reduce AAgrammar112Grammar */
+    private List<?> new111() /* reduce AAgrammar112Grammar */
     {
-        List<Object> nodeArrayList6 = pop();
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList6 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3536,29 +3536,29 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, null, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new112() /* reduce AAgrammar113Grammar */
+    private List<?> new112() /* reduce AAgrammar113Grammar */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList1.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList2.get(0);
         PAst pastNode8 = (PAst)nodeArrayList3.get(0);
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new113() /* reduce AAgrammar114Grammar */
+    private List<?> new113() /* reduce AAgrammar114Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PIgnTokens pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0);
@@ -3567,15 +3567,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, null, pigntokensNode7, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new114() /* reduce AAgrammar115Grammar */
+    private List<?> new114() /* reduce AAgrammar115Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
@@ -3583,16 +3583,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new115() /* reduce AAgrammar116Grammar */
+    private List<?> new115() /* reduce AAgrammar116Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3602,15 +3602,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, null, pigntokensNode7, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new116() /* reduce AAgrammar117Grammar */
+    private List<?> new116() /* reduce AAgrammar117Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
@@ -3618,16 +3618,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new117() /* reduce AAgrammar118Grammar */
+    private List<?> new117() /* reduce AAgrammar118Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -3637,16 +3637,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, null, pigntokensNode7, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new118() /* reduce AAgrammar119Grammar */
+    private List<?> new118() /* reduce AAgrammar119Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
@@ -3655,17 +3655,17 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new119() /* reduce AAgrammar120Grammar */
+    private List<?> new119() /* reduce AAgrammar120Grammar */
     {
-        List<Object> nodeArrayList6 = pop();
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList6 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3676,15 +3676,15 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, null, pigntokensNode7, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new120() /* reduce AAgrammar121Grammar */
+    private List<?> new120() /* reduce AAgrammar121Grammar */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
@@ -3692,16 +3692,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new121() /* reduce AAgrammar122Grammar */
+    private List<?> new121() /* reduce AAgrammar122Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PTokens ptokensNode6 = (PTokens)nodeArrayList2.get(0);
@@ -3711,16 +3711,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, null, ptokensNode6, pigntokensNode7, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new122() /* reduce AAgrammar123Grammar */
+    private List<?> new122() /* reduce AAgrammar123Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
@@ -3729,17 +3729,17 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new123() /* reduce AAgrammar124Grammar */
+    private List<?> new123() /* reduce AAgrammar124Grammar */
     {
-        List<Object> nodeArrayList6 = pop();
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList6 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3750,16 +3750,16 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, null, ptokensNode6, pigntokensNode7, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new124() /* reduce AAgrammar125Grammar */
+    private List<?> new124() /* reduce AAgrammar125Grammar */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
@@ -3768,17 +3768,17 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new125() /* reduce AAgrammar126Grammar */
+    private List<?> new125() /* reduce AAgrammar126Grammar */
     {
-        List<Object> nodeArrayList6 = pop();
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList6 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PStates pstatesNode5 = (PStates)nodeArrayList2.get(0);
@@ -3789,17 +3789,17 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, null, pstatesNode5, ptokensNode6, pigntokensNode7, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new126() /* reduce AAgrammar127Grammar */
+    private List<?> new126() /* reduce AAgrammar127Grammar */
     {
-        List<Object> nodeArrayList6 = pop();
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList6 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
@@ -3809,18 +3809,18 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new127() /* reduce AAgrammar128Grammar */
+    private List<?> new127() /* reduce AAgrammar128Grammar */
     {
-        List<Object> nodeArrayList7 = pop();
-        List<Object> nodeArrayList6 = pop();
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList7 = pop();
+        List<?> nodeArrayList6 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
         List<TPkgId> listNode3 = listNode2;
         PHelpers phelpersNode4 = (PHelpers)nodeArrayList2.get(0);
@@ -3832,23 +3832,23 @@ public class Parser implements IParser
         AGrammar pgrammarNode1 = new AGrammar(listNode3, phelpersNode4, pstatesNode5, ptokensNode6, pigntokensNode7, pproductionsNode8, pastNode9);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList7);
-        return Collections.<Object>singletonList(pgrammarNode1);
+        return Collections.singletonList(pgrammarNode1);
     }
 
-    private List<Object> new128() /* reduce APackage */
+    private List<?> new128() /* reduce APackage */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode1 = (List<TPkgId>)nodeArrayList2.get(0);
         List<TPkgId> listNode2 = listNode1;
         checkResult(listNode2, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new129() /* reduce AApkgname1PkgName */
+    private List<?> new129() /* reduce AApkgname1PkgName */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TPkgId tpkgidNode1 = (TPkgId)nodeArrayList1.get(0);
         List<TPkgId> listNode2;
         if(tpkgidNode1 != null) {
@@ -3857,14 +3857,14 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new130() /* reduce AApkgname2PkgName */
+    private List<?> new130() /* reduce AApkgname2PkgName */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TPkgId tpkgidNode1 = (TPkgId)nodeArrayList1.get(0);
         List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList2.get(0);
         List<TPkgId> listNode3 = new LinkedList<>();
@@ -3878,60 +3878,60 @@ public class Parser implements IParser
             listNode3.addAll(listNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new131() /* reduce APkgNameTail */
+    private List<?> new131() /* reduce APkgNameTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TPkgId tpkgidNode1 = (TPkgId)nodeArrayList2.get(0);
         checkResult(tpkgidNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(tpkgidNode1);
+        return Collections.singletonList(tpkgidNode1);
     }
 
-    private List<Object> new132() /* reduce AHelpers */
+    private List<?> new132() /* reduce AHelpers */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PHelperDef> listNode2 = (List<PHelperDef>)nodeArrayList2.get(0);
         List<PHelperDef> listNode3 = listNode2;
         AHelpers phelpersNode1 = new AHelpers(listNode3);
 
         checkResult(phelpersNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(phelpersNode1);
+        return Collections.singletonList(phelpersNode1);
     }
 
-    private List<Object> new133() /* reduce AHelperDef */
+    private List<?> new133() /* reduce AHelperDef */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         PRegExp pregexpNode3 = (PRegExp)nodeArrayList3.get(0);
         AHelperDef phelperdefNode1 = new AHelperDef(tidNode2, pregexpNode3);
 
         checkResult(phelperdefNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(phelperdefNode1);
+        return Collections.singletonList(phelperdefNode1);
     }
 
-    private List<Object> new134() /* reduce AStates */
+    private List<?> new134() /* reduce AStates */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TId> listNode2 = (List<TId>)nodeArrayList2.get(0);
         List<TId> listNode3 = listNode2;
         AStates pstatesNode1 = new AStates(listNode3);
 
         checkResult(pstatesNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pstatesNode1);
+        return Collections.singletonList(pstatesNode1);
     }
 
-    private List<Object> new135() /* reduce AAidlist1IdList */
+    private List<?> new135() /* reduce AAidlist1IdList */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode1 = (TId)nodeArrayList1.get(0);
         List<TId> listNode2;
         if(tidNode1 != null) {
@@ -3940,13 +3940,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new136() /* reduce AAidlist2IdList */
+    private List<?> new136() /* reduce AAidlist2IdList */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode1 = (TId)nodeArrayList1.get(0);
         List<TId> listNode2 = (List<TId>)nodeArrayList2.get(0);
         List<TId> listNode3 = new LinkedList<>();
@@ -3960,67 +3960,67 @@ public class Parser implements IParser
             listNode3.addAll(listNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new137() /* reduce AIdListTail */
+    private List<?> new137() /* reduce AIdListTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode1 = (TId)nodeArrayList2.get(0);
         checkResult(tidNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(tidNode1);
+        return Collections.singletonList(tidNode1);
     }
 
-    private List<Object> new138() /* reduce ATokens */
+    private List<?> new138() /* reduce ATokens */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PTokenDef> listNode2 = (List<PTokenDef>)nodeArrayList2.get(0);
         List<PTokenDef> listNode3 = listNode2;
         ATokens ptokensNode1 = new ATokens(listNode3);
 
         checkResult(ptokensNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(ptokensNode1);
+        return Collections.singletonList(ptokensNode1);
     }
 
-    private List<Object> new139() /* reduce AAtokendef1TokenDef */
+    private List<?> new139() /* reduce AAtokendef1TokenDef */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode3 = (TId)nodeArrayList1.get(0);
         PRegExp pregexpNode4 = (PRegExp)nodeArrayList3.get(0);
         ATokenDef ptokendefNode1 = new ATokenDef(null, tidNode3, pregexpNode4, null, null);
 
         checkResult(ptokendefNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(ptokendefNode1);
+        return Collections.singletonList(ptokendefNode1);
     }
 
-    private List<Object> new140() /* reduce AAtokendef2TokenDef */
+    private List<?> new140() /* reduce AAtokendef2TokenDef */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStateList pstatelistNode2 = (PStateList)nodeArrayList1.get(0);
         TId tidNode3 = (TId)nodeArrayList2.get(0);
         PRegExp pregexpNode4 = (PRegExp)nodeArrayList4.get(0);
         ATokenDef ptokendefNode1 = new ATokenDef(pstatelistNode2, tidNode3, pregexpNode4, null, null);
 
         checkResult(ptokendefNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(ptokendefNode1);
+        return Collections.singletonList(ptokendefNode1);
     }
 
-    private List<Object> new141() /* reduce AAtokendef3TokenDef */
+    private List<?> new141() /* reduce AAtokendef3TokenDef */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode3 = (TId)nodeArrayList1.get(0);
         PRegExp pregexpNode4 = (PRegExp)nodeArrayList3.get(0);
         TSlash tslashNode5 = (TSlash)nodeArrayList4.get(0);
@@ -4028,17 +4028,17 @@ public class Parser implements IParser
         ATokenDef ptokendefNode1 = new ATokenDef(null, tidNode3, pregexpNode4, tslashNode5, pregexpNode6);
 
         checkResult(ptokendefNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(ptokendefNode1);
+        return Collections.singletonList(ptokendefNode1);
     }
 
-    private List<Object> new142() /* reduce AAtokendef4TokenDef */
+    private List<?> new142() /* reduce AAtokendef4TokenDef */
     {
-        List<Object> nodeArrayList6 = pop();
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList6 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PStateList pstatelistNode2 = (PStateList)nodeArrayList1.get(0);
         TId tidNode3 = (TId)nodeArrayList2.get(0);
         PRegExp pregexpNode4 = (PRegExp)nodeArrayList4.get(0);
@@ -4047,57 +4047,57 @@ public class Parser implements IParser
         ATokenDef ptokendefNode1 = new ATokenDef(pstatelistNode2, tidNode3, pregexpNode4, tslashNode5, pregexpNode6);
 
         checkResult(ptokendefNode1, nodeArrayList1, nodeArrayList6);
-        return Collections.<Object>singletonList(ptokendefNode1);
+        return Collections.singletonList(ptokendefNode1);
     }
 
-    private List<Object> new143() /* reduce AAstatelist1StateList */
+    private List<?> new143() /* reduce AAstatelist1StateList */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList2.get(0);
         AStateList pstatelistNode1 = new AStateList(tidNode2, null, Collections.EMPTY_LIST);
 
         checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pstatelistNode1);
+        return Collections.singletonList(pstatelistNode1);
     }
 
-    private List<Object> new144() /* reduce AAstatelist2StateList */
+    private List<?> new144() /* reduce AAstatelist2StateList */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList2.get(0);
         PTransition ptransitionNode3 = (PTransition)nodeArrayList3.get(0);
         AStateList pstatelistNode1 = new AStateList(tidNode2, ptransitionNode3, Collections.EMPTY_LIST);
 
         checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pstatelistNode1);
+        return Collections.singletonList(pstatelistNode1);
     }
 
-    private List<Object> new145() /* reduce AAstatelist3StateList */
+    private List<?> new145() /* reduce AAstatelist3StateList */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList2.get(0);
         List<PStateListTail> listNode4 = (List<PStateListTail>)nodeArrayList3.get(0);
         List<PStateListTail> listNode5 = listNode4;
         AStateList pstatelistNode1 = new AStateList(tidNode2, null, listNode5);
 
         checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pstatelistNode1);
+        return Collections.singletonList(pstatelistNode1);
     }
 
-    private List<Object> new146() /* reduce AAstatelist4StateList */
+    private List<?> new146() /* reduce AAstatelist4StateList */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList2.get(0);
         PTransition ptransitionNode3 = (PTransition)nodeArrayList3.get(0);
         List<PStateListTail> listNode4 = (List<PStateListTail>)nodeArrayList4.get(0);
@@ -4105,73 +4105,73 @@ public class Parser implements IParser
         AStateList pstatelistNode1 = new AStateList(tidNode2, ptransitionNode3, listNode5);
 
         checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pstatelistNode1);
+        return Collections.singletonList(pstatelistNode1);
     }
 
-    private List<Object> new147() /* reduce AAstatelisttail1StateListTail */
+    private List<?> new147() /* reduce AAstatelisttail1StateListTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList2.get(0);
         AStateListTail pstatelisttailNode1 = new AStateListTail(tidNode2, null);
 
         checkResult(pstatelisttailNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pstatelisttailNode1);
+        return Collections.singletonList(pstatelisttailNode1);
     }
 
-    private List<Object> new148() /* reduce AAstatelisttail2StateListTail */
+    private List<?> new148() /* reduce AAstatelisttail2StateListTail */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList2.get(0);
         PTransition ptransitionNode3 = (PTransition)nodeArrayList3.get(0);
         AStateListTail pstatelisttailNode1 = new AStateListTail(tidNode2, ptransitionNode3);
 
         checkResult(pstatelisttailNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pstatelisttailNode1);
+        return Collections.singletonList(pstatelisttailNode1);
     }
 
-    private List<Object> new149() /* reduce ATransition */
+    private List<?> new149() /* reduce ATransition */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList2.get(0);
         ATransition ptransitionNode1 = new ATransition(tidNode2);
 
         checkResult(ptransitionNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(ptransitionNode1);
+        return Collections.singletonList(ptransitionNode1);
     }
 
-    private List<Object> new150() /* reduce AAigntokens1IgnTokens */
+    private List<?> new150() /* reduce AAigntokens1IgnTokens */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         AIgnTokens pigntokensNode1 = new AIgnTokens(Collections.EMPTY_LIST);
 
         checkResult(pigntokensNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pigntokensNode1);
+        return Collections.singletonList(pigntokensNode1);
     }
 
-    private List<Object> new151() /* reduce AAigntokens2IgnTokens */
+    private List<?> new151() /* reduce AAigntokens2IgnTokens */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TId> listNode2 = (List<TId>)nodeArrayList3.get(0);
         List<TId> listNode3 = listNode2;
         AIgnTokens pigntokensNode1 = new AIgnTokens(listNode3);
 
         checkResult(pigntokensNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pigntokensNode1);
+        return Collections.singletonList(pigntokensNode1);
     }
 
-    private List<Object> new152() /* reduce ALookAhead */
+    private List<?> new152() /* reduce ALookAhead */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TSlash tslashNode1 = (TSlash)nodeArrayList1.get(0);
         PRegExp pregexpNode2 = (PRegExp)nodeArrayList2.get(0);
         checkResult(tslashNode1, nodeArrayList1, nodeArrayList2);
@@ -4181,9 +4181,9 @@ public class Parser implements IParser
         });
     }
 
-    private List<Object> new153() /* reduce AAregexp1RegExp */
+    private List<?> new153() /* reduce AAregexp1RegExp */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PConcat pconcatNode2 = (PConcat)nodeArrayList1.get(0);
         List<PConcat> listNode3;
         if(pconcatNode2 != null) {
@@ -4194,13 +4194,13 @@ public class Parser implements IParser
         ARegExp pregexpNode1 = new ARegExp(listNode3);
 
         checkResult(pregexpNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pregexpNode1);
+        return Collections.singletonList(pregexpNode1);
     }
 
-    private List<Object> new154() /* reduce AAregexp2RegExp */
+    private List<?> new154() /* reduce AAregexp2RegExp */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PConcat pconcatNode2 = (PConcat)nodeArrayList1.get(0);
         List<PConcat> listNode3 = (List<PConcat>)nodeArrayList2.get(0);
         List<PConcat> listNode4 = new LinkedList<>();
@@ -4216,253 +4216,253 @@ public class Parser implements IParser
         ARegExp pregexpNode1 = new ARegExp(listNode4);
 
         checkResult(pregexpNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pregexpNode1);
+        return Collections.singletonList(pregexpNode1);
     }
 
-    private List<Object> new155() /* reduce ARegExpTail */
+    private List<?> new155() /* reduce ARegExpTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PConcat pconcatNode1 = (PConcat)nodeArrayList2.get(0);
         checkResult(pconcatNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pconcatNode1);
+        return Collections.singletonList(pconcatNode1);
     }
 
-    private List<Object> new156() /* reduce AAconcat1Concat */
+    private List<?> new156() /* reduce AAconcat1Concat */
     {
         AConcat pconcatNode1 = new AConcat(Collections.EMPTY_LIST);
 
-        return Collections.<Object>singletonList(pconcatNode1);
+        return Collections.singletonList(pconcatNode1);
     }
 
-    private List<Object> new157() /* reduce AAconcat2Concat */
+    private List<?> new157() /* reduce AAconcat2Concat */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PUnExp> listNode2 = (List<PUnExp>)nodeArrayList1.get(0);
         List<PUnExp> listNode3 = listNode2;
         AConcat pconcatNode1 = new AConcat(listNode3);
 
         checkResult(pconcatNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pconcatNode1);
+        return Collections.singletonList(pconcatNode1);
     }
 
-    private List<Object> new158() /* reduce AAunexp1UnExp */
+    private List<?> new158() /* reduce AAunexp1UnExp */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PBasic pbasicNode2 = (PBasic)nodeArrayList1.get(0);
         AUnExp punexpNode1 = new AUnExp(pbasicNode2, null);
 
         checkResult(punexpNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(punexpNode1);
+        return Collections.singletonList(punexpNode1);
     }
 
-    private List<Object> new159() /* reduce AAunexp2UnExp */
+    private List<?> new159() /* reduce AAunexp2UnExp */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PBasic pbasicNode2 = (PBasic)nodeArrayList1.get(0);
         PUnOp punopNode3 = (PUnOp)nodeArrayList2.get(0);
         AUnExp punexpNode1 = new AUnExp(pbasicNode2, punopNode3);
 
         checkResult(punexpNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(punexpNode1);
+        return Collections.singletonList(punexpNode1);
     }
 
-    private List<Object> new160() /* reduce ACharBasic */
+    private List<?> new160() /* reduce ACharBasic */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PChar pcharNode2 = (PChar)nodeArrayList1.get(0);
         ACharBasic pbasicNode1 = new ACharBasic(pcharNode2);
 
         checkResult(pbasicNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pbasicNode1);
+        return Collections.singletonList(pbasicNode1);
     }
 
-    private List<Object> new161() /* reduce ASetBasic */
+    private List<?> new161() /* reduce ASetBasic */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PSet psetNode2 = (PSet)nodeArrayList1.get(0);
         ASetBasic pbasicNode1 = new ASetBasic(psetNode2);
 
         checkResult(pbasicNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pbasicNode1);
+        return Collections.singletonList(pbasicNode1);
     }
 
-    private List<Object> new162() /* reduce AStringBasic */
+    private List<?> new162() /* reduce AStringBasic */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TString tstringNode2 = (TString)nodeArrayList1.get(0);
         AStringBasic pbasicNode1 = new AStringBasic(tstringNode2);
 
         checkResult(pbasicNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pbasicNode1);
+        return Collections.singletonList(pbasicNode1);
     }
 
-    private List<Object> new163() /* reduce AIdBasic */
+    private List<?> new163() /* reduce AIdBasic */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         AIdBasic pbasicNode1 = new AIdBasic(tidNode2);
 
         checkResult(pbasicNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pbasicNode1);
+        return Collections.singletonList(pbasicNode1);
     }
 
-    private List<Object> new164() /* reduce ARegExpBasic */
+    private List<?> new164() /* reduce ARegExpBasic */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PRegExp pregexpNode2 = (PRegExp)nodeArrayList2.get(0);
         ARegExpBasic pbasicNode1 = new ARegExpBasic(pregexpNode2);
 
         checkResult(pbasicNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pbasicNode1);
+        return Collections.singletonList(pbasicNode1);
     }
 
-    private List<Object> new165() /* reduce ACharChar */
+    private List<?> new165() /* reduce ACharChar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TChar tcharNode2 = (TChar)nodeArrayList1.get(0);
         ACharChar pcharNode1 = new ACharChar(tcharNode2);
 
         checkResult(pcharNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pcharNode1);
+        return Collections.singletonList(pcharNode1);
     }
 
-    private List<Object> new166() /* reduce ADecChar */
+    private List<?> new166() /* reduce ADecChar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TDecChar tdeccharNode2 = (TDecChar)nodeArrayList1.get(0);
         ADecChar pcharNode1 = new ADecChar(tdeccharNode2);
 
         checkResult(pcharNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pcharNode1);
+        return Collections.singletonList(pcharNode1);
     }
 
-    private List<Object> new167() /* reduce AHexChar */
+    private List<?> new167() /* reduce AHexChar */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         THexChar thexcharNode2 = (THexChar)nodeArrayList1.get(0);
         AHexChar pcharNode1 = new AHexChar(thexcharNode2);
 
         checkResult(pcharNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pcharNode1);
+        return Collections.singletonList(pcharNode1);
     }
 
-    private List<Object> new168() /* reduce AOperationSet */
+    private List<?> new168() /* reduce AOperationSet */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PBasic pbasicNode2 = (PBasic)nodeArrayList2.get(0);
         PBinOp pbinopNode3 = (PBinOp)nodeArrayList3.get(0);
         PBasic pbasicNode4 = (PBasic)nodeArrayList4.get(0);
         AOperationSet psetNode1 = new AOperationSet(pbasicNode2, pbinopNode3, pbasicNode4);
 
         checkResult(psetNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(psetNode1);
+        return Collections.singletonList(psetNode1);
     }
 
-    private List<Object> new169() /* reduce AIntervalSet */
+    private List<?> new169() /* reduce AIntervalSet */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PChar pcharNode2 = (PChar)nodeArrayList2.get(0);
         PChar pcharNode3 = (PChar)nodeArrayList4.get(0);
         AIntervalSet psetNode1 = new AIntervalSet(pcharNode2, pcharNode3);
 
         checkResult(psetNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(psetNode1);
+        return Collections.singletonList(psetNode1);
     }
 
-    private List<Object> new170() /* reduce AStarUnOp */
+    private List<?> new170() /* reduce AStarUnOp */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TStar tstarNode2 = (TStar)nodeArrayList1.get(0);
         AStarUnOp punopNode1 = new AStarUnOp(tstarNode2);
 
         checkResult(punopNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(punopNode1);
+        return Collections.singletonList(punopNode1);
     }
 
-    private List<Object> new171() /* reduce AQMarkUnOp */
+    private List<?> new171() /* reduce AQMarkUnOp */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TQMark tqmarkNode2 = (TQMark)nodeArrayList1.get(0);
         AQMarkUnOp punopNode1 = new AQMarkUnOp(tqmarkNode2);
 
         checkResult(punopNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(punopNode1);
+        return Collections.singletonList(punopNode1);
     }
 
-    private List<Object> new172() /* reduce APlusUnOp */
+    private List<?> new172() /* reduce APlusUnOp */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TPlus tplusNode2 = (TPlus)nodeArrayList1.get(0);
         APlusUnOp punopNode1 = new APlusUnOp(tplusNode2);
 
         checkResult(punopNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(punopNode1);
+        return Collections.singletonList(punopNode1);
     }
 
-    private List<Object> new173() /* reduce APlusBinOp */
+    private List<?> new173() /* reduce APlusBinOp */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         APlusBinOp pbinopNode1 = new APlusBinOp();
 
         checkResult(pbinopNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pbinopNode1);
+        return Collections.singletonList(pbinopNode1);
     }
 
-    private List<Object> new174() /* reduce AMinusBinOp */
+    private List<?> new174() /* reduce AMinusBinOp */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         AMinusBinOp pbinopNode1 = new AMinusBinOp();
 
         checkResult(pbinopNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pbinopNode1);
+        return Collections.singletonList(pbinopNode1);
     }
 
-    private List<Object> new175() /* reduce AProductions */
+    private List<?> new175() /* reduce AProductions */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PProd> listNode2 = (List<PProd>)nodeArrayList2.get(0);
         List<PProd> listNode3 = listNode2;
         AProductions pproductionsNode1 = new AProductions(listNode3);
 
         checkResult(pproductionsNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pproductionsNode1);
+        return Collections.singletonList(pproductionsNode1);
     }
 
-    private List<Object> new176() /* reduce AAprod1Prod */
+    private List<?> new176() /* reduce AAprod1Prod */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         List<PAlt> listNode5 = (List<PAlt>)nodeArrayList3.get(0);
         List<PAlt> listNode6 = listNode5;
         AProd pprodNode1 = new AProd(tidNode2, null, Collections.EMPTY_LIST, listNode6);
 
         checkResult(pprodNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pprodNode1);
+        return Collections.singletonList(pprodNode1);
     }
 
-    private List<Object> new177() /* reduce AAprod2Prod */
+    private List<?> new177() /* reduce AAprod2Prod */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         TArrow tarrowNode3 = (TArrow)nodeArrayList2.get(0);
         List<PElem> listNode4 = (List<PElem>)nodeArrayList2.get(1);
@@ -4472,14 +4472,14 @@ public class Parser implements IParser
         AProd pprodNode1 = new AProd(tidNode2, tarrowNode3, listNode5, listNode7);
 
         checkResult(pprodNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(pprodNode1);
+        return Collections.singletonList(pprodNode1);
     }
 
-    private List<Object> new178() /* reduce AAprodtransform1ProdTransform */
+    private List<?> new178() /* reduce AAprodtransform1ProdTransform */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TArrow tarrowNode1 = (TArrow)nodeArrayList2.get(0);
         checkResult(tarrowNode1, nodeArrayList1, nodeArrayList3);
         return Arrays.asList(new Object[] {
@@ -4488,12 +4488,12 @@ public class Parser implements IParser
         });
     }
 
-    private List<Object> new179() /* reduce AAprodtransform2ProdTransform */
+    private List<?> new179() /* reduce AAprodtransform2ProdTransform */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TArrow tarrowNode1 = (TArrow)nodeArrayList2.get(0);
         List<PElem> listNode2 = (List<PElem>)nodeArrayList3.get(0);
         List<PElem> listNode3 = listNode2;
@@ -4504,9 +4504,9 @@ public class Parser implements IParser
         });
     }
 
-    private List<Object> new180() /* reduce AAalts1Alts */
+    private List<?> new180() /* reduce AAalts1Alts */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PAlt paltNode1 = (PAlt)nodeArrayList1.get(0);
         List<PAlt> listNode2;
         if(paltNode1 != null) {
@@ -4515,13 +4515,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new181() /* reduce AAalts2Alts */
+    private List<?> new181() /* reduce AAalts2Alts */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PAlt paltNode1 = (PAlt)nodeArrayList1.get(0);
         List<PAlt> listNode2 = (List<PAlt>)nodeArrayList2.get(0);
         List<PAlt> listNode3 = new LinkedList<>();
@@ -4535,99 +4535,99 @@ public class Parser implements IParser
             listNode3.addAll(listNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new182() /* reduce AAltsTail */
+    private List<?> new182() /* reduce AAltsTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PAlt paltNode1 = (PAlt)nodeArrayList2.get(0);
         checkResult(paltNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(paltNode1);
+        return Collections.singletonList(paltNode1);
     }
 
-    private List<Object> new183() /* reduce AAalt1Alt */
+    private List<?> new183() /* reduce AAalt1Alt */
     {
         AAlt paltNode1 = new AAlt(null, Collections.EMPTY_LIST, null);
 
-        return Collections.<Object>singletonList(paltNode1);
+        return Collections.singletonList(paltNode1);
     }
 
-    private List<Object> new184() /* reduce AAalt2Alt */
+    private List<?> new184() /* reduce AAalt2Alt */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         AAlt paltNode1 = new AAlt(tidNode2, Collections.EMPTY_LIST, null);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(paltNode1);
+        return Collections.singletonList(paltNode1);
     }
 
-    private List<Object> new185() /* reduce AAalt3Alt */
+    private List<?> new185() /* reduce AAalt3Alt */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PElem> listNode3 = (List<PElem>)nodeArrayList1.get(0);
         List<PElem> listNode4 = listNode3;
         AAlt paltNode1 = new AAlt(null, listNode4, null);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(paltNode1);
+        return Collections.singletonList(paltNode1);
     }
 
-    private List<Object> new186() /* reduce AAalt4Alt */
+    private List<?> new186() /* reduce AAalt4Alt */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         List<PElem> listNode3 = (List<PElem>)nodeArrayList2.get(0);
         List<PElem> listNode4 = listNode3;
         AAlt paltNode1 = new AAlt(tidNode2, listNode4, null);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(paltNode1);
+        return Collections.singletonList(paltNode1);
     }
 
-    private List<Object> new187() /* reduce AAalt5Alt */
+    private List<?> new187() /* reduce AAalt5Alt */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PAltTransform palttransformNode4 = (PAltTransform)nodeArrayList1.get(0);
         AAlt paltNode1 = new AAlt(null, Collections.EMPTY_LIST, palttransformNode4);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(paltNode1);
+        return Collections.singletonList(paltNode1);
     }
 
-    private List<Object> new188() /* reduce AAalt6Alt */
+    private List<?> new188() /* reduce AAalt6Alt */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         PAltTransform palttransformNode4 = (PAltTransform)nodeArrayList2.get(0);
         AAlt paltNode1 = new AAlt(tidNode2, Collections.EMPTY_LIST, palttransformNode4);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(paltNode1);
+        return Collections.singletonList(paltNode1);
     }
 
-    private List<Object> new189() /* reduce AAalt7Alt */
+    private List<?> new189() /* reduce AAalt7Alt */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PElem> listNode3 = (List<PElem>)nodeArrayList1.get(0);
         List<PElem> listNode4 = listNode3;
         PAltTransform palttransformNode5 = (PAltTransform)nodeArrayList2.get(0);
         AAlt paltNode1 = new AAlt(null, listNode4, palttransformNode5);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(paltNode1);
+        return Collections.singletonList(paltNode1);
     }
 
-    private List<Object> new190() /* reduce AAalt8Alt */
+    private List<?> new190() /* reduce AAalt8Alt */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         List<PElem> listNode3 = (List<PElem>)nodeArrayList2.get(0);
         List<PElem> listNode4 = listNode3;
@@ -4635,28 +4635,28 @@ public class Parser implements IParser
         AAlt paltNode1 = new AAlt(tidNode2, listNode4, palttransformNode5);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(paltNode1);
+        return Collections.singletonList(paltNode1);
     }
 
-    private List<Object> new191() /* reduce AAalttransform1AltTransform */
+    private List<?> new191() /* reduce AAalttransform1AltTransform */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TLBrace tlbraceNode2 = (TLBrace)nodeArrayList1.get(0);
         TRBrace trbraceNode4 = (TRBrace)nodeArrayList3.get(0);
         AAltTransform palttransformNode1 = new AAltTransform(tlbraceNode2, Collections.EMPTY_LIST, trbraceNode4);
 
         checkResult(palttransformNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(palttransformNode1);
+        return Collections.singletonList(palttransformNode1);
     }
 
-    private List<Object> new192() /* reduce AAalttransform2AltTransform */
+    private List<?> new192() /* reduce AAalttransform2AltTransform */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TLBrace tlbraceNode2 = (TLBrace)nodeArrayList1.get(0);
         List<PTerm> listNode3 = (List<PTerm>)nodeArrayList3.get(0);
         List<PTerm> listNode4 = listNode3;
@@ -4664,30 +4664,30 @@ public class Parser implements IParser
         AAltTransform palttransformNode1 = new AAltTransform(tlbraceNode2, listNode4, trbraceNode5);
 
         checkResult(palttransformNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(palttransformNode1);
+        return Collections.singletonList(palttransformNode1);
     }
 
-    private List<Object> new193() /* reduce AAnewterm1Term */
+    private List<?> new193() /* reduce AAnewterm1Term */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0);
         TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0);
         ANewTerm ptermNode1 = new ANewTerm(pprodnameNode2, tlparNode3, Collections.EMPTY_LIST);
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new194() /* reduce AAnewterm2Term */
+    private List<?> new194() /* reduce AAnewterm2Term */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0);
         TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0);
         List<PTerm> listNode4 = (List<PTerm>)nodeArrayList4.get(0);
@@ -4695,94 +4695,94 @@ public class Parser implements IParser
         ANewTerm ptermNode1 = new ANewTerm(pprodnameNode2, tlparNode3, listNode5);
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new195() /* reduce AAlistterm1Term */
+    private List<?> new195() /* reduce AAlistterm1Term */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TLBkt tlbktNode2 = (TLBkt)nodeArrayList1.get(0);
         AListTerm ptermNode1 = new AListTerm(tlbktNode2, Collections.EMPTY_LIST);
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new196() /* reduce AAlistterm2Term */
+    private List<?> new196() /* reduce AAlistterm2Term */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TLBkt tlbktNode2 = (TLBkt)nodeArrayList1.get(0);
         List<PListTerm> listNode3 = (List<PListTerm>)nodeArrayList2.get(0);
         List<PListTerm> listNode4 = listNode3;
         AListTerm ptermNode1 = new AListTerm(tlbktNode2, listNode4);
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new197() /* reduce AAsimpleterm1Term */
+    private List<?> new197() /* reduce AAsimpleterm1Term */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode3 = (TId)nodeArrayList1.get(0);
         ASimpleTerm ptermNode1 = new ASimpleTerm(null, tidNode3, null);
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new198() /* reduce AAsimpleterm2Term */
+    private List<?> new198() /* reduce AAsimpleterm2Term */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PSpecifier pspecifierNode2 = (PSpecifier)nodeArrayList1.get(0);
         TId tidNode3 = (TId)nodeArrayList2.get(0);
         ASimpleTerm ptermNode1 = new ASimpleTerm(pspecifierNode2, tidNode3, null);
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new199() /* reduce AAsimpleterm3Term */
+    private List<?> new199() /* reduce AAsimpleterm3Term */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode3 = (TId)nodeArrayList1.get(0);
         TId tidNode4 = (TId)nodeArrayList2.get(0);
         ASimpleTerm ptermNode1 = new ASimpleTerm(null, tidNode3, tidNode4);
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new200() /* reduce AAsimpleterm4Term */
+    private List<?> new200() /* reduce AAsimpleterm4Term */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PSpecifier pspecifierNode2 = (PSpecifier)nodeArrayList1.get(0);
         TId tidNode3 = (TId)nodeArrayList2.get(0);
         TId tidNode4 = (TId)nodeArrayList3.get(0);
         ASimpleTerm ptermNode1 = new ASimpleTerm(pspecifierNode2, tidNode3, tidNode4);
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new201() /* reduce ANullTerm */
+    private List<?> new201() /* reduce ANullTerm */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         ANullTerm ptermNode1 = new ANullTerm();
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new202() /* reduce AAlistoflistterm1ListOfListTerm */
+    private List<?> new202() /* reduce AAlistoflistterm1ListOfListTerm */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PListTerm plisttermNode1 = (PListTerm)nodeArrayList1.get(0);
         List<PListTerm> listNode2;
         if(plisttermNode1 != null) {
@@ -4791,13 +4791,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new203() /* reduce AAlistoflistterm2ListOfListTerm */
+    private List<?> new203() /* reduce AAlistoflistterm2ListOfListTerm */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PListTerm plisttermNode1 = (PListTerm)nodeArrayList1.get(0);
         List<PListTerm> listNode2 = (List<PListTerm>)nodeArrayList2.get(0);
         List<PListTerm> listNode3 = new LinkedList<>();
@@ -4811,30 +4811,30 @@ public class Parser implements IParser
             listNode3.addAll(listNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new204() /* reduce AAnewlistterm1ListTerm */
+    private List<?> new204() /* reduce AAnewlistterm1ListTerm */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0);
         TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0);
         ANewListTerm plisttermNode1 = new ANewListTerm(pprodnameNode2, tlparNode3, Collections.EMPTY_LIST);
 
         checkResult(plisttermNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(plisttermNode1);
+        return Collections.singletonList(plisttermNode1);
     }
 
-    private List<Object> new205() /* reduce AAnewlistterm2ListTerm */
+    private List<?> new205() /* reduce AAnewlistterm2ListTerm */
     {
-        List<Object> nodeArrayList5 = pop();
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList5 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0);
         TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0);
         List<PTerm> listNode4 = (List<PTerm>)nodeArrayList4.get(0);
@@ -4842,109 +4842,109 @@ public class Parser implements IParser
         ANewListTerm plisttermNode1 = new ANewListTerm(pprodnameNode2, tlparNode3, listNode5);
 
         checkResult(plisttermNode1, nodeArrayList1, nodeArrayList5);
-        return Collections.<Object>singletonList(plisttermNode1);
+        return Collections.singletonList(plisttermNode1);
     }
 
-    private List<Object> new206() /* reduce AAsimplelistterm1ListTerm */
+    private List<?> new206() /* reduce AAsimplelistterm1ListTerm */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode3 = (TId)nodeArrayList1.get(0);
         ASimpleListTerm plisttermNode1 = new ASimpleListTerm(null, tidNode3, null);
 
         checkResult(plisttermNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(plisttermNode1);
+        return Collections.singletonList(plisttermNode1);
     }
 
-    private List<Object> new207() /* reduce AAsimplelistterm2ListTerm */
+    private List<?> new207() /* reduce AAsimplelistterm2ListTerm */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PSpecifier pspecifierNode2 = (PSpecifier)nodeArrayList1.get(0);
         TId tidNode3 = (TId)nodeArrayList2.get(0);
         ASimpleListTerm plisttermNode1 = new ASimpleListTerm(pspecifierNode2, tidNode3, null);
 
         checkResult(plisttermNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(plisttermNode1);
+        return Collections.singletonList(plisttermNode1);
     }
 
-    private List<Object> new208() /* reduce AAsimplelistterm3ListTerm */
+    private List<?> new208() /* reduce AAsimplelistterm3ListTerm */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode3 = (TId)nodeArrayList1.get(0);
         TId tidNode4 = (TId)nodeArrayList2.get(0);
         ASimpleListTerm plisttermNode1 = new ASimpleListTerm(null, tidNode3, tidNode4);
 
         checkResult(plisttermNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(plisttermNode1);
+        return Collections.singletonList(plisttermNode1);
     }
 
-    private List<Object> new209() /* reduce AAsimplelistterm4ListTerm */
+    private List<?> new209() /* reduce AAsimplelistterm4ListTerm */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PSpecifier pspecifierNode2 = (PSpecifier)nodeArrayList1.get(0);
         TId tidNode3 = (TId)nodeArrayList2.get(0);
         TId tidNode4 = (TId)nodeArrayList3.get(0);
         ASimpleListTerm plisttermNode1 = new ASimpleListTerm(pspecifierNode2, tidNode3, tidNode4);
 
         checkResult(plisttermNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(plisttermNode1);
+        return Collections.singletonList(plisttermNode1);
     }
 
-    private List<Object> new210() /* reduce AListTermTail */
+    private List<?> new210() /* reduce AListTermTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PListTerm plisttermNode1 = (PListTerm)nodeArrayList2.get(0);
         checkResult(plisttermNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(plisttermNode1);
+        return Collections.singletonList(plisttermNode1);
     }
 
-    private List<Object> new211() /* reduce ASimpleTermTail */
+    private List<?> new211() /* reduce ASimpleTermTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode1 = (TId)nodeArrayList2.get(0);
         checkResult(tidNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(tidNode1);
+        return Collections.singletonList(tidNode1);
     }
 
-    private List<Object> new212() /* reduce AAprodname1ProdName */
+    private List<?> new212() /* reduce AAprodname1ProdName */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         AProdName pprodnameNode1 = new AProdName(tidNode2, null);
 
         checkResult(pprodnameNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pprodnameNode1);
+        return Collections.singletonList(pprodnameNode1);
     }
 
-    private List<Object> new213() /* reduce AAprodname2ProdName */
+    private List<?> new213() /* reduce AAprodname2ProdName */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         TId tidNode3 = (TId)nodeArrayList2.get(0);
         AProdName pprodnameNode1 = new AProdName(tidNode2, tidNode3);
 
         checkResult(pprodnameNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pprodnameNode1);
+        return Collections.singletonList(pprodnameNode1);
     }
 
-    private List<Object> new214() /* reduce AProdNameTail */
+    private List<?> new214() /* reduce AProdNameTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode1 = (TId)nodeArrayList2.get(0);
         checkResult(tidNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(tidNode1);
+        return Collections.singletonList(tidNode1);
     }
 
-    private List<Object> new215() /* reduce AAparams1Params */
+    private List<?> new215() /* reduce AAparams1Params */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PTerm ptermNode1 = (PTerm)nodeArrayList1.get(0);
         List<PTerm> listNode2;
         if(ptermNode1 != null) {
@@ -4953,13 +4953,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new216() /* reduce AAparams2Params */
+    private List<?> new216() /* reduce AAparams2Params */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PTerm ptermNode1 = (PTerm)nodeArrayList1.get(0);
         List<PTerm> listNode2 = (List<PTerm>)nodeArrayList2.get(0);
         List<PTerm> listNode3 = new LinkedList<>();
@@ -4973,122 +4973,122 @@ public class Parser implements IParser
             listNode3.addAll(listNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new217() /* reduce AParamsTail */
+    private List<?> new217() /* reduce AParamsTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PTerm ptermNode1 = (PTerm)nodeArrayList2.get(0);
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(ptermNode1);
+        return Collections.singletonList(ptermNode1);
     }
 
-    private List<Object> new218() /* reduce AAltName */
+    private List<?> new218() /* reduce AAltName */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode1 = (TId)nodeArrayList2.get(0);
         checkResult(tidNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(tidNode1);
+        return Collections.singletonList(tidNode1);
     }
 
-    private List<Object> new219() /* reduce AAelem1Elem */
+    private List<?> new219() /* reduce AAelem1Elem */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode4 = (TId)nodeArrayList1.get(0);
         AElem pelemNode1 = new AElem(null, null, tidNode4, null);
 
         checkResult(pelemNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pelemNode1);
+        return Collections.singletonList(pelemNode1);
     }
 
-    private List<Object> new220() /* reduce AAelem2Elem */
+    private List<?> new220() /* reduce AAelem2Elem */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         TId tidNode4 = (TId)nodeArrayList2.get(0);
         AElem pelemNode1 = new AElem(tidNode2, null, tidNode4, null);
 
         checkResult(pelemNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pelemNode1);
+        return Collections.singletonList(pelemNode1);
     }
 
-    private List<Object> new221() /* reduce AAelem3Elem */
+    private List<?> new221() /* reduce AAelem3Elem */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PSpecifier pspecifierNode3 = (PSpecifier)nodeArrayList1.get(0);
         TId tidNode4 = (TId)nodeArrayList2.get(0);
         AElem pelemNode1 = new AElem(null, pspecifierNode3, tidNode4, null);
 
         checkResult(pelemNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pelemNode1);
+        return Collections.singletonList(pelemNode1);
     }
 
-    private List<Object> new222() /* reduce AAelem4Elem */
+    private List<?> new222() /* reduce AAelem4Elem */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         PSpecifier pspecifierNode3 = (PSpecifier)nodeArrayList2.get(0);
         TId tidNode4 = (TId)nodeArrayList3.get(0);
         AElem pelemNode1 = new AElem(tidNode2, pspecifierNode3, tidNode4, null);
 
         checkResult(pelemNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pelemNode1);
+        return Collections.singletonList(pelemNode1);
     }
 
-    private List<Object> new223() /* reduce AAelem5Elem */
+    private List<?> new223() /* reduce AAelem5Elem */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode4 = (TId)nodeArrayList1.get(0);
         PUnOp punopNode5 = (PUnOp)nodeArrayList2.get(0);
         AElem pelemNode1 = new AElem(null, null, tidNode4, punopNode5);
 
         checkResult(pelemNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pelemNode1);
+        return Collections.singletonList(pelemNode1);
     }
 
-    private List<Object> new224() /* reduce AAelem6Elem */
+    private List<?> new224() /* reduce AAelem6Elem */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         TId tidNode4 = (TId)nodeArrayList2.get(0);
         PUnOp punopNode5 = (PUnOp)nodeArrayList3.get(0);
         AElem pelemNode1 = new AElem(tidNode2, null, tidNode4, punopNode5);
 
         checkResult(pelemNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pelemNode1);
+        return Collections.singletonList(pelemNode1);
     }
 
-    private List<Object> new225() /* reduce AAelem7Elem */
+    private List<?> new225() /* reduce AAelem7Elem */
     {
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PSpecifier pspecifierNode3 = (PSpecifier)nodeArrayList1.get(0);
         TId tidNode4 = (TId)nodeArrayList2.get(0);
         PUnOp punopNode5 = (PUnOp)nodeArrayList3.get(0);
         AElem pelemNode1 = new AElem(null, pspecifierNode3, tidNode4, punopNode5);
 
         checkResult(pelemNode1, nodeArrayList1, nodeArrayList3);
-        return Collections.<Object>singletonList(pelemNode1);
+        return Collections.singletonList(pelemNode1);
     }
 
-    private List<Object> new226() /* reduce AAelem8Elem */
+    private List<?> new226() /* reduce AAelem8Elem */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         PSpecifier pspecifierNode3 = (PSpecifier)nodeArrayList2.get(0);
         TId tidNode4 = (TId)nodeArrayList3.get(0);
@@ -5096,72 +5096,72 @@ public class Parser implements IParser
         AElem pelemNode1 = new AElem(tidNode2, pspecifierNode3, tidNode4, punopNode5);
 
         checkResult(pelemNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pelemNode1);
+        return Collections.singletonList(pelemNode1);
     }
 
-    private List<Object> new227() /* reduce AElemName */
+    private List<?> new227() /* reduce AElemName */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode1 = (TId)nodeArrayList2.get(0);
         checkResult(tidNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(tidNode1);
+        return Collections.singletonList(tidNode1);
     }
 
-    private List<Object> new228() /* reduce ATokenSpecifier */
+    private List<?> new228() /* reduce ATokenSpecifier */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         ATokenSpecifier pspecifierNode1 = new ATokenSpecifier();
 
         checkResult(pspecifierNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pspecifierNode1);
+        return Collections.singletonList(pspecifierNode1);
     }
 
-    private List<Object> new229() /* reduce AProductionSpecifier */
+    private List<?> new229() /* reduce AProductionSpecifier */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         AProductionSpecifier pspecifierNode1 = new AProductionSpecifier();
 
         checkResult(pspecifierNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pspecifierNode1);
+        return Collections.singletonList(pspecifierNode1);
     }
 
-    private List<Object> new230() /* reduce AAst */
+    private List<?> new230() /* reduce AAst */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PAstProd> listNode2 = (List<PAstProd>)nodeArrayList4.get(0);
         List<PAstProd> listNode3 = listNode2;
         AAst pastNode1 = new AAst(listNode3);
 
         checkResult(pastNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pastNode1);
+        return Collections.singletonList(pastNode1);
     }
 
-    private List<Object> new231() /* reduce AAstProd */
+    private List<?> new231() /* reduce AAstProd */
     {
-        List<Object> nodeArrayList4 = pop();
-        List<Object> nodeArrayList3 = pop();
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList4 = pop();
+        List<?> nodeArrayList3 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         List<PAstAlt> listNode3 = (List<PAstAlt>)nodeArrayList3.get(0);
         List<PAstAlt> listNode4 = listNode3;
         AAstProd pastprodNode1 = new AAstProd(tidNode2, listNode4);
 
         checkResult(pastprodNode1, nodeArrayList1, nodeArrayList4);
-        return Collections.<Object>singletonList(pastprodNode1);
+        return Collections.singletonList(pastprodNode1);
     }
 
-    private List<Object> new232() /* reduce AAastalts1AstAlts */
+    private List<?> new232() /* reduce AAastalts1AstAlts */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PAstAlt pastaltNode1 = (PAstAlt)nodeArrayList1.get(0);
         List<PAstAlt> listNode2;
         if(pastaltNode1 != null) {
@@ -5170,13 +5170,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new233() /* reduce AAastalts2AstAlts */
+    private List<?> new233() /* reduce AAastalts2AstAlts */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PAstAlt pastaltNode1 = (PAstAlt)nodeArrayList1.get(0);
         List<PAstAlt> listNode2 = (List<PAstAlt>)nodeArrayList2.get(0);
         List<PAstAlt> listNode3 = new LinkedList<>();
@@ -5190,62 +5190,62 @@ public class Parser implements IParser
             listNode3.addAll(listNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new234() /* reduce AAstAltsTail */
+    private List<?> new234() /* reduce AAstAltsTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         PAstAlt pastaltNode1 = (PAstAlt)nodeArrayList2.get(0);
         checkResult(pastaltNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pastaltNode1);
+        return Collections.singletonList(pastaltNode1);
     }
 
-    private List<Object> new235() /* reduce AAastalt1AstAlt */
+    private List<?> new235() /* reduce AAastalt1AstAlt */
     {
         AAstAlt pastaltNode1 = new AAstAlt(null, Collections.EMPTY_LIST);
 
-        return Collections.<Object>singletonList(pastaltNode1);
+        return Collections.singletonList(pastaltNode1);
     }
 
-    private List<Object> new236() /* reduce AAastalt2AstAlt */
+    private List<?> new236() /* reduce AAastalt2AstAlt */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         AAstAlt pastaltNode1 = new AAstAlt(tidNode2, Collections.EMPTY_LIST);
 
         checkResult(pastaltNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pastaltNode1);
+        return Collections.singletonList(pastaltNode1);
     }
 
-    private List<Object> new237() /* reduce AAastalt3AstAlt */
+    private List<?> new237() /* reduce AAastalt3AstAlt */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PElem> listNode3 = (List<PElem>)nodeArrayList1.get(0);
         List<PElem> listNode4 = listNode3;
         AAstAlt pastaltNode1 = new AAstAlt(null, listNode4);
 
         checkResult(pastaltNode1, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(pastaltNode1);
+        return Collections.singletonList(pastaltNode1);
     }
 
-    private List<Object> new238() /* reduce AAastalt4AstAlt */
+    private List<?> new238() /* reduce AAastalt4AstAlt */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         List<PElem> listNode3 = (List<PElem>)nodeArrayList2.get(0);
         List<PElem> listNode4 = listNode3;
         AAstAlt pastaltNode1 = new AAstAlt(tidNode2, listNode4);
 
         checkResult(pastaltNode1, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(pastaltNode1);
+        return Collections.singletonList(pastaltNode1);
     }
 
-    private List<Object> new239() /* reduce ATerminal$PkgNameTail */
+    private List<?> new239() /* reduce ATerminal$PkgNameTail */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TPkgId tpkgidNode1 = (TPkgId)nodeArrayList1.get(0);
         List<TPkgId> listNode2;
         if(tpkgidNode1 != null) {
@@ -5254,13 +5254,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new240() /* reduce ANonTerminal$PkgNameTail */
+    private List<?> new240() /* reduce ANonTerminal$PkgNameTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TPkgId> listNode1 = (List<TPkgId>)nodeArrayList1.get(0);
         TPkgId tpkgidNode2 = (TPkgId)nodeArrayList2.get(0);
         List<TPkgId> listNode3;
@@ -5274,12 +5274,12 @@ public class Parser implements IParser
             listNode3.add(tpkgidNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new241() /* reduce ATerminal$HelperDef */
+    private List<?> new241() /* reduce ATerminal$HelperDef */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PHelperDef phelperdefNode1 = (PHelperDef)nodeArrayList1.get(0);
         List<PHelperDef> listNode2;
         if(phelperdefNode1 != null) {
@@ -5288,13 +5288,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new242() /* reduce ANonTerminal$HelperDef */
+    private List<?> new242() /* reduce ANonTerminal$HelperDef */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PHelperDef> listNode1 = (List<PHelperDef>)nodeArrayList1.get(0);
         PHelperDef phelperdefNode2 = (PHelperDef)nodeArrayList2.get(0);
         List<PHelperDef> listNode3;
@@ -5308,12 +5308,12 @@ public class Parser implements IParser
             listNode3.add(phelperdefNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new243() /* reduce ATerminal$IdListTail */
+    private List<?> new243() /* reduce ATerminal$IdListTail */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         TId tidNode1 = (TId)nodeArrayList1.get(0);
         List<TId> listNode2;
         if(tidNode1 != null) {
@@ -5322,13 +5322,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new244() /* reduce ANonTerminal$IdListTail */
+    private List<?> new244() /* reduce ANonTerminal$IdListTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<TId> listNode1 = (List<TId>)nodeArrayList1.get(0);
         TId tidNode2 = (TId)nodeArrayList2.get(0);
         List<TId> listNode3;
@@ -5342,12 +5342,12 @@ public class Parser implements IParser
             listNode3.add(tidNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new245() /* reduce ATerminal$TokenDef */
+    private List<?> new245() /* reduce ATerminal$TokenDef */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PTokenDef ptokendefNode1 = (PTokenDef)nodeArrayList1.get(0);
         List<PTokenDef> listNode2;
         if(ptokendefNode1 != null) {
@@ -5356,13 +5356,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new246() /* reduce ANonTerminal$TokenDef */
+    private List<?> new246() /* reduce ANonTerminal$TokenDef */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PTokenDef> listNode1 = (List<PTokenDef>)nodeArrayList1.get(0);
         PTokenDef ptokendefNode2 = (PTokenDef)nodeArrayList2.get(0);
         List<PTokenDef> listNode3;
@@ -5376,12 +5376,12 @@ public class Parser implements IParser
             listNode3.add(ptokendefNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new247() /* reduce ATerminal$StateListTail */
+    private List<?> new247() /* reduce ATerminal$StateListTail */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PStateListTail pstatelisttailNode1 = (PStateListTail)nodeArrayList1.get(0);
         List<PStateListTail> listNode2;
         if(pstatelisttailNode1 != null) {
@@ -5390,13 +5390,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new248() /* reduce ANonTerminal$StateListTail */
+    private List<?> new248() /* reduce ANonTerminal$StateListTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PStateListTail> listNode1 = (List<PStateListTail>)nodeArrayList1.get(0);
         PStateListTail pstatelisttailNode2 = (PStateListTail)nodeArrayList2.get(0);
         List<PStateListTail> listNode3;
@@ -5410,12 +5410,12 @@ public class Parser implements IParser
             listNode3.add(pstatelisttailNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new249() /* reduce ATerminal$RegExpTail */
+    private List<?> new249() /* reduce ATerminal$RegExpTail */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PConcat pconcatNode1 = (PConcat)nodeArrayList1.get(0);
         List<PConcat> listNode2;
         if(pconcatNode1 != null) {
@@ -5424,13 +5424,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new250() /* reduce ANonTerminal$RegExpTail */
+    private List<?> new250() /* reduce ANonTerminal$RegExpTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PConcat> listNode1 = (List<PConcat>)nodeArrayList1.get(0);
         PConcat pconcatNode2 = (PConcat)nodeArrayList2.get(0);
         List<PConcat> listNode3;
@@ -5444,12 +5444,12 @@ public class Parser implements IParser
             listNode3.add(pconcatNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new251() /* reduce ATerminal$UnExp */
+    private List<?> new251() /* reduce ATerminal$UnExp */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PUnExp punexpNode1 = (PUnExp)nodeArrayList1.get(0);
         List<PUnExp> listNode2;
         if(punexpNode1 != null) {
@@ -5458,13 +5458,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new252() /* reduce ANonTerminal$UnExp */
+    private List<?> new252() /* reduce ANonTerminal$UnExp */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PUnExp> listNode1 = (List<PUnExp>)nodeArrayList1.get(0);
         PUnExp punexpNode2 = (PUnExp)nodeArrayList2.get(0);
         List<PUnExp> listNode3;
@@ -5478,12 +5478,12 @@ public class Parser implements IParser
             listNode3.add(punexpNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new253() /* reduce ATerminal$Prod */
+    private List<?> new253() /* reduce ATerminal$Prod */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PProd pprodNode1 = (PProd)nodeArrayList1.get(0);
         List<PProd> listNode2;
         if(pprodNode1 != null) {
@@ -5492,13 +5492,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new254() /* reduce ANonTerminal$Prod */
+    private List<?> new254() /* reduce ANonTerminal$Prod */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PProd> listNode1 = (List<PProd>)nodeArrayList1.get(0);
         PProd pprodNode2 = (PProd)nodeArrayList2.get(0);
         List<PProd> listNode3;
@@ -5512,12 +5512,12 @@ public class Parser implements IParser
             listNode3.add(pprodNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new255() /* reduce ATerminal$Elem */
+    private List<?> new255() /* reduce ATerminal$Elem */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PElem pelemNode1 = (PElem)nodeArrayList1.get(0);
         List<PElem> listNode2;
         if(pelemNode1 != null) {
@@ -5526,13 +5526,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new256() /* reduce ANonTerminal$Elem */
+    private List<?> new256() /* reduce ANonTerminal$Elem */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PElem> listNode1 = (List<PElem>)nodeArrayList1.get(0);
         PElem pelemNode2 = (PElem)nodeArrayList2.get(0);
         List<PElem> listNode3;
@@ -5546,12 +5546,12 @@ public class Parser implements IParser
             listNode3.add(pelemNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new257() /* reduce ATerminal$AltsTail */
+    private List<?> new257() /* reduce ATerminal$AltsTail */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PAlt paltNode1 = (PAlt)nodeArrayList1.get(0);
         List<PAlt> listNode2;
         if(paltNode1 != null) {
@@ -5560,13 +5560,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new258() /* reduce ANonTerminal$AltsTail */
+    private List<?> new258() /* reduce ANonTerminal$AltsTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PAlt> listNode1 = (List<PAlt>)nodeArrayList1.get(0);
         PAlt paltNode2 = (PAlt)nodeArrayList2.get(0);
         List<PAlt> listNode3;
@@ -5580,12 +5580,12 @@ public class Parser implements IParser
             listNode3.add(paltNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new259() /* reduce ATerminal$Term */
+    private List<?> new259() /* reduce ATerminal$Term */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PTerm ptermNode1 = (PTerm)nodeArrayList1.get(0);
         List<PTerm> listNode2;
         if(ptermNode1 != null) {
@@ -5594,13 +5594,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new260() /* reduce ANonTerminal$Term */
+    private List<?> new260() /* reduce ANonTerminal$Term */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PTerm> listNode1 = (List<PTerm>)nodeArrayList1.get(0);
         PTerm ptermNode2 = (PTerm)nodeArrayList2.get(0);
         List<PTerm> listNode3;
@@ -5614,12 +5614,12 @@ public class Parser implements IParser
             listNode3.add(ptermNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new261() /* reduce ATerminal$ListTermTail */
+    private List<?> new261() /* reduce ATerminal$ListTermTail */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PListTerm plisttermNode1 = (PListTerm)nodeArrayList1.get(0);
         List<PListTerm> listNode2;
         if(plisttermNode1 != null) {
@@ -5628,13 +5628,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new262() /* reduce ANonTerminal$ListTermTail */
+    private List<?> new262() /* reduce ANonTerminal$ListTermTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PListTerm> listNode1 = (List<PListTerm>)nodeArrayList1.get(0);
         PListTerm plisttermNode2 = (PListTerm)nodeArrayList2.get(0);
         List<PListTerm> listNode3;
@@ -5648,12 +5648,12 @@ public class Parser implements IParser
             listNode3.add(plisttermNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new263() /* reduce ATerminal$ParamsTail */
+    private List<?> new263() /* reduce ATerminal$ParamsTail */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PTerm ptermNode1 = (PTerm)nodeArrayList1.get(0);
         List<PTerm> listNode2;
         if(ptermNode1 != null) {
@@ -5662,13 +5662,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new264() /* reduce ANonTerminal$ParamsTail */
+    private List<?> new264() /* reduce ANonTerminal$ParamsTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PTerm> listNode1 = (List<PTerm>)nodeArrayList1.get(0);
         PTerm ptermNode2 = (PTerm)nodeArrayList2.get(0);
         List<PTerm> listNode3;
@@ -5682,12 +5682,12 @@ public class Parser implements IParser
             listNode3.add(ptermNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new265() /* reduce ATerminal$AstProd */
+    private List<?> new265() /* reduce ATerminal$AstProd */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PAstProd pastprodNode1 = (PAstProd)nodeArrayList1.get(0);
         List<PAstProd> listNode2;
         if(pastprodNode1 != null) {
@@ -5696,13 +5696,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new266() /* reduce ANonTerminal$AstProd */
+    private List<?> new266() /* reduce ANonTerminal$AstProd */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PAstProd> listNode1 = (List<PAstProd>)nodeArrayList1.get(0);
         PAstProd pastprodNode2 = (PAstProd)nodeArrayList2.get(0);
         List<PAstProd> listNode3;
@@ -5716,12 +5716,12 @@ public class Parser implements IParser
             listNode3.add(pastprodNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
-    private List<Object> new267() /* reduce ATerminal$AstAltsTail */
+    private List<?> new267() /* reduce ATerminal$AstAltsTail */
     {
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList1 = pop();
         PAstAlt pastaltNode1 = (PAstAlt)nodeArrayList1.get(0);
         List<PAstAlt> listNode2;
         if(pastaltNode1 != null) {
@@ -5730,13 +5730,13 @@ public class Parser implements IParser
             listNode2 = Collections.emptyList();
         }
         checkResult(listNode2, nodeArrayList1, nodeArrayList1);
-        return Collections.<Object>singletonList(listNode2);
+        return Collections.singletonList(listNode2);
     }
 
-    private List<Object> new268() /* reduce ANonTerminal$AstAltsTail */
+    private List<?> new268() /* reduce ANonTerminal$AstAltsTail */
     {
-        List<Object> nodeArrayList2 = pop();
-        List<Object> nodeArrayList1 = pop();
+        List<?> nodeArrayList2 = pop();
+        List<?> nodeArrayList1 = pop();
         List<PAstAlt> listNode1 = (List<PAstAlt>)nodeArrayList1.get(0);
         PAstAlt pastaltNode2 = (PAstAlt)nodeArrayList2.get(0);
         List<PAstAlt> listNode3;
@@ -5750,7 +5750,7 @@ public class Parser implements IParser
             listNode3.add(pastaltNode2);
         }
         checkResult(listNode3, nodeArrayList1, nodeArrayList2);
-        return Collections.<Object>singletonList(listNode3);
+        return Collections.singletonList(listNode3);
     }
 
 
diff --git a/src/main/java/org/sablecc/sablecc/parser/State.java b/src/main/java/org/sablecc/sablecc/parser/State.java
index 0673a41..cacfe29 100644
--- a/src/main/java/org/sablecc/sablecc/parser/State.java
+++ b/src/main/java/org/sablecc/sablecc/parser/State.java
@@ -7,9 +7,9 @@ import java.util.List;
 final class State
 {
     int state;
-    List<Object> nodes; // elements are of type Node or List<Node>
+    List<?> nodes; // elements are of type Node or List<Node>
 
-    State(int state, List<Object> nodes)
+    State(int state, List<?> nodes)
     {
         this.state = state;
         this.nodes = nodes;
diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt
index 274a2d7..c856e36 100644
--- a/src/main/resources/org/sablecc/sablecc/parser.txt
+++ b/src/main/resources/org/sablecc/sablecc/parser.txt
@@ -45,7 +45,7 @@ public class Parser implements IParser
         this.lexer = lexer;
     }
 
-    private void checkResult(Object elementToCheck, List<Object> beginNodeList, List<Object> endNodeList) {
+    private void checkResult(Object elementToCheck, List<?> beginNodeList, List<?> endNodeList) {
         if (elementToCheck instanceof List<?>) {
             /*
              * special case: this is a list of nodes, for example an identifier
@@ -86,7 +86,7 @@ public class Parser implements IParser
         }
     }
 
-    private PositionedNode findBeginNode(final List<Object> list) {
+    private PositionedNode findBeginNode(final List<?> list) {
         Object first = list.get(0);
         if (first instanceof List<?>) {
             List<?> list2 = (List<?>) first;
@@ -101,7 +101,7 @@ public class Parser implements IParser
         return (PositionedNode)first;
     }
 
-    private PositionedNode findEndNode(final List<Object> list) {
+    private PositionedNode findEndNode(final List<?> list) {
         Object last = list.get(list.size() - 1);
         if (last instanceof List<?>) {
             final List<?> list2 = (List<?>) last;
@@ -111,7 +111,7 @@ public class Parser implements IParser
         return (PositionedNode)last;
     }
 
-    private void push(int numstate, List<Object> listNode)
+    private void push(int numstate, List<?> listNode)
     {
         if(!this.stack.hasNext())
         {
@@ -161,7 +161,7 @@ public class Parser implements IParser
         return s.state;
     }
 
-    private List<Object> pop()
+    private List<?> pop()
     {
         return this.stack.previous().nodes;
     }
@@ -221,7 +221,7 @@ public class Parser implements IParser
             {
                 case SHIFT:
                 {
-                    List<Object> list = Collections.<Object>singletonList(this.lexer.next());
+                    List<?> list = Collections.singletonList(this.lexer.next());
                     push(destination, list);
                 }
                 break;
@@ -234,7 +234,7 @@ $
 Macro:ParserParseReduce
                         case $0$: /* reduce $2$ */
                         {
-                            List<Object> list = new$0$();
+                            List<?> list = new$0$();
                             push(goTo($1$), list);
                         }
                         break;
@@ -264,13 +264,13 @@ $
 
 Macro:ParserNewHeader
 
-    private List<Object> new$0$() /* reduce $1$ */
+    private List<?> new$0$() /* reduce $1$ */
     {
 
 $
 
 Macro:ParserNewBodyDecl
-        List<Object> nodeArrayList$0$ = pop();
+        List<?> nodeArrayList$0$ = pop();
 
 $
 
@@ -352,7 +352,7 @@ Macro:ParserNewTailEmpty
 $
 
 Macro:ParserNewTailSingle
-        return Collections.<Object>singletonList($0$);
+        return Collections.singletonList($0$);
     }
 
 $
@@ -583,9 +583,9 @@ import java.util.List;
 final class State
 {
     int state;
-    List<Object> nodes; // elements are of type Node or List<Node>
+    List<?> nodes; // elements are of type Node or List<Node>
 
-    State(int state, List<Object> nodes)
+    State(int state, List<?> nodes)
     {
         this.state = state;
         this.nodes = nodes;
-- 
GitLab