diff --git a/build.gradle b/build.gradle
index 2d14580fef21231e88f1cfc11538cf4e4c78da25..7c2a4fb86b8f8eaa4f2abf8a3392a68086f8ebfd 100644
--- a/build.gradle
+++ b/build.gradle
@@ -21,8 +21,8 @@ dependencies {
 }
 
 java {
-  sourceCompatibility = JavaVersion.VERSION_1_7
-  targetCompatibility = JavaVersion.VERSION_1_7
+  sourceCompatibility = JavaVersion.VERSION_1_8
+  targetCompatibility = JavaVersion.VERSION_1_8
 
   withSourcesJar()
   withJavadocJar()
diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
index b7a36e5b1ae96b070f1199be34f8c968dc37eacd..a061b73b7e4dacc4bff771f23ebc8db88c677fc2 100644
--- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
+++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
@@ -84,7 +84,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
     }
     else if("Lnull".equals(typeName))
     {
-      return "Collections.EMPTY_LIST"; // Once we require Java 8, this can be replaced with Collections.emptyList()
+      return "Collections.emptyList()";
     }
     else if(typeName.startsWith("L"))
     {
diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java
index 626967b1bd1e1c6a2cb310dc99b65ebb162a1b96..85092dbeb734e2c16f8a831dccf3e6ca2bea0ff2 100644
--- a/src/main/java/org/sablecc/sablecc/parser/Parser.java
+++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java
@@ -1854,7 +1854,7 @@ public class Parser implements IParser
 
     private List<?> new0() /* reduce AAgrammar1Grammar */
     {
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, null, null, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, null, null);
 
         return Collections.singletonList(pgrammarNode1);
     }
@@ -1874,7 +1874,7 @@ public class Parser implements IParser
     {
         List<?> nodeArrayList1 = pop();
         PHelpers phelpersNode3 = (PHelpers)nodeArrayList1.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, null, null, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
         return Collections.singletonList(pgrammarNode1);
@@ -1897,7 +1897,7 @@ public class Parser implements IParser
     {
         List<?> nodeArrayList1 = pop();
         PStates pstatesNode4 = (PStates)nodeArrayList1.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, null, null, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
         return Collections.singletonList(pgrammarNode1);
@@ -1922,7 +1922,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -1947,7 +1947,7 @@ public class Parser implements IParser
     {
         List<?> nodeArrayList1 = pop();
         PTokens ptokensNode5 = (PTokens)nodeArrayList1.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, null, null, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
         return Collections.singletonList(pgrammarNode1);
@@ -1972,7 +1972,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -1999,7 +1999,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2028,7 +2028,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, null, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2055,7 +2055,7 @@ public class Parser implements IParser
     {
         List<?> nodeArrayList1 = pop();
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList1.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, pigntokensNode6, null, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
         return Collections.singletonList(pgrammarNode1);
@@ -2080,7 +2080,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2107,7 +2107,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2136,7 +2136,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2165,7 +2165,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2194,7 +2194,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2225,7 +2225,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2258,7 +2258,7 @@ public class Parser implements IParser
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, null, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, null, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -2287,7 +2287,7 @@ public class Parser implements IParser
     {
         List<?> nodeArrayList1 = pop();
         PProductions pproductionsNode7 = (PProductions)nodeArrayList1.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, null, pproductionsNode7, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
         return Collections.singletonList(pgrammarNode1);
@@ -2312,7 +2312,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2339,7 +2339,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2368,7 +2368,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2397,7 +2397,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2426,7 +2426,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2457,7 +2457,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2490,7 +2490,7 @@ public class Parser implements IParser
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, null, pproductionsNode7, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, null, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -2521,7 +2521,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2550,7 +2550,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2581,7 +2581,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2614,7 +2614,7 @@ public class Parser implements IParser
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, pigntokensNode6, pproductionsNode7, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -2647,7 +2647,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2680,7 +2680,7 @@ public class Parser implements IParser
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -2715,7 +2715,7 @@ public class Parser implements IParser
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -2752,7 +2752,7 @@ public class Parser implements IParser
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList4.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList5.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, null);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
         return Collections.singletonList(pgrammarNode1);
@@ -2783,7 +2783,7 @@ public class Parser implements IParser
     {
         List<?> nodeArrayList1 = pop();
         PAst pastNode8 = (PAst)nodeArrayList1.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, null, null, null, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList1);
         return Collections.singletonList(pgrammarNode1);
@@ -2808,7 +2808,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2835,7 +2835,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2864,7 +2864,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2893,7 +2893,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -2922,7 +2922,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2953,7 +2953,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -2986,7 +2986,7 @@ public class Parser implements IParser
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, null, null, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, null, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3017,7 +3017,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -3046,7 +3046,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -3077,7 +3077,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -3110,7 +3110,7 @@ public class Parser implements IParser
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, pigntokensNode6, null, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3143,7 +3143,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -3176,7 +3176,7 @@ public class Parser implements IParser
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, pigntokensNode6, null, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3211,7 +3211,7 @@ public class Parser implements IParser
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, pigntokensNode6, null, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3248,7 +3248,7 @@ public class Parser implements IParser
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList4.get(0);
         PAst pastNode8 = (PAst)nodeArrayList5.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, null, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, null, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
         return Collections.singletonList(pgrammarNode1);
@@ -3281,7 +3281,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(pgrammarNode1);
@@ -3310,7 +3310,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -3341,7 +3341,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -3374,7 +3374,7 @@ public class Parser implements IParser
         PStates pstatesNode4 = (PStates)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, null, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3407,7 +3407,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -3440,7 +3440,7 @@ public class Parser implements IParser
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, null, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3475,7 +3475,7 @@ public class Parser implements IParser
         PTokens ptokensNode5 = (PTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, null, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3512,7 +3512,7 @@ public class Parser implements IParser
         PTokens ptokensNode5 = (PTokens)nodeArrayList3.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0);
         PAst pastNode8 = (PAst)nodeArrayList5.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, null, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, null, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
         return Collections.singletonList(pgrammarNode1);
@@ -3547,7 +3547,7 @@ public class Parser implements IParser
         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);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pgrammarNode1);
@@ -3580,7 +3580,7 @@ public class Parser implements IParser
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, null, pigntokensNode6, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, null, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3615,7 +3615,7 @@ public class Parser implements IParser
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, null, pigntokensNode6, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, null, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3652,7 +3652,7 @@ public class Parser implements IParser
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0);
         PAst pastNode8 = (PAst)nodeArrayList5.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, null, pigntokensNode6, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, null, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
         return Collections.singletonList(pgrammarNode1);
@@ -3689,7 +3689,7 @@ public class Parser implements IParser
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList3.get(0);
         PAst pastNode8 = (PAst)nodeArrayList4.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, null, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, null, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pgrammarNode1);
@@ -3726,7 +3726,7 @@ public class Parser implements IParser
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0);
         PAst pastNode8 = (PAst)nodeArrayList5.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, null, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, null, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
         return Collections.singletonList(pgrammarNode1);
@@ -3765,7 +3765,7 @@ public class Parser implements IParser
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList3.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList4.get(0);
         PAst pastNode8 = (PAst)nodeArrayList5.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, null, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), null, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList5);
         return Collections.singletonList(pgrammarNode1);
@@ -3806,7 +3806,7 @@ public class Parser implements IParser
         PIgnTokens pigntokensNode6 = (PIgnTokens)nodeArrayList4.get(0);
         PProductions pproductionsNode7 = (PProductions)nodeArrayList5.get(0);
         PAst pastNode8 = (PAst)nodeArrayList6.get(0);
-        AGrammar pgrammarNode1 = new AGrammar(Collections.EMPTY_LIST, phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
+        AGrammar pgrammarNode1 = new AGrammar(Collections.emptyList(), phelpersNode3, pstatesNode4, ptokensNode5, pigntokensNode6, pproductionsNode7, pastNode8);
 
         checkResult(pgrammarNode1, nodeArrayList1, nodeArrayList6);
         return Collections.singletonList(pgrammarNode1);
@@ -4056,7 +4056,7 @@ public class Parser implements IParser
         List<?> nodeArrayList2 = pop();
         List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList2.get(0);
-        AStateList pstatelistNode1 = new AStateList(tidNode2, null, Collections.EMPTY_LIST);
+        AStateList pstatelistNode1 = new AStateList(tidNode2, null, Collections.emptyList());
 
         checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pstatelistNode1);
@@ -4070,7 +4070,7 @@ public class Parser implements IParser
         List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList2.get(0);
         PTransition ptransitionNode3 = (PTransition)nodeArrayList3.get(0);
-        AStateList pstatelistNode1 = new AStateList(tidNode2, ptransitionNode3, Collections.EMPTY_LIST);
+        AStateList pstatelistNode1 = new AStateList(tidNode2, ptransitionNode3, Collections.emptyList());
 
         checkResult(pstatelistNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pstatelistNode1);
@@ -4148,7 +4148,7 @@ public class Parser implements IParser
         List<?> nodeArrayList3 = pop();
         List<?> nodeArrayList2 = pop();
         List<?> nodeArrayList1 = pop();
-        AIgnTokens pigntokensNode1 = new AIgnTokens(Collections.EMPTY_LIST);
+        AIgnTokens pigntokensNode1 = new AIgnTokens(Collections.emptyList());
 
         checkResult(pigntokensNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(pigntokensNode1);
@@ -4230,7 +4230,7 @@ public class Parser implements IParser
 
     private List<?> new156() /* reduce AAconcat1Concat */
     {
-        AConcat pconcatNode1 = new AConcat(Collections.EMPTY_LIST);
+        AConcat pconcatNode1 = new AConcat(Collections.emptyList());
 
         return Collections.singletonList(pconcatNode1);
     }
@@ -4450,7 +4450,7 @@ public class Parser implements IParser
         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);
+        AProd pprodNode1 = new AProd(tidNode2, null, Collections.emptyList(), listNode6);
 
         checkResult(pprodNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(pprodNode1);
@@ -4484,7 +4484,7 @@ public class Parser implements IParser
         checkResult(tarrowNode1, nodeArrayList1, nodeArrayList3);
         return Arrays.asList(new Object[] {
             tarrowNode1,
-            Collections.EMPTY_LIST,
+            Collections.emptyList(),
         });
     }
 
@@ -4549,7 +4549,7 @@ public class Parser implements IParser
 
     private List<?> new183() /* reduce AAalt1Alt */
     {
-        AAlt paltNode1 = new AAlt(null, Collections.EMPTY_LIST, null);
+        AAlt paltNode1 = new AAlt(null, Collections.emptyList(), null);
 
         return Collections.singletonList(paltNode1);
     }
@@ -4558,7 +4558,7 @@ public class Parser implements IParser
     {
         List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
-        AAlt paltNode1 = new AAlt(tidNode2, Collections.EMPTY_LIST, null);
+        AAlt paltNode1 = new AAlt(tidNode2, Collections.emptyList(), null);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList1);
         return Collections.singletonList(paltNode1);
@@ -4592,7 +4592,7 @@ public class Parser implements IParser
     {
         List<?> nodeArrayList1 = pop();
         PAltTransform palttransformNode4 = (PAltTransform)nodeArrayList1.get(0);
-        AAlt paltNode1 = new AAlt(null, Collections.EMPTY_LIST, palttransformNode4);
+        AAlt paltNode1 = new AAlt(null, Collections.emptyList(), palttransformNode4);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList1);
         return Collections.singletonList(paltNode1);
@@ -4604,7 +4604,7 @@ public class Parser implements IParser
         List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
         PAltTransform palttransformNode4 = (PAltTransform)nodeArrayList2.get(0);
-        AAlt paltNode1 = new AAlt(tidNode2, Collections.EMPTY_LIST, palttransformNode4);
+        AAlt paltNode1 = new AAlt(tidNode2, Collections.emptyList(), palttransformNode4);
 
         checkResult(paltNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(paltNode1);
@@ -4645,7 +4645,7 @@ public class Parser implements IParser
         List<?> nodeArrayList1 = pop();
         TLBrace tlbraceNode2 = (TLBrace)nodeArrayList1.get(0);
         TRBrace trbraceNode4 = (TRBrace)nodeArrayList3.get(0);
-        AAltTransform palttransformNode1 = new AAltTransform(tlbraceNode2, Collections.EMPTY_LIST, trbraceNode4);
+        AAltTransform palttransformNode1 = new AAltTransform(tlbraceNode2, Collections.emptyList(), trbraceNode4);
 
         checkResult(palttransformNode1, nodeArrayList1, nodeArrayList3);
         return Collections.singletonList(palttransformNode1);
@@ -4675,7 +4675,7 @@ public class Parser implements IParser
         List<?> nodeArrayList1 = pop();
         PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0);
         TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0);
-        ANewTerm ptermNode1 = new ANewTerm(pprodnameNode2, tlparNode3, Collections.EMPTY_LIST);
+        ANewTerm ptermNode1 = new ANewTerm(pprodnameNode2, tlparNode3, Collections.emptyList());
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(ptermNode1);
@@ -4703,7 +4703,7 @@ public class Parser implements IParser
         List<?> nodeArrayList2 = pop();
         List<?> nodeArrayList1 = pop();
         TLBkt tlbktNode2 = (TLBkt)nodeArrayList1.get(0);
-        AListTerm ptermNode1 = new AListTerm(tlbktNode2, Collections.EMPTY_LIST);
+        AListTerm ptermNode1 = new AListTerm(tlbktNode2, Collections.emptyList());
 
         checkResult(ptermNode1, nodeArrayList1, nodeArrayList2);
         return Collections.singletonList(ptermNode1);
@@ -4822,7 +4822,7 @@ public class Parser implements IParser
         List<?> nodeArrayList1 = pop();
         PProdName pprodnameNode2 = (PProdName)nodeArrayList2.get(0);
         TLPar tlparNode3 = (TLPar)nodeArrayList3.get(0);
-        ANewListTerm plisttermNode1 = new ANewListTerm(pprodnameNode2, tlparNode3, Collections.EMPTY_LIST);
+        ANewListTerm plisttermNode1 = new ANewListTerm(pprodnameNode2, tlparNode3, Collections.emptyList());
 
         checkResult(plisttermNode1, nodeArrayList1, nodeArrayList4);
         return Collections.singletonList(plisttermNode1);
@@ -5204,7 +5204,7 @@ public class Parser implements IParser
 
     private List<?> new235() /* reduce AAastalt1AstAlt */
     {
-        AAstAlt pastaltNode1 = new AAstAlt(null, Collections.EMPTY_LIST);
+        AAstAlt pastaltNode1 = new AAstAlt(null, Collections.emptyList());
 
         return Collections.singletonList(pastaltNode1);
     }
@@ -5213,7 +5213,7 @@ public class Parser implements IParser
     {
         List<?> nodeArrayList1 = pop();
         TId tidNode2 = (TId)nodeArrayList1.get(0);
-        AAstAlt pastaltNode1 = new AAstAlt(tidNode2, Collections.EMPTY_LIST);
+        AAstAlt pastaltNode1 = new AAstAlt(tidNode2, Collections.emptyList());
 
         checkResult(pastaltNode1, nodeArrayList1, nodeArrayList1);
         return Collections.singletonList(pastaltNode1);