diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
index 1cd8b6b1c91a4357d84f3d38f6e1d0ae42887441..633ef58a59a0f849ce8e0e9914bdb6c725b0b892 100644
--- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
+++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
@@ -138,7 +138,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
       {
         PTerm firstTerm = node.getTerms().get(0);
         if (popCount > 0) {
-          // The nodeArrayList variables are numbered starting at 1, so the first popped variable has the number popCount and not popCount-1.
+          // The popped variables are numbered starting at 1, so the first popped variable has the number popCount and not popCount-1.
           macros.apply(file, "ParserNewComputePositions", new String[] {getVariableName(firstTerm), String.valueOf(popCount)});
         }
 
diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java
index 6a5b459ee60cd088289f7ace0eeb37ba0f381e5f..4e8186599d79d0dcd32394e09402c98f5ac75c80 100644
--- a/src/main/java/org/sablecc/sablecc/parser/Parser.java
+++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java
@@ -1861,2012 +1861,2012 @@ public class Parser implements IParser
 
     private List<?> new1() /* reduce AAgrammar2Grammar */
     {
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pGrammarNode1, popped1, popped1);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new2() /* reduce AAgrammar3Grammar */
     {
-        List<?> nodeArrayList1 = pop();
-        PHelpers pHelpersNode3 = (PHelpers)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pGrammarNode1, popped1, popped1);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new3() /* reduce AAgrammar4Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new4() /* reduce AAgrammar5Grammar */
     {
-        List<?> nodeArrayList1 = pop();
-        PStates pStatesNode4 = (PStates)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pGrammarNode1, popped1, popped1);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new5() /* reduce AAgrammar6Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new6() /* reduce AAgrammar7Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PHelpers pHelpersNode3 = (PHelpers)nodeArrayList1.get(0);
-        PStates pStatesNode4 = (PStates)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new7() /* reduce AAgrammar8Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new8() /* reduce AAgrammar9Grammar */
     {
-        List<?> nodeArrayList1 = pop();
-        PTokens pTokensNode5 = (PTokens)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PTokens pTokensNode5 = (PTokens)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pGrammarNode1, popped1, popped1);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new9() /* reduce AAgrammar10Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PTokens pTokensNode6 = (PTokens)nodeArrayList2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new10() /* reduce AAgrammar11Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PHelpers pHelpersNode3 = (PHelpers)nodeArrayList1.get(0);
-        PTokens pTokensNode5 = (PTokens)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new11() /* reduce AAgrammar12Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new12() /* reduce AAgrammar13Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PStates pStatesNode4 = (PStates)nodeArrayList1.get(0);
-        PTokens pTokensNode5 = (PTokens)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new13() /* reduce AAgrammar14Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new14() /* reduce AAgrammar15Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PTokens pTokensNode5 = (PTokens)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new15() /* reduce AAgrammar16Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, null, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new16() /* reduce AAgrammar17Grammar */
     {
-        List<?> nodeArrayList1 = pop();
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pIgnTokensNode6, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pGrammarNode1, popped1, popped1);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new17() /* reduce AAgrammar18Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, pIgnTokensNode7, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new18() /* reduce AAgrammar19Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PHelpers pHelpersNode3 = (PHelpers)nodeArrayList1.get(0);
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, pIgnTokensNode6, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new19() /* reduce AAgrammar20Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, pIgnTokensNode7, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new20() /* reduce AAgrammar21Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PStates pStatesNode4 = (PStates)nodeArrayList1.get(0);
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, pIgnTokensNode6, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new21() /* reduce AAgrammar22Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, pIgnTokensNode7, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new22() /* reduce AAgrammar23Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, pIgnTokensNode6, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new23() /* reduce AAgrammar24Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, pIgnTokensNode7, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new24() /* reduce AAgrammar25Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PTokens pTokensNode5 = (PTokens)nodeArrayList1.get(0);
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PTokens pTokensNode5 = (PTokens)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, pIgnTokensNode6, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new25() /* reduce AAgrammar26Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PTokens pTokensNode6 = (PTokens)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, pIgnTokensNode7, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new26() /* reduce AAgrammar27Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, pIgnTokensNode6, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new27() /* reduce AAgrammar28Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, pIgnTokensNode7, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new28() /* reduce AAgrammar29Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, pIgnTokensNode6, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new29() /* reduce AAgrammar30Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, pIgnTokensNode7, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new30() /* reduce AAgrammar31Grammar */
     {
-        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);
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PTokens pTokensNode5 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, pIgnTokensNode6, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new31() /* reduce AAgrammar32Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList4.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped4.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, pIgnTokensNode7, null, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new32() /* reduce AAgrammar33Grammar */
     {
-        List<?> nodeArrayList1 = pop();
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PProductions pProductionsNode7 = (PProductions)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pGrammarNode1, popped1, popped1);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new33() /* reduce AAgrammar34Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList2.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new34() /* reduce AAgrammar35Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PHelpers pHelpersNode3 = (PHelpers)nodeArrayList1.get(0);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, null, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new35() /* reduce AAgrammar36Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList3.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, null, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new36() /* reduce AAgrammar37Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PStates pStatesNode4 = (PStates)nodeArrayList1.get(0);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, null, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new37() /* reduce AAgrammar38Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList3.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, null, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new38() /* reduce AAgrammar39Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, null, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new39() /* reduce AAgrammar40Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, null, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new40() /* reduce AAgrammar41Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PTokens pTokensNode5 = (PTokens)nodeArrayList1.get(0);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PTokens pTokensNode5 = (PTokens)popped1.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, null, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new41() /* reduce AAgrammar42Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PTokens pTokensNode6 = (PTokens)nodeArrayList2.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped2.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, null, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new42() /* reduce AAgrammar43Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, null, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new43() /* reduce AAgrammar44Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, null, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new44() /* reduce AAgrammar45Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, null, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new45() /* reduce AAgrammar46Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, null, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new46() /* reduce AAgrammar47Grammar */
     {
-        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);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PTokens pTokensNode5 = (PTokens)popped3.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, null, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new47() /* reduce AAgrammar48Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped4.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, null, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new48() /* reduce AAgrammar49Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList1.get(0);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped1.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pIgnTokensNode6, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new49() /* reduce AAgrammar50Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList2.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped2.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, pIgnTokensNode7, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new50() /* reduce AAgrammar51Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, pIgnTokensNode6, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new51() /* reduce AAgrammar52Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, pIgnTokensNode7, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new52() /* reduce AAgrammar53Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, pIgnTokensNode6, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new53() /* reduce AAgrammar54Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, pIgnTokensNode7, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new54() /* reduce AAgrammar55Grammar */
     {
-        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);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, pIgnTokensNode6, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new55() /* reduce AAgrammar56Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, pIgnTokensNode7, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new56() /* reduce AAgrammar57Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PTokens pTokensNode5 = (PTokens)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, pIgnTokensNode6, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new57() /* reduce AAgrammar58Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PTokens pTokensNode6 = (PTokens)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
+        PTokens pTokensNode6 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, pIgnTokensNode7, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new58() /* reduce AAgrammar59Grammar */
     {
-        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);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, pIgnTokensNode6, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new59() /* reduce AAgrammar60Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, pIgnTokensNode7, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new60() /* reduce AAgrammar61Grammar */
     {
-        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);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, pIgnTokensNode6, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new61() /* reduce AAgrammar62Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList5.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, pIgnTokensNode7, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new62() /* reduce AAgrammar63Grammar */
     {
-        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);
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList5.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PTokens pTokensNode5 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped4.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, pIgnTokensNode6, pProductionsNode7, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new63() /* reduce AAgrammar64Grammar */
     {
-        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<?> popped6 = pop();
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList4.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList5.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList6.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped4.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped5.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped6.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, pIgnTokensNode7, pProductionsNode8, null);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList6);
+        computePositions(pGrammarNode1, popped1, popped6);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new64() /* reduce AAgrammar65Grammar */
     {
-        List<?> nodeArrayList1 = pop();
-        PAst pAstNode8 = (PAst)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PAst pAstNode8 = (PAst)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pGrammarNode1, popped1, popped1);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new65() /* reduce AAgrammar66Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PAst pAstNode9 = (PAst)nodeArrayList2.get(0);
+        PAst pAstNode9 = (PAst)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new66() /* reduce AAgrammar67Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PHelpers pHelpersNode3 = (PHelpers)nodeArrayList1.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PAst pAstNode8 = (PAst)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, null, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new67() /* reduce AAgrammar68Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList3.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PAst pAstNode9 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, null, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new68() /* reduce AAgrammar69Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PStates pStatesNode4 = (PStates)nodeArrayList1.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PAst pAstNode8 = (PAst)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, null, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new69() /* reduce AAgrammar70Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList3.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PAst pAstNode9 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, null, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new70() /* reduce AAgrammar71Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, null, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new71() /* reduce AAgrammar72Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, null, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new72() /* reduce AAgrammar73Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PTokens pTokensNode5 = (PTokens)nodeArrayList1.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PTokens pTokensNode5 = (PTokens)popped1.get(0);
+        PAst pAstNode8 = (PAst)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, null, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new73() /* reduce AAgrammar74Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PTokens pTokensNode6 = (PTokens)nodeArrayList2.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped2.get(0);
+        PAst pAstNode9 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, null, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new74() /* reduce AAgrammar75Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, null, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new75() /* reduce AAgrammar76Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, null, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new76() /* reduce AAgrammar77Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, null, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new77() /* reduce AAgrammar78Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, null, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new78() /* reduce AAgrammar79Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PTokens pTokensNode5 = (PTokens)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, null, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new79() /* reduce AAgrammar80Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, null, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new80() /* reduce AAgrammar81Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList1.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped1.get(0);
+        PAst pAstNode8 = (PAst)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pIgnTokensNode6, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new81() /* reduce AAgrammar82Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList2.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped2.get(0);
+        PAst pAstNode9 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, pIgnTokensNode7, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new82() /* reduce AAgrammar83Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, pIgnTokensNode6, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new83() /* reduce AAgrammar84Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, pIgnTokensNode7, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new84() /* reduce AAgrammar85Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, pIgnTokensNode6, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new85() /* reduce AAgrammar86Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, pIgnTokensNode7, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new86() /* reduce AAgrammar87Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, pIgnTokensNode6, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new87() /* reduce AAgrammar88Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, pIgnTokensNode7, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new88() /* reduce AAgrammar89Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PTokens pTokensNode5 = (PTokens)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, pIgnTokensNode6, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new89() /* reduce AAgrammar90Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PTokens pTokensNode6 = (PTokens)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PTokens pTokensNode6 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, pIgnTokensNode7, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new90() /* reduce AAgrammar91Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, pIgnTokensNode6, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new91() /* reduce AAgrammar92Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, pIgnTokensNode7, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new92() /* reduce AAgrammar93Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, pIgnTokensNode6, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new93() /* reduce AAgrammar94Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, pIgnTokensNode7, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new94() /* reduce AAgrammar95Grammar */
     {
-        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);
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList4.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList5.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PTokens pTokensNode5 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped4.get(0);
+        PAst pAstNode8 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, pIgnTokensNode6, null, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new95() /* reduce AAgrammar96Grammar */
     {
-        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<?> popped6 = pop();
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList4.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList5.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList6.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped4.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped5.get(0);
+        PAst pAstNode9 = (PAst)popped6.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, pIgnTokensNode7, null, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList6);
+        computePositions(pGrammarNode1, popped1, popped6);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new96() /* reduce AAgrammar97Grammar */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList1.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PProductions pProductionsNode7 = (PProductions)popped1.get(0);
+        PAst pAstNode8 = (PAst)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pGrammarNode1, popped1, popped2);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new97() /* reduce AAgrammar98Grammar */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList2.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped2.get(0);
+        PAst pAstNode9 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new98() /* reduce AAgrammar99Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, null, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new99() /* reduce AAgrammar100Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, null, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new100() /* reduce AAgrammar101Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, null, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new101() /* reduce AAgrammar102Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, null, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new102() /* reduce AAgrammar103Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, null, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new103() /* reduce AAgrammar104Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, null, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new104() /* reduce AAgrammar105Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PTokens pTokensNode5 = (PTokens)popped1.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, null, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new105() /* reduce AAgrammar106Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PTokens pTokensNode6 = (PTokens)nodeArrayList2.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PTokens pTokensNode6 = (PTokens)popped2.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, null, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new106() /* reduce AAgrammar107Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, null, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new107() /* reduce AAgrammar108Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, null, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new108() /* reduce AAgrammar109Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, null, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new109() /* reduce AAgrammar110Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, null, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new110() /* reduce AAgrammar111Grammar */
     {
-        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);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList5.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PTokens pTokensNode5 = (PTokens)popped3.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped4.get(0);
+        PAst pAstNode8 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, null, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new111() /* reduce AAgrammar112Grammar */
     {
-        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<?> popped6 = pop();
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList5.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList6.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped4.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped5.get(0);
+        PAst pAstNode9 = (PAst)popped6.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, null, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList6);
+        computePositions(pGrammarNode1, popped1, popped6);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new112() /* reduce AAgrammar113Grammar */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped1.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped2.get(0);
+        PAst pAstNode8 = (PAst)popped3.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pIgnTokensNode6, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pGrammarNode1, popped1, popped3);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new113() /* reduce AAgrammar114Grammar */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList2.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList3.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList4.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped2.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped3.get(0);
+        PAst pAstNode9 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, pIgnTokensNode7, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new114() /* reduce AAgrammar115Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, pIgnTokensNode6, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new115() /* reduce AAgrammar116Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, pIgnTokensNode7, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new116() /* reduce AAgrammar117Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, pIgnTokensNode6, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new117() /* reduce AAgrammar118Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, pIgnTokensNode7, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new118() /* reduce AAgrammar119Grammar */
     {
-        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);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList5.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped4.get(0);
+        PAst pAstNode8 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, null, pIgnTokensNode6, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new119() /* reduce AAgrammar120Grammar */
     {
-        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<?> popped6 = pop();
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList5.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList6.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped5.get(0);
+        PAst pAstNode9 = (PAst)popped6.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, null, pIgnTokensNode7, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList6);
+        computePositions(pGrammarNode1, popped1, popped6);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new120() /* reduce AAgrammar121Grammar */
     {
-        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);
-        PAst pAstNode8 = (PAst)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PTokens pTokensNode5 = (PTokens)popped1.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped2.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped3.get(0);
+        PAst pAstNode8 = (PAst)popped4.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, pIgnTokensNode6, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pGrammarNode1, popped1, popped4);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new121() /* reduce AAgrammar122Grammar */
     {
-        List<?> nodeArrayList5 = pop();
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList1.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PTokens pTokensNode6 = (PTokens)nodeArrayList2.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList3.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList5.get(0);
+        PTokens pTokensNode6 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped4.get(0);
+        PAst pAstNode9 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, pIgnTokensNode7, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new122() /* reduce AAgrammar123Grammar */
     {
-        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);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList5.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped4.get(0);
+        PAst pAstNode8 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, pTokensNode5, pIgnTokensNode6, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new123() /* reduce AAgrammar124Grammar */
     {
-        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<?> popped6 = pop();
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList5.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList6.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped5.get(0);
+        PAst pAstNode9 = (PAst)popped6.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, pTokensNode6, pIgnTokensNode7, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList6);
+        computePositions(pGrammarNode1, popped1, popped6);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new124() /* reduce AAgrammar125Grammar */
     {
-        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);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList4.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList5.get(0);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStates pStatesNode4 = (PStates)popped1.get(0);
+        PTokens pTokensNode5 = (PTokens)popped2.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped3.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped4.get(0);
+        PAst pAstNode8 = (PAst)popped5.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, pTokensNode5, pIgnTokensNode6, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pGrammarNode1, popped1, popped5);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new125() /* reduce AAgrammar126Grammar */
     {
-        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<?> popped6 = pop();
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PStates pStatesNode5 = (PStates)nodeArrayList2.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList3.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList5.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList6.get(0);
+        PStates pStatesNode5 = (PStates)popped2.get(0);
+        PTokens pTokensNode6 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped4.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped5.get(0);
+        PAst pAstNode9 = (PAst)popped6.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, pTokensNode6, pIgnTokensNode7, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList6);
+        computePositions(pGrammarNode1, popped1, popped6);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new126() /* reduce AAgrammar127Grammar */
     {
-        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);
-        PIgnTokens pIgnTokensNode6 = (PIgnTokens)nodeArrayList4.get(0);
-        PProductions pProductionsNode7 = (PProductions)nodeArrayList5.get(0);
-        PAst pAstNode8 = (PAst)nodeArrayList6.get(0);
+        List<?> popped6 = pop();
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
+        PStates pStatesNode4 = (PStates)popped2.get(0);
+        PTokens pTokensNode5 = (PTokens)popped3.get(0);
+        PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped4.get(0);
+        PProductions pProductionsNode7 = (PProductions)popped5.get(0);
+        PAst pAstNode8 = (PAst)popped6.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, pStatesNode4, pTokensNode5, pIgnTokensNode6, pProductionsNode7, pAstNode8);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList6);
+        computePositions(pGrammarNode1, popped1, popped6);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new127() /* reduce AAgrammar128Grammar */
     {
-        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<?> popped7 = pop();
+        List<?> popped6 = pop();
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode2 = (List<TPkgId>)popped1.get(0);
         List<TPkgId> listNode3 = listNode2;
-        PHelpers pHelpersNode4 = (PHelpers)nodeArrayList2.get(0);
-        PStates pStatesNode5 = (PStates)nodeArrayList3.get(0);
-        PTokens pTokensNode6 = (PTokens)nodeArrayList4.get(0);
-        PIgnTokens pIgnTokensNode7 = (PIgnTokens)nodeArrayList5.get(0);
-        PProductions pProductionsNode8 = (PProductions)nodeArrayList6.get(0);
-        PAst pAstNode9 = (PAst)nodeArrayList7.get(0);
+        PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
+        PStates pStatesNode5 = (PStates)popped3.get(0);
+        PTokens pTokensNode6 = (PTokens)popped4.get(0);
+        PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped5.get(0);
+        PProductions pProductionsNode8 = (PProductions)popped6.get(0);
+        PAst pAstNode9 = (PAst)popped7.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, pStatesNode5, pTokensNode6, pIgnTokensNode7, pProductionsNode8, pAstNode9);
 
-        computePositions(pGrammarNode1, nodeArrayList1, nodeArrayList7);
+        computePositions(pGrammarNode1, popped1, popped7);
         return Collections.singletonList(pGrammarNode1);
     }
 
     private List<?> new128() /* reduce APackage */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode1 = (List<TPkgId>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode1 = (List<TPkgId>)popped2.get(0);
         List<TPkgId> listNode2 = listNode1;
-        computePositions(listNode2, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode2, popped1, popped2);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new129() /* reduce AApkgname1PkgName */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TPkgId tPkgIdNode1 = (TPkgId)nodeArrayList1.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TPkgId tPkgIdNode1 = (TPkgId)popped1.get(0);
         List<TPkgId> listNode2;
         if(tPkgIdNode1 != null) {
             listNode2 = Collections.singletonList(tPkgIdNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode2, popped1, popped2);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new130() /* reduce AApkgname2PkgName */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TPkgId tPkgIdNode1 = (TPkgId)nodeArrayList1.get(0);
-        List<TPkgId> listNode2 = (List<TPkgId>)nodeArrayList2.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TPkgId tPkgIdNode1 = (TPkgId)popped1.get(0);
+        List<TPkgId> listNode2 = (List<TPkgId>)popped2.get(0);
         List<TPkgId> listNode3 = new LinkedList<>();
         if(tPkgIdNode1 != null)
         {
@@ -3877,78 +3877,78 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList3);
+        computePositions(listNode3, popped1, popped3);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new131() /* reduce APkgNameTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TPkgId tPkgIdNode1 = (TPkgId)nodeArrayList2.get(0);
-        computePositions(tPkgIdNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TPkgId tPkgIdNode1 = (TPkgId)popped2.get(0);
+        computePositions(tPkgIdNode1, popped1, popped2);
         return Collections.singletonList(tPkgIdNode1);
     }
 
     private List<?> new132() /* reduce AHelpers */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PHelperDef> listNode2 = (List<PHelperDef>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PHelperDef> listNode2 = (List<PHelperDef>)popped2.get(0);
         List<PHelperDef> listNode3 = listNode2;
         AHelpers pHelpersNode1 = new AHelpers(listNode3);
 
-        computePositions(pHelpersNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pHelpersNode1, popped1, popped2);
         return Collections.singletonList(pHelpersNode1);
     }
 
     private List<?> new133() /* reduce AHelperDef */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
-        PRegExp pRegExpNode3 = (PRegExp)nodeArrayList3.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        PRegExp pRegExpNode3 = (PRegExp)popped3.get(0);
         AHelperDef pHelperDefNode1 = new AHelperDef(tIdNode2, pRegExpNode3);
 
-        computePositions(pHelperDefNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pHelperDefNode1, popped1, popped4);
         return Collections.singletonList(pHelperDefNode1);
     }
 
     private List<?> new134() /* reduce AStates */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TId> listNode2 = (List<TId>)nodeArrayList2.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TId> listNode2 = (List<TId>)popped2.get(0);
         List<TId> listNode3 = listNode2;
         AStates pStatesNode1 = new AStates(listNode3);
 
-        computePositions(pStatesNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pStatesNode1, popped1, popped3);
         return Collections.singletonList(pStatesNode1);
     }
 
     private List<?> new135() /* reduce AAidlist1IdList */
     {
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode1 = (TId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TId tIdNode1 = (TId)popped1.get(0);
         List<TId> listNode2;
         if(tIdNode1 != null) {
             listNode2 = Collections.singletonList(tIdNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new136() /* reduce AAidlist2IdList */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode1 = (TId)nodeArrayList1.get(0);
-        List<TId> listNode2 = (List<TId>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode1 = (TId)popped1.get(0);
+        List<TId> listNode2 = (List<TId>)popped2.get(0);
         List<TId> listNode3 = new LinkedList<>();
         if(tIdNode1 != null)
         {
@@ -3959,222 +3959,222 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new137() /* reduce AIdListTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode1 = (TId)nodeArrayList2.get(0);
-        computePositions(tIdNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode1 = (TId)popped2.get(0);
+        computePositions(tIdNode1, popped1, popped2);
         return Collections.singletonList(tIdNode1);
     }
 
     private List<?> new138() /* reduce ATokens */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PTokenDef> listNode2 = (List<PTokenDef>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PTokenDef> listNode2 = (List<PTokenDef>)popped2.get(0);
         List<PTokenDef> listNode3 = listNode2;
         ATokens pTokensNode1 = new ATokens(listNode3);
 
-        computePositions(pTokensNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pTokensNode1, popped1, popped2);
         return Collections.singletonList(pTokensNode1);
     }
 
     private List<?> new139() /* reduce AAtokendef1TokenDef */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode3 = (TId)nodeArrayList1.get(0);
-        PRegExp pRegExpNode4 = (PRegExp)nodeArrayList3.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode3 = (TId)popped1.get(0);
+        PRegExp pRegExpNode4 = (PRegExp)popped3.get(0);
         ATokenDef pTokenDefNode1 = new ATokenDef(null, tIdNode3, pRegExpNode4, null, null);
 
-        computePositions(pTokenDefNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pTokenDefNode1, popped1, popped4);
         return Collections.singletonList(pTokenDefNode1);
     }
 
     private List<?> new140() /* reduce AAtokendef2TokenDef */
     {
-        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);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStateList pStateListNode2 = (PStateList)popped1.get(0);
+        TId tIdNode3 = (TId)popped2.get(0);
+        PRegExp pRegExpNode4 = (PRegExp)popped4.get(0);
         ATokenDef pTokenDefNode1 = new ATokenDef(pStateListNode2, tIdNode3, pRegExpNode4, null, null);
 
-        computePositions(pTokenDefNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pTokenDefNode1, popped1, popped5);
         return Collections.singletonList(pTokenDefNode1);
     }
 
     private List<?> new141() /* reduce AAtokendef3TokenDef */
     {
-        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);
-        PRegExp pRegExpNode6 = (PRegExp)nodeArrayList4.get(1);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode3 = (TId)popped1.get(0);
+        PRegExp pRegExpNode4 = (PRegExp)popped3.get(0);
+        TSlash tSlashNode5 = (TSlash)popped4.get(0);
+        PRegExp pRegExpNode6 = (PRegExp)popped4.get(1);
         ATokenDef pTokenDefNode1 = new ATokenDef(null, tIdNode3, pRegExpNode4, tSlashNode5, pRegExpNode6);
 
-        computePositions(pTokenDefNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pTokenDefNode1, popped1, popped5);
         return Collections.singletonList(pTokenDefNode1);
     }
 
     private List<?> new142() /* reduce AAtokendef4TokenDef */
     {
-        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);
-        TSlash tSlashNode5 = (TSlash)nodeArrayList5.get(0);
-        PRegExp pRegExpNode6 = (PRegExp)nodeArrayList5.get(1);
+        List<?> popped6 = pop();
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PStateList pStateListNode2 = (PStateList)popped1.get(0);
+        TId tIdNode3 = (TId)popped2.get(0);
+        PRegExp pRegExpNode4 = (PRegExp)popped4.get(0);
+        TSlash tSlashNode5 = (TSlash)popped5.get(0);
+        PRegExp pRegExpNode6 = (PRegExp)popped5.get(1);
         ATokenDef pTokenDefNode1 = new ATokenDef(pStateListNode2, tIdNode3, pRegExpNode4, tSlashNode5, pRegExpNode6);
 
-        computePositions(pTokenDefNode1, nodeArrayList1, nodeArrayList6);
+        computePositions(pTokenDefNode1, popped1, popped6);
         return Collections.singletonList(pTokenDefNode1);
     }
 
     private List<?> new143() /* reduce AAstatelist1StateList */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList2.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped2.get(0);
         AStateList pStateListNode1 = new AStateList(tIdNode2, null, Collections.emptyList());
 
-        computePositions(pStateListNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pStateListNode1, popped1, popped3);
         return Collections.singletonList(pStateListNode1);
     }
 
     private List<?> new144() /* reduce AAstatelist2StateList */
     {
-        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<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped2.get(0);
+        PTransition pTransitionNode3 = (PTransition)popped3.get(0);
         AStateList pStateListNode1 = new AStateList(tIdNode2, pTransitionNode3, Collections.emptyList());
 
-        computePositions(pStateListNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pStateListNode1, popped1, popped4);
         return Collections.singletonList(pStateListNode1);
     }
 
     private List<?> new145() /* reduce AAstatelist3StateList */
     {
-        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<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped2.get(0);
+        List<PStateListTail> listNode4 = (List<PStateListTail>)popped3.get(0);
         List<PStateListTail> listNode5 = listNode4;
         AStateList pStateListNode1 = new AStateList(tIdNode2, null, listNode5);
 
-        computePositions(pStateListNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pStateListNode1, popped1, popped4);
         return Collections.singletonList(pStateListNode1);
     }
 
     private List<?> new146() /* reduce AAstatelist4StateList */
     {
-        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);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped2.get(0);
+        PTransition pTransitionNode3 = (PTransition)popped3.get(0);
+        List<PStateListTail> listNode4 = (List<PStateListTail>)popped4.get(0);
         List<PStateListTail> listNode5 = listNode4;
         AStateList pStateListNode1 = new AStateList(tIdNode2, pTransitionNode3, listNode5);
 
-        computePositions(pStateListNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pStateListNode1, popped1, popped5);
         return Collections.singletonList(pStateListNode1);
     }
 
     private List<?> new147() /* reduce AAstatelisttail1StateListTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped2.get(0);
         AStateListTail pStateListTailNode1 = new AStateListTail(tIdNode2, null);
 
-        computePositions(pStateListTailNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pStateListTailNode1, popped1, popped2);
         return Collections.singletonList(pStateListTailNode1);
     }
 
     private List<?> new148() /* reduce AAstatelisttail2StateListTail */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList2.get(0);
-        PTransition pTransitionNode3 = (PTransition)nodeArrayList3.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped2.get(0);
+        PTransition pTransitionNode3 = (PTransition)popped3.get(0);
         AStateListTail pStateListTailNode1 = new AStateListTail(tIdNode2, pTransitionNode3);
 
-        computePositions(pStateListTailNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pStateListTailNode1, popped1, popped3);
         return Collections.singletonList(pStateListTailNode1);
     }
 
     private List<?> new149() /* reduce ATransition */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped2.get(0);
         ATransition pTransitionNode1 = new ATransition(tIdNode2);
 
-        computePositions(pTransitionNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pTransitionNode1, popped1, popped2);
         return Collections.singletonList(pTransitionNode1);
     }
 
     private List<?> new150() /* reduce AAigntokens1IgnTokens */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
         AIgnTokens pIgnTokensNode1 = new AIgnTokens(Collections.emptyList());
 
-        computePositions(pIgnTokensNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pIgnTokensNode1, popped1, popped3);
         return Collections.singletonList(pIgnTokensNode1);
     }
 
     private List<?> new151() /* reduce AAigntokens2IgnTokens */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TId> listNode2 = (List<TId>)nodeArrayList3.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TId> listNode2 = (List<TId>)popped3.get(0);
         List<TId> listNode3 = listNode2;
         AIgnTokens pIgnTokensNode1 = new AIgnTokens(listNode3);
 
-        computePositions(pIgnTokensNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pIgnTokensNode1, popped1, popped4);
         return Collections.singletonList(pIgnTokensNode1);
     }
 
     private List<?> new152() /* reduce ALookAhead */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TSlash tSlashNode1 = (TSlash)nodeArrayList1.get(0);
-        PRegExp pRegExpNode2 = (PRegExp)nodeArrayList2.get(0);
-        computePositions(tSlashNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TSlash tSlashNode1 = (TSlash)popped1.get(0);
+        PRegExp pRegExpNode2 = (PRegExp)popped2.get(0);
+        computePositions(tSlashNode1, popped1, popped2);
         return Arrays.asList(new Object[] {
             tSlashNode1,
             pRegExpNode2,
@@ -4183,8 +4183,8 @@ public class Parser implements IParser
 
     private List<?> new153() /* reduce AAregexp1RegExp */
     {
-        List<?> nodeArrayList1 = pop();
-        PConcat pConcatNode2 = (PConcat)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PConcat pConcatNode2 = (PConcat)popped1.get(0);
         List<PConcat> listNode3;
         if(pConcatNode2 != null) {
             listNode3 = Collections.singletonList(pConcatNode2);
@@ -4193,16 +4193,16 @@ public class Parser implements IParser
         }
         ARegExp pRegExpNode1 = new ARegExp(listNode3);
 
-        computePositions(pRegExpNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pRegExpNode1, popped1, popped1);
         return Collections.singletonList(pRegExpNode1);
     }
 
     private List<?> new154() /* reduce AAregexp2RegExp */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PConcat pConcatNode2 = (PConcat)nodeArrayList1.get(0);
-        List<PConcat> listNode3 = (List<PConcat>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PConcat pConcatNode2 = (PConcat)popped1.get(0);
+        List<PConcat> listNode3 = (List<PConcat>)popped2.get(0);
         List<PConcat> listNode4 = new LinkedList<>();
         if(pConcatNode2 != null)
         {
@@ -4215,16 +4215,16 @@ public class Parser implements IParser
         }
         ARegExp pRegExpNode1 = new ARegExp(listNode4);
 
-        computePositions(pRegExpNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pRegExpNode1, popped1, popped2);
         return Collections.singletonList(pRegExpNode1);
     }
 
     private List<?> new155() /* reduce ARegExpTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PConcat pConcatNode1 = (PConcat)nodeArrayList2.get(0);
-        computePositions(pConcatNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PConcat pConcatNode1 = (PConcat)popped2.get(0);
+        computePositions(pConcatNode1, popped1, popped2);
         return Collections.singletonList(pConcatNode1);
     }
 
@@ -4237,251 +4237,251 @@ public class Parser implements IParser
 
     private List<?> new157() /* reduce AAconcat2Concat */
     {
-        List<?> nodeArrayList1 = pop();
-        List<PUnExp> listNode2 = (List<PUnExp>)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        List<PUnExp> listNode2 = (List<PUnExp>)popped1.get(0);
         List<PUnExp> listNode3 = listNode2;
         AConcat pConcatNode1 = new AConcat(listNode3);
 
-        computePositions(pConcatNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pConcatNode1, popped1, popped1);
         return Collections.singletonList(pConcatNode1);
     }
 
     private List<?> new158() /* reduce AAunexp1UnExp */
     {
-        List<?> nodeArrayList1 = pop();
-        PBasic pBasicNode2 = (PBasic)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PBasic pBasicNode2 = (PBasic)popped1.get(0);
         AUnExp pUnExpNode1 = new AUnExp(pBasicNode2, null);
 
-        computePositions(pUnExpNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pUnExpNode1, popped1, popped1);
         return Collections.singletonList(pUnExpNode1);
     }
 
     private List<?> new159() /* reduce AAunexp2UnExp */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PBasic pBasicNode2 = (PBasic)nodeArrayList1.get(0);
-        PUnOp pUnOpNode3 = (PUnOp)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PBasic pBasicNode2 = (PBasic)popped1.get(0);
+        PUnOp pUnOpNode3 = (PUnOp)popped2.get(0);
         AUnExp pUnExpNode1 = new AUnExp(pBasicNode2, pUnOpNode3);
 
-        computePositions(pUnExpNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pUnExpNode1, popped1, popped2);
         return Collections.singletonList(pUnExpNode1);
     }
 
     private List<?> new160() /* reduce ACharBasic */
     {
-        List<?> nodeArrayList1 = pop();
-        PChar pCharNode2 = (PChar)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PChar pCharNode2 = (PChar)popped1.get(0);
         ACharBasic pBasicNode1 = new ACharBasic(pCharNode2);
 
-        computePositions(pBasicNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pBasicNode1, popped1, popped1);
         return Collections.singletonList(pBasicNode1);
     }
 
     private List<?> new161() /* reduce ASetBasic */
     {
-        List<?> nodeArrayList1 = pop();
-        PSet pSetNode2 = (PSet)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PSet pSetNode2 = (PSet)popped1.get(0);
         ASetBasic pBasicNode1 = new ASetBasic(pSetNode2);
 
-        computePositions(pBasicNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pBasicNode1, popped1, popped1);
         return Collections.singletonList(pBasicNode1);
     }
 
     private List<?> new162() /* reduce AStringBasic */
     {
-        List<?> nodeArrayList1 = pop();
-        TString tStringNode2 = (TString)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TString tStringNode2 = (TString)popped1.get(0);
         AStringBasic pBasicNode1 = new AStringBasic(tStringNode2);
 
-        computePositions(pBasicNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pBasicNode1, popped1, popped1);
         return Collections.singletonList(pBasicNode1);
     }
 
     private List<?> new163() /* reduce AIdBasic */
     {
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
         AIdBasic pBasicNode1 = new AIdBasic(tIdNode2);
 
-        computePositions(pBasicNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pBasicNode1, popped1, popped1);
         return Collections.singletonList(pBasicNode1);
     }
 
     private List<?> new164() /* reduce ARegExpBasic */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PRegExp pRegExpNode2 = (PRegExp)nodeArrayList2.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PRegExp pRegExpNode2 = (PRegExp)popped2.get(0);
         ARegExpBasic pBasicNode1 = new ARegExpBasic(pRegExpNode2);
 
-        computePositions(pBasicNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pBasicNode1, popped1, popped3);
         return Collections.singletonList(pBasicNode1);
     }
 
     private List<?> new165() /* reduce ACharChar */
     {
-        List<?> nodeArrayList1 = pop();
-        TChar tCharNode2 = (TChar)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TChar tCharNode2 = (TChar)popped1.get(0);
         ACharChar pCharNode1 = new ACharChar(tCharNode2);
 
-        computePositions(pCharNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pCharNode1, popped1, popped1);
         return Collections.singletonList(pCharNode1);
     }
 
     private List<?> new166() /* reduce ADecChar */
     {
-        List<?> nodeArrayList1 = pop();
-        TDecChar tDecCharNode2 = (TDecChar)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TDecChar tDecCharNode2 = (TDecChar)popped1.get(0);
         ADecChar pCharNode1 = new ADecChar(tDecCharNode2);
 
-        computePositions(pCharNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pCharNode1, popped1, popped1);
         return Collections.singletonList(pCharNode1);
     }
 
     private List<?> new167() /* reduce AHexChar */
     {
-        List<?> nodeArrayList1 = pop();
-        THexChar tHexCharNode2 = (THexChar)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        THexChar tHexCharNode2 = (THexChar)popped1.get(0);
         AHexChar pCharNode1 = new AHexChar(tHexCharNode2);
 
-        computePositions(pCharNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pCharNode1, popped1, popped1);
         return Collections.singletonList(pCharNode1);
     }
 
     private List<?> new168() /* reduce AOperationSet */
     {
-        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);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PBasic pBasicNode2 = (PBasic)popped2.get(0);
+        PBinOp pBinOpNode3 = (PBinOp)popped3.get(0);
+        PBasic pBasicNode4 = (PBasic)popped4.get(0);
         AOperationSet pSetNode1 = new AOperationSet(pBasicNode2, pBinOpNode3, pBasicNode4);
 
-        computePositions(pSetNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pSetNode1, popped1, popped5);
         return Collections.singletonList(pSetNode1);
     }
 
     private List<?> new169() /* reduce AIntervalSet */
     {
-        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);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PChar pCharNode2 = (PChar)popped2.get(0);
+        PChar pCharNode3 = (PChar)popped4.get(0);
         AIntervalSet pSetNode1 = new AIntervalSet(pCharNode2, pCharNode3);
 
-        computePositions(pSetNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pSetNode1, popped1, popped5);
         return Collections.singletonList(pSetNode1);
     }
 
     private List<?> new170() /* reduce AStarUnOp */
     {
-        List<?> nodeArrayList1 = pop();
-        TStar tStarNode2 = (TStar)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TStar tStarNode2 = (TStar)popped1.get(0);
         AStarUnOp pUnOpNode1 = new AStarUnOp(tStarNode2);
 
-        computePositions(pUnOpNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pUnOpNode1, popped1, popped1);
         return Collections.singletonList(pUnOpNode1);
     }
 
     private List<?> new171() /* reduce AQMarkUnOp */
     {
-        List<?> nodeArrayList1 = pop();
-        TQMark tQMarkNode2 = (TQMark)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TQMark tQMarkNode2 = (TQMark)popped1.get(0);
         AQMarkUnOp pUnOpNode1 = new AQMarkUnOp(tQMarkNode2);
 
-        computePositions(pUnOpNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pUnOpNode1, popped1, popped1);
         return Collections.singletonList(pUnOpNode1);
     }
 
     private List<?> new172() /* reduce APlusUnOp */
     {
-        List<?> nodeArrayList1 = pop();
-        TPlus tPlusNode2 = (TPlus)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TPlus tPlusNode2 = (TPlus)popped1.get(0);
         APlusUnOp pUnOpNode1 = new APlusUnOp(tPlusNode2);
 
-        computePositions(pUnOpNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pUnOpNode1, popped1, popped1);
         return Collections.singletonList(pUnOpNode1);
     }
 
     private List<?> new173() /* reduce APlusBinOp */
     {
-        List<?> nodeArrayList1 = pop();
+        List<?> popped1 = pop();
         APlusBinOp pBinOpNode1 = new APlusBinOp();
 
-        computePositions(pBinOpNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pBinOpNode1, popped1, popped1);
         return Collections.singletonList(pBinOpNode1);
     }
 
     private List<?> new174() /* reduce AMinusBinOp */
     {
-        List<?> nodeArrayList1 = pop();
+        List<?> popped1 = pop();
         AMinusBinOp pBinOpNode1 = new AMinusBinOp();
 
-        computePositions(pBinOpNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pBinOpNode1, popped1, popped1);
         return Collections.singletonList(pBinOpNode1);
     }
 
     private List<?> new175() /* reduce AProductions */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PProd> listNode2 = (List<PProd>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PProd> listNode2 = (List<PProd>)popped2.get(0);
         List<PProd> listNode3 = listNode2;
         AProductions pProductionsNode1 = new AProductions(listNode3);
 
-        computePositions(pProductionsNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pProductionsNode1, popped1, popped2);
         return Collections.singletonList(pProductionsNode1);
     }
 
     private List<?> new176() /* reduce AAprod1Prod */
     {
-        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<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        List<PAlt> listNode5 = (List<PAlt>)popped3.get(0);
         List<PAlt> listNode6 = listNode5;
         AProd pProdNode1 = new AProd(tIdNode2, null, Collections.emptyList(), listNode6);
 
-        computePositions(pProdNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pProdNode1, popped1, popped4);
         return Collections.singletonList(pProdNode1);
     }
 
     private List<?> new177() /* reduce AAprod2Prod */
     {
-        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);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        TArrow tArrowNode3 = (TArrow)popped2.get(0);
+        List<PElem> listNode4 = (List<PElem>)popped2.get(1);
         List<PElem> listNode5 = listNode4;
-        List<PAlt> listNode6 = (List<PAlt>)nodeArrayList4.get(0);
+        List<PAlt> listNode6 = (List<PAlt>)popped4.get(0);
         List<PAlt> listNode7 = listNode6;
         AProd pProdNode1 = new AProd(tIdNode2, tArrowNode3, listNode5, listNode7);
 
-        computePositions(pProdNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pProdNode1, popped1, popped5);
         return Collections.singletonList(pProdNode1);
     }
 
     private List<?> new178() /* reduce AAprodtransform1ProdTransform */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TArrow tArrowNode1 = (TArrow)nodeArrayList2.get(0);
-        computePositions(tArrowNode1, nodeArrayList1, nodeArrayList3);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TArrow tArrowNode1 = (TArrow)popped2.get(0);
+        computePositions(tArrowNode1, popped1, popped3);
         return Arrays.asList(new Object[] {
             tArrowNode1,
             Collections.emptyList(),
@@ -4490,14 +4490,14 @@ public class Parser implements IParser
 
     private List<?> new179() /* reduce AAprodtransform2ProdTransform */
     {
-        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<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TArrow tArrowNode1 = (TArrow)popped2.get(0);
+        List<PElem> listNode2 = (List<PElem>)popped3.get(0);
         List<PElem> listNode3 = listNode2;
-        computePositions(tArrowNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(tArrowNode1, popped1, popped4);
         return Arrays.asList(new Object[] {
             tArrowNode1,
             listNode3,
@@ -4506,24 +4506,24 @@ public class Parser implements IParser
 
     private List<?> new180() /* reduce AAalts1Alts */
     {
-        List<?> nodeArrayList1 = pop();
-        PAlt pAltNode1 = (PAlt)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PAlt pAltNode1 = (PAlt)popped1.get(0);
         List<PAlt> listNode2;
         if(pAltNode1 != null) {
             listNode2 = Collections.singletonList(pAltNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new181() /* reduce AAalts2Alts */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PAlt pAltNode1 = (PAlt)nodeArrayList1.get(0);
-        List<PAlt> listNode2 = (List<PAlt>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PAlt pAltNode1 = (PAlt)popped1.get(0);
+        List<PAlt> listNode2 = (List<PAlt>)popped2.get(0);
         List<PAlt> listNode3 = new LinkedList<>();
         if(pAltNode1 != null)
         {
@@ -4534,16 +4534,16 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new182() /* reduce AAltsTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PAlt pAltNode1 = (PAlt)nodeArrayList2.get(0);
-        computePositions(pAltNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PAlt pAltNode1 = (PAlt)popped2.get(0);
+        computePositions(pAltNode1, popped1, popped2);
         return Collections.singletonList(pAltNode1);
     }
 
@@ -4556,250 +4556,250 @@ public class Parser implements IParser
 
     private List<?> new184() /* reduce AAalt2Alt */
     {
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
         AAlt pAltNode1 = new AAlt(tIdNode2, Collections.emptyList(), null);
 
-        computePositions(pAltNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pAltNode1, popped1, popped1);
         return Collections.singletonList(pAltNode1);
     }
 
     private List<?> new185() /* reduce AAalt3Alt */
     {
-        List<?> nodeArrayList1 = pop();
-        List<PElem> listNode3 = (List<PElem>)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        List<PElem> listNode3 = (List<PElem>)popped1.get(0);
         List<PElem> listNode4 = listNode3;
         AAlt pAltNode1 = new AAlt(null, listNode4, null);
 
-        computePositions(pAltNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pAltNode1, popped1, popped1);
         return Collections.singletonList(pAltNode1);
     }
 
     private List<?> new186() /* reduce AAalt4Alt */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
-        List<PElem> listNode3 = (List<PElem>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        List<PElem> listNode3 = (List<PElem>)popped2.get(0);
         List<PElem> listNode4 = listNode3;
         AAlt pAltNode1 = new AAlt(tIdNode2, listNode4, null);
 
-        computePositions(pAltNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pAltNode1, popped1, popped2);
         return Collections.singletonList(pAltNode1);
     }
 
     private List<?> new187() /* reduce AAalt5Alt */
     {
-        List<?> nodeArrayList1 = pop();
-        PAltTransform pAltTransformNode4 = (PAltTransform)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PAltTransform pAltTransformNode4 = (PAltTransform)popped1.get(0);
         AAlt pAltNode1 = new AAlt(null, Collections.emptyList(), pAltTransformNode4);
 
-        computePositions(pAltNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pAltNode1, popped1, popped1);
         return Collections.singletonList(pAltNode1);
     }
 
     private List<?> new188() /* reduce AAalt6Alt */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
-        PAltTransform pAltTransformNode4 = (PAltTransform)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        PAltTransform pAltTransformNode4 = (PAltTransform)popped2.get(0);
         AAlt pAltNode1 = new AAlt(tIdNode2, Collections.emptyList(), pAltTransformNode4);
 
-        computePositions(pAltNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pAltNode1, popped1, popped2);
         return Collections.singletonList(pAltNode1);
     }
 
     private List<?> new189() /* reduce AAalt7Alt */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PElem> listNode3 = (List<PElem>)nodeArrayList1.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PElem> listNode3 = (List<PElem>)popped1.get(0);
         List<PElem> listNode4 = listNode3;
-        PAltTransform pAltTransformNode5 = (PAltTransform)nodeArrayList2.get(0);
+        PAltTransform pAltTransformNode5 = (PAltTransform)popped2.get(0);
         AAlt pAltNode1 = new AAlt(null, listNode4, pAltTransformNode5);
 
-        computePositions(pAltNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pAltNode1, popped1, popped2);
         return Collections.singletonList(pAltNode1);
     }
 
     private List<?> new190() /* reduce AAalt8Alt */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
-        List<PElem> listNode3 = (List<PElem>)nodeArrayList2.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        List<PElem> listNode3 = (List<PElem>)popped2.get(0);
         List<PElem> listNode4 = listNode3;
-        PAltTransform pAltTransformNode5 = (PAltTransform)nodeArrayList3.get(0);
+        PAltTransform pAltTransformNode5 = (PAltTransform)popped3.get(0);
         AAlt pAltNode1 = new AAlt(tIdNode2, listNode4, pAltTransformNode5);
 
-        computePositions(pAltNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pAltNode1, popped1, popped3);
         return Collections.singletonList(pAltNode1);
     }
 
     private List<?> new191() /* reduce AAalttransform1AltTransform */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TLBrace tLBraceNode2 = (TLBrace)nodeArrayList1.get(0);
-        TRBrace tRBraceNode4 = (TRBrace)nodeArrayList3.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TLBrace tLBraceNode2 = (TLBrace)popped1.get(0);
+        TRBrace tRBraceNode4 = (TRBrace)popped3.get(0);
         AAltTransform pAltTransformNode1 = new AAltTransform(tLBraceNode2, Collections.emptyList(), tRBraceNode4);
 
-        computePositions(pAltTransformNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pAltTransformNode1, popped1, popped3);
         return Collections.singletonList(pAltTransformNode1);
     }
 
     private List<?> new192() /* reduce AAalttransform2AltTransform */
     {
-        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<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TLBrace tLBraceNode2 = (TLBrace)popped1.get(0);
+        List<PTerm> listNode3 = (List<PTerm>)popped3.get(0);
         List<PTerm> listNode4 = listNode3;
-        TRBrace tRBraceNode5 = (TRBrace)nodeArrayList4.get(0);
+        TRBrace tRBraceNode5 = (TRBrace)popped4.get(0);
         AAltTransform pAltTransformNode1 = new AAltTransform(tLBraceNode2, listNode4, tRBraceNode5);
 
-        computePositions(pAltTransformNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pAltTransformNode1, popped1, popped4);
         return Collections.singletonList(pAltTransformNode1);
     }
 
     private List<?> new193() /* reduce AAnewterm1Term */
     {
-        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<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PProdName pProdNameNode2 = (PProdName)popped2.get(0);
+        TLPar tLParNode3 = (TLPar)popped3.get(0);
         ANewTerm pTermNode1 = new ANewTerm(pProdNameNode2, tLParNode3, Collections.emptyList());
 
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pTermNode1, popped1, popped4);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new194() /* reduce AAnewterm2Term */
     {
-        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);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PProdName pProdNameNode2 = (PProdName)popped2.get(0);
+        TLPar tLParNode3 = (TLPar)popped3.get(0);
+        List<PTerm> listNode4 = (List<PTerm>)popped4.get(0);
         List<PTerm> listNode5 = listNode4;
         ANewTerm pTermNode1 = new ANewTerm(pProdNameNode2, tLParNode3, listNode5);
 
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pTermNode1, popped1, popped5);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new195() /* reduce AAlistterm1Term */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TLBkt tLBktNode2 = (TLBkt)nodeArrayList1.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TLBkt tLBktNode2 = (TLBkt)popped1.get(0);
         AListTerm pTermNode1 = new AListTerm(tLBktNode2, Collections.emptyList());
 
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pTermNode1, popped1, popped2);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new196() /* reduce AAlistterm2Term */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TLBkt tLBktNode2 = (TLBkt)nodeArrayList1.get(0);
-        List<PListTerm> listNode3 = (List<PListTerm>)nodeArrayList2.get(0);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TLBkt tLBktNode2 = (TLBkt)popped1.get(0);
+        List<PListTerm> listNode3 = (List<PListTerm>)popped2.get(0);
         List<PListTerm> listNode4 = listNode3;
         AListTerm pTermNode1 = new AListTerm(tLBktNode2, listNode4);
 
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pTermNode1, popped1, popped3);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new197() /* reduce AAsimpleterm1Term */
     {
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode3 = (TId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TId tIdNode3 = (TId)popped1.get(0);
         ASimpleTerm pTermNode1 = new ASimpleTerm(null, tIdNode3, null);
 
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pTermNode1, popped1, popped1);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new198() /* reduce AAsimpleterm2Term */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PSpecifier pSpecifierNode2 = (PSpecifier)nodeArrayList1.get(0);
-        TId tIdNode3 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0);
+        TId tIdNode3 = (TId)popped2.get(0);
         ASimpleTerm pTermNode1 = new ASimpleTerm(pSpecifierNode2, tIdNode3, null);
 
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pTermNode1, popped1, popped2);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new199() /* reduce AAsimpleterm3Term */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode3 = (TId)nodeArrayList1.get(0);
-        TId tIdNode4 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode3 = (TId)popped1.get(0);
+        TId tIdNode4 = (TId)popped2.get(0);
         ASimpleTerm pTermNode1 = new ASimpleTerm(null, tIdNode3, tIdNode4);
 
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pTermNode1, popped1, popped2);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new200() /* reduce AAsimpleterm4Term */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0);
+        TId tIdNode3 = (TId)popped2.get(0);
+        TId tIdNode4 = (TId)popped3.get(0);
         ASimpleTerm pTermNode1 = new ASimpleTerm(pSpecifierNode2, tIdNode3, tIdNode4);
 
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pTermNode1, popped1, popped3);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new201() /* reduce ANullTerm */
     {
-        List<?> nodeArrayList1 = pop();
+        List<?> popped1 = pop();
         ANullTerm pTermNode1 = new ANullTerm();
 
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pTermNode1, popped1, popped1);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new202() /* reduce AAlistoflistterm1ListOfListTerm */
     {
-        List<?> nodeArrayList1 = pop();
-        PListTerm pListTermNode1 = (PListTerm)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PListTerm pListTermNode1 = (PListTerm)popped1.get(0);
         List<PListTerm> listNode2;
         if(pListTermNode1 != null) {
             listNode2 = Collections.singletonList(pListTermNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new203() /* reduce AAlistoflistterm2ListOfListTerm */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PListTerm pListTermNode1 = (PListTerm)nodeArrayList1.get(0);
-        List<PListTerm> listNode2 = (List<PListTerm>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PListTerm pListTermNode1 = (PListTerm)popped1.get(0);
+        List<PListTerm> listNode2 = (List<PListTerm>)popped2.get(0);
         List<PListTerm> listNode3 = new LinkedList<>();
         if(pListTermNode1 != null)
         {
@@ -4810,158 +4810,158 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new204() /* reduce AAnewlistterm1ListTerm */
     {
-        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<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PProdName pProdNameNode2 = (PProdName)popped2.get(0);
+        TLPar tLParNode3 = (TLPar)popped3.get(0);
         ANewListTerm pListTermNode1 = new ANewListTerm(pProdNameNode2, tLParNode3, Collections.emptyList());
 
-        computePositions(pListTermNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pListTermNode1, popped1, popped4);
         return Collections.singletonList(pListTermNode1);
     }
 
     private List<?> new205() /* reduce AAnewlistterm2ListTerm */
     {
-        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);
+        List<?> popped5 = pop();
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PProdName pProdNameNode2 = (PProdName)popped2.get(0);
+        TLPar tLParNode3 = (TLPar)popped3.get(0);
+        List<PTerm> listNode4 = (List<PTerm>)popped4.get(0);
         List<PTerm> listNode5 = listNode4;
         ANewListTerm pListTermNode1 = new ANewListTerm(pProdNameNode2, tLParNode3, listNode5);
 
-        computePositions(pListTermNode1, nodeArrayList1, nodeArrayList5);
+        computePositions(pListTermNode1, popped1, popped5);
         return Collections.singletonList(pListTermNode1);
     }
 
     private List<?> new206() /* reduce AAsimplelistterm1ListTerm */
     {
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode3 = (TId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TId tIdNode3 = (TId)popped1.get(0);
         ASimpleListTerm pListTermNode1 = new ASimpleListTerm(null, tIdNode3, null);
 
-        computePositions(pListTermNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pListTermNode1, popped1, popped1);
         return Collections.singletonList(pListTermNode1);
     }
 
     private List<?> new207() /* reduce AAsimplelistterm2ListTerm */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PSpecifier pSpecifierNode2 = (PSpecifier)nodeArrayList1.get(0);
-        TId tIdNode3 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0);
+        TId tIdNode3 = (TId)popped2.get(0);
         ASimpleListTerm pListTermNode1 = new ASimpleListTerm(pSpecifierNode2, tIdNode3, null);
 
-        computePositions(pListTermNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pListTermNode1, popped1, popped2);
         return Collections.singletonList(pListTermNode1);
     }
 
     private List<?> new208() /* reduce AAsimplelistterm3ListTerm */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode3 = (TId)nodeArrayList1.get(0);
-        TId tIdNode4 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode3 = (TId)popped1.get(0);
+        TId tIdNode4 = (TId)popped2.get(0);
         ASimpleListTerm pListTermNode1 = new ASimpleListTerm(null, tIdNode3, tIdNode4);
 
-        computePositions(pListTermNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pListTermNode1, popped1, popped2);
         return Collections.singletonList(pListTermNode1);
     }
 
     private List<?> new209() /* reduce AAsimplelistterm4ListTerm */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0);
+        TId tIdNode3 = (TId)popped2.get(0);
+        TId tIdNode4 = (TId)popped3.get(0);
         ASimpleListTerm pListTermNode1 = new ASimpleListTerm(pSpecifierNode2, tIdNode3, tIdNode4);
 
-        computePositions(pListTermNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pListTermNode1, popped1, popped3);
         return Collections.singletonList(pListTermNode1);
     }
 
     private List<?> new210() /* reduce AListTermTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PListTerm pListTermNode1 = (PListTerm)nodeArrayList2.get(0);
-        computePositions(pListTermNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PListTerm pListTermNode1 = (PListTerm)popped2.get(0);
+        computePositions(pListTermNode1, popped1, popped2);
         return Collections.singletonList(pListTermNode1);
     }
 
     private List<?> new211() /* reduce ASimpleTermTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode1 = (TId)nodeArrayList2.get(0);
-        computePositions(tIdNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode1 = (TId)popped2.get(0);
+        computePositions(tIdNode1, popped1, popped2);
         return Collections.singletonList(tIdNode1);
     }
 
     private List<?> new212() /* reduce AAprodname1ProdName */
     {
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
         AProdName pProdNameNode1 = new AProdName(tIdNode2, null);
 
-        computePositions(pProdNameNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pProdNameNode1, popped1, popped1);
         return Collections.singletonList(pProdNameNode1);
     }
 
     private List<?> new213() /* reduce AAprodname2ProdName */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
-        TId tIdNode3 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        TId tIdNode3 = (TId)popped2.get(0);
         AProdName pProdNameNode1 = new AProdName(tIdNode2, tIdNode3);
 
-        computePositions(pProdNameNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pProdNameNode1, popped1, popped2);
         return Collections.singletonList(pProdNameNode1);
     }
 
     private List<?> new214() /* reduce AProdNameTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode1 = (TId)nodeArrayList2.get(0);
-        computePositions(tIdNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode1 = (TId)popped2.get(0);
+        computePositions(tIdNode1, popped1, popped2);
         return Collections.singletonList(tIdNode1);
     }
 
     private List<?> new215() /* reduce AAparams1Params */
     {
-        List<?> nodeArrayList1 = pop();
-        PTerm pTermNode1 = (PTerm)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PTerm pTermNode1 = (PTerm)popped1.get(0);
         List<PTerm> listNode2;
         if(pTermNode1 != null) {
             listNode2 = Collections.singletonList(pTermNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new216() /* reduce AAparams2Params */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PTerm pTermNode1 = (PTerm)nodeArrayList1.get(0);
-        List<PTerm> listNode2 = (List<PTerm>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PTerm pTermNode1 = (PTerm)popped1.get(0);
+        List<PTerm> listNode2 = (List<PTerm>)popped2.get(0);
         List<PTerm> listNode3 = new LinkedList<>();
         if(pTermNode1 != null)
         {
@@ -4972,213 +4972,213 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new217() /* reduce AParamsTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PTerm pTermNode1 = (PTerm)nodeArrayList2.get(0);
-        computePositions(pTermNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PTerm pTermNode1 = (PTerm)popped2.get(0);
+        computePositions(pTermNode1, popped1, popped2);
         return Collections.singletonList(pTermNode1);
     }
 
     private List<?> new218() /* reduce AAltName */
     {
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode1 = (TId)nodeArrayList2.get(0);
-        computePositions(tIdNode1, nodeArrayList1, nodeArrayList3);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode1 = (TId)popped2.get(0);
+        computePositions(tIdNode1, popped1, popped3);
         return Collections.singletonList(tIdNode1);
     }
 
     private List<?> new219() /* reduce AAelem1Elem */
     {
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode4 = (TId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TId tIdNode4 = (TId)popped1.get(0);
         AElem pElemNode1 = new AElem(null, null, tIdNode4, null);
 
-        computePositions(pElemNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pElemNode1, popped1, popped1);
         return Collections.singletonList(pElemNode1);
     }
 
     private List<?> new220() /* reduce AAelem2Elem */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
-        TId tIdNode4 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        TId tIdNode4 = (TId)popped2.get(0);
         AElem pElemNode1 = new AElem(tIdNode2, null, tIdNode4, null);
 
-        computePositions(pElemNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pElemNode1, popped1, popped2);
         return Collections.singletonList(pElemNode1);
     }
 
     private List<?> new221() /* reduce AAelem3Elem */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PSpecifier pSpecifierNode3 = (PSpecifier)nodeArrayList1.get(0);
-        TId tIdNode4 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PSpecifier pSpecifierNode3 = (PSpecifier)popped1.get(0);
+        TId tIdNode4 = (TId)popped2.get(0);
         AElem pElemNode1 = new AElem(null, pSpecifierNode3, tIdNode4, null);
 
-        computePositions(pElemNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pElemNode1, popped1, popped2);
         return Collections.singletonList(pElemNode1);
     }
 
     private List<?> new222() /* reduce AAelem4Elem */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        PSpecifier pSpecifierNode3 = (PSpecifier)popped2.get(0);
+        TId tIdNode4 = (TId)popped3.get(0);
         AElem pElemNode1 = new AElem(tIdNode2, pSpecifierNode3, tIdNode4, null);
 
-        computePositions(pElemNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pElemNode1, popped1, popped3);
         return Collections.singletonList(pElemNode1);
     }
 
     private List<?> new223() /* reduce AAelem5Elem */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode4 = (TId)nodeArrayList1.get(0);
-        PUnOp pUnOpNode5 = (PUnOp)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode4 = (TId)popped1.get(0);
+        PUnOp pUnOpNode5 = (PUnOp)popped2.get(0);
         AElem pElemNode1 = new AElem(null, null, tIdNode4, pUnOpNode5);
 
-        computePositions(pElemNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pElemNode1, popped1, popped2);
         return Collections.singletonList(pElemNode1);
     }
 
     private List<?> new224() /* reduce AAelem6Elem */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        TId tIdNode4 = (TId)popped2.get(0);
+        PUnOp pUnOpNode5 = (PUnOp)popped3.get(0);
         AElem pElemNode1 = new AElem(tIdNode2, null, tIdNode4, pUnOpNode5);
 
-        computePositions(pElemNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pElemNode1, popped1, popped3);
         return Collections.singletonList(pElemNode1);
     }
 
     private List<?> new225() /* reduce AAelem7Elem */
     {
-        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);
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PSpecifier pSpecifierNode3 = (PSpecifier)popped1.get(0);
+        TId tIdNode4 = (TId)popped2.get(0);
+        PUnOp pUnOpNode5 = (PUnOp)popped3.get(0);
         AElem pElemNode1 = new AElem(null, pSpecifierNode3, tIdNode4, pUnOpNode5);
 
-        computePositions(pElemNode1, nodeArrayList1, nodeArrayList3);
+        computePositions(pElemNode1, popped1, popped3);
         return Collections.singletonList(pElemNode1);
     }
 
     private List<?> new226() /* reduce AAelem8Elem */
     {
-        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);
-        PUnOp pUnOpNode5 = (PUnOp)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        PSpecifier pSpecifierNode3 = (PSpecifier)popped2.get(0);
+        TId tIdNode4 = (TId)popped3.get(0);
+        PUnOp pUnOpNode5 = (PUnOp)popped4.get(0);
         AElem pElemNode1 = new AElem(tIdNode2, pSpecifierNode3, tIdNode4, pUnOpNode5);
 
-        computePositions(pElemNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pElemNode1, popped1, popped4);
         return Collections.singletonList(pElemNode1);
     }
 
     private List<?> new227() /* reduce AElemName */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode1 = (TId)nodeArrayList2.get(0);
-        computePositions(tIdNode1, nodeArrayList1, nodeArrayList4);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode1 = (TId)popped2.get(0);
+        computePositions(tIdNode1, popped1, popped4);
         return Collections.singletonList(tIdNode1);
     }
 
     private List<?> new228() /* reduce ATokenSpecifier */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
         ATokenSpecifier pSpecifierNode1 = new ATokenSpecifier();
 
-        computePositions(pSpecifierNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pSpecifierNode1, popped1, popped2);
         return Collections.singletonList(pSpecifierNode1);
     }
 
     private List<?> new229() /* reduce AProductionSpecifier */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
         AProductionSpecifier pSpecifierNode1 = new AProductionSpecifier();
 
-        computePositions(pSpecifierNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pSpecifierNode1, popped1, popped2);
         return Collections.singletonList(pSpecifierNode1);
     }
 
     private List<?> new230() /* reduce AAst */
     {
-        List<?> nodeArrayList4 = pop();
-        List<?> nodeArrayList3 = pop();
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PAstProd> listNode2 = (List<PAstProd>)nodeArrayList4.get(0);
+        List<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PAstProd> listNode2 = (List<PAstProd>)popped4.get(0);
         List<PAstProd> listNode3 = listNode2;
         AAst pAstNode1 = new AAst(listNode3);
 
-        computePositions(pAstNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pAstNode1, popped1, popped4);
         return Collections.singletonList(pAstNode1);
     }
 
     private List<?> new231() /* reduce AAstProd */
     {
-        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<?> popped4 = pop();
+        List<?> popped3 = pop();
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        List<PAstAlt> listNode3 = (List<PAstAlt>)popped3.get(0);
         List<PAstAlt> listNode4 = listNode3;
         AAstProd pAstProdNode1 = new AAstProd(tIdNode2, listNode4);
 
-        computePositions(pAstProdNode1, nodeArrayList1, nodeArrayList4);
+        computePositions(pAstProdNode1, popped1, popped4);
         return Collections.singletonList(pAstProdNode1);
     }
 
     private List<?> new232() /* reduce AAastalts1AstAlts */
     {
-        List<?> nodeArrayList1 = pop();
-        PAstAlt pAstAltNode1 = (PAstAlt)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PAstAlt pAstAltNode1 = (PAstAlt)popped1.get(0);
         List<PAstAlt> listNode2;
         if(pAstAltNode1 != null) {
             listNode2 = Collections.singletonList(pAstAltNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new233() /* reduce AAastalts2AstAlts */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PAstAlt pAstAltNode1 = (PAstAlt)nodeArrayList1.get(0);
-        List<PAstAlt> listNode2 = (List<PAstAlt>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PAstAlt pAstAltNode1 = (PAstAlt)popped1.get(0);
+        List<PAstAlt> listNode2 = (List<PAstAlt>)popped2.get(0);
         List<PAstAlt> listNode3 = new LinkedList<>();
         if(pAstAltNode1 != null)
         {
@@ -5189,16 +5189,16 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new234() /* reduce AAstAltsTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        PAstAlt pAstAltNode1 = (PAstAlt)nodeArrayList2.get(0);
-        computePositions(pAstAltNode1, nodeArrayList1, nodeArrayList2);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        PAstAlt pAstAltNode1 = (PAstAlt)popped2.get(0);
+        computePositions(pAstAltNode1, popped1, popped2);
         return Collections.singletonList(pAstAltNode1);
     }
 
@@ -5211,58 +5211,58 @@ public class Parser implements IParser
 
     private List<?> new236() /* reduce AAastalt2AstAlt */
     {
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
         AAstAlt pAstAltNode1 = new AAstAlt(tIdNode2, Collections.emptyList());
 
-        computePositions(pAstAltNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pAstAltNode1, popped1, popped1);
         return Collections.singletonList(pAstAltNode1);
     }
 
     private List<?> new237() /* reduce AAastalt3AstAlt */
     {
-        List<?> nodeArrayList1 = pop();
-        List<PElem> listNode3 = (List<PElem>)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        List<PElem> listNode3 = (List<PElem>)popped1.get(0);
         List<PElem> listNode4 = listNode3;
         AAstAlt pAstAltNode1 = new AAstAlt(null, listNode4);
 
-        computePositions(pAstAltNode1, nodeArrayList1, nodeArrayList1);
+        computePositions(pAstAltNode1, popped1, popped1);
         return Collections.singletonList(pAstAltNode1);
     }
 
     private List<?> new238() /* reduce AAastalt4AstAlt */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode2 = (TId)nodeArrayList1.get(0);
-        List<PElem> listNode3 = (List<PElem>)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        TId tIdNode2 = (TId)popped1.get(0);
+        List<PElem> listNode3 = (List<PElem>)popped2.get(0);
         List<PElem> listNode4 = listNode3;
         AAstAlt pAstAltNode1 = new AAstAlt(tIdNode2, listNode4);
 
-        computePositions(pAstAltNode1, nodeArrayList1, nodeArrayList2);
+        computePositions(pAstAltNode1, popped1, popped2);
         return Collections.singletonList(pAstAltNode1);
     }
 
     private List<?> new239() /* reduce ATerminal$PkgNameTail */
     {
-        List<?> nodeArrayList1 = pop();
-        TPkgId tPkgIdNode1 = (TPkgId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TPkgId tPkgIdNode1 = (TPkgId)popped1.get(0);
         List<TPkgId> listNode2;
         if(tPkgIdNode1 != null) {
             listNode2 = Collections.singletonList(tPkgIdNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new240() /* reduce ANonTerminal$PkgNameTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TPkgId> listNode1 = (List<TPkgId>)nodeArrayList1.get(0);
-        TPkgId tPkgIdNode2 = (TPkgId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TPkgId> listNode1 = (List<TPkgId>)popped1.get(0);
+        TPkgId tPkgIdNode2 = (TPkgId)popped2.get(0);
         List<TPkgId> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5273,30 +5273,30 @@ public class Parser implements IParser
         {
             listNode3.add(tPkgIdNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new241() /* reduce ATerminal$HelperDef */
     {
-        List<?> nodeArrayList1 = pop();
-        PHelperDef pHelperDefNode1 = (PHelperDef)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PHelperDef pHelperDefNode1 = (PHelperDef)popped1.get(0);
         List<PHelperDef> listNode2;
         if(pHelperDefNode1 != null) {
             listNode2 = Collections.singletonList(pHelperDefNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new242() /* reduce ANonTerminal$HelperDef */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PHelperDef> listNode1 = (List<PHelperDef>)nodeArrayList1.get(0);
-        PHelperDef pHelperDefNode2 = (PHelperDef)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PHelperDef> listNode1 = (List<PHelperDef>)popped1.get(0);
+        PHelperDef pHelperDefNode2 = (PHelperDef)popped2.get(0);
         List<PHelperDef> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5307,30 +5307,30 @@ public class Parser implements IParser
         {
             listNode3.add(pHelperDefNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new243() /* reduce ATerminal$IdListTail */
     {
-        List<?> nodeArrayList1 = pop();
-        TId tIdNode1 = (TId)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        TId tIdNode1 = (TId)popped1.get(0);
         List<TId> listNode2;
         if(tIdNode1 != null) {
             listNode2 = Collections.singletonList(tIdNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new244() /* reduce ANonTerminal$IdListTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<TId> listNode1 = (List<TId>)nodeArrayList1.get(0);
-        TId tIdNode2 = (TId)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<TId> listNode1 = (List<TId>)popped1.get(0);
+        TId tIdNode2 = (TId)popped2.get(0);
         List<TId> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5341,30 +5341,30 @@ public class Parser implements IParser
         {
             listNode3.add(tIdNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new245() /* reduce ATerminal$TokenDef */
     {
-        List<?> nodeArrayList1 = pop();
-        PTokenDef pTokenDefNode1 = (PTokenDef)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PTokenDef pTokenDefNode1 = (PTokenDef)popped1.get(0);
         List<PTokenDef> listNode2;
         if(pTokenDefNode1 != null) {
             listNode2 = Collections.singletonList(pTokenDefNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new246() /* reduce ANonTerminal$TokenDef */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PTokenDef> listNode1 = (List<PTokenDef>)nodeArrayList1.get(0);
-        PTokenDef pTokenDefNode2 = (PTokenDef)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PTokenDef> listNode1 = (List<PTokenDef>)popped1.get(0);
+        PTokenDef pTokenDefNode2 = (PTokenDef)popped2.get(0);
         List<PTokenDef> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5375,30 +5375,30 @@ public class Parser implements IParser
         {
             listNode3.add(pTokenDefNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new247() /* reduce ATerminal$StateListTail */
     {
-        List<?> nodeArrayList1 = pop();
-        PStateListTail pStateListTailNode1 = (PStateListTail)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PStateListTail pStateListTailNode1 = (PStateListTail)popped1.get(0);
         List<PStateListTail> listNode2;
         if(pStateListTailNode1 != null) {
             listNode2 = Collections.singletonList(pStateListTailNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new248() /* reduce ANonTerminal$StateListTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PStateListTail> listNode1 = (List<PStateListTail>)nodeArrayList1.get(0);
-        PStateListTail pStateListTailNode2 = (PStateListTail)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PStateListTail> listNode1 = (List<PStateListTail>)popped1.get(0);
+        PStateListTail pStateListTailNode2 = (PStateListTail)popped2.get(0);
         List<PStateListTail> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5409,30 +5409,30 @@ public class Parser implements IParser
         {
             listNode3.add(pStateListTailNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new249() /* reduce ATerminal$RegExpTail */
     {
-        List<?> nodeArrayList1 = pop();
-        PConcat pConcatNode1 = (PConcat)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PConcat pConcatNode1 = (PConcat)popped1.get(0);
         List<PConcat> listNode2;
         if(pConcatNode1 != null) {
             listNode2 = Collections.singletonList(pConcatNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new250() /* reduce ANonTerminal$RegExpTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PConcat> listNode1 = (List<PConcat>)nodeArrayList1.get(0);
-        PConcat pConcatNode2 = (PConcat)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PConcat> listNode1 = (List<PConcat>)popped1.get(0);
+        PConcat pConcatNode2 = (PConcat)popped2.get(0);
         List<PConcat> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5443,30 +5443,30 @@ public class Parser implements IParser
         {
             listNode3.add(pConcatNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new251() /* reduce ATerminal$UnExp */
     {
-        List<?> nodeArrayList1 = pop();
-        PUnExp pUnExpNode1 = (PUnExp)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PUnExp pUnExpNode1 = (PUnExp)popped1.get(0);
         List<PUnExp> listNode2;
         if(pUnExpNode1 != null) {
             listNode2 = Collections.singletonList(pUnExpNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new252() /* reduce ANonTerminal$UnExp */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PUnExp> listNode1 = (List<PUnExp>)nodeArrayList1.get(0);
-        PUnExp pUnExpNode2 = (PUnExp)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PUnExp> listNode1 = (List<PUnExp>)popped1.get(0);
+        PUnExp pUnExpNode2 = (PUnExp)popped2.get(0);
         List<PUnExp> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5477,30 +5477,30 @@ public class Parser implements IParser
         {
             listNode3.add(pUnExpNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new253() /* reduce ATerminal$Prod */
     {
-        List<?> nodeArrayList1 = pop();
-        PProd pProdNode1 = (PProd)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PProd pProdNode1 = (PProd)popped1.get(0);
         List<PProd> listNode2;
         if(pProdNode1 != null) {
             listNode2 = Collections.singletonList(pProdNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new254() /* reduce ANonTerminal$Prod */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PProd> listNode1 = (List<PProd>)nodeArrayList1.get(0);
-        PProd pProdNode2 = (PProd)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PProd> listNode1 = (List<PProd>)popped1.get(0);
+        PProd pProdNode2 = (PProd)popped2.get(0);
         List<PProd> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5511,30 +5511,30 @@ public class Parser implements IParser
         {
             listNode3.add(pProdNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new255() /* reduce ATerminal$Elem */
     {
-        List<?> nodeArrayList1 = pop();
-        PElem pElemNode1 = (PElem)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PElem pElemNode1 = (PElem)popped1.get(0);
         List<PElem> listNode2;
         if(pElemNode1 != null) {
             listNode2 = Collections.singletonList(pElemNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new256() /* reduce ANonTerminal$Elem */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PElem> listNode1 = (List<PElem>)nodeArrayList1.get(0);
-        PElem pElemNode2 = (PElem)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PElem> listNode1 = (List<PElem>)popped1.get(0);
+        PElem pElemNode2 = (PElem)popped2.get(0);
         List<PElem> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5545,30 +5545,30 @@ public class Parser implements IParser
         {
             listNode3.add(pElemNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new257() /* reduce ATerminal$AltsTail */
     {
-        List<?> nodeArrayList1 = pop();
-        PAlt pAltNode1 = (PAlt)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PAlt pAltNode1 = (PAlt)popped1.get(0);
         List<PAlt> listNode2;
         if(pAltNode1 != null) {
             listNode2 = Collections.singletonList(pAltNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new258() /* reduce ANonTerminal$AltsTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PAlt> listNode1 = (List<PAlt>)nodeArrayList1.get(0);
-        PAlt pAltNode2 = (PAlt)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PAlt> listNode1 = (List<PAlt>)popped1.get(0);
+        PAlt pAltNode2 = (PAlt)popped2.get(0);
         List<PAlt> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5579,30 +5579,30 @@ public class Parser implements IParser
         {
             listNode3.add(pAltNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new259() /* reduce ATerminal$Term */
     {
-        List<?> nodeArrayList1 = pop();
-        PTerm pTermNode1 = (PTerm)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PTerm pTermNode1 = (PTerm)popped1.get(0);
         List<PTerm> listNode2;
         if(pTermNode1 != null) {
             listNode2 = Collections.singletonList(pTermNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new260() /* reduce ANonTerminal$Term */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PTerm> listNode1 = (List<PTerm>)nodeArrayList1.get(0);
-        PTerm pTermNode2 = (PTerm)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PTerm> listNode1 = (List<PTerm>)popped1.get(0);
+        PTerm pTermNode2 = (PTerm)popped2.get(0);
         List<PTerm> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5613,30 +5613,30 @@ public class Parser implements IParser
         {
             listNode3.add(pTermNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new261() /* reduce ATerminal$ListTermTail */
     {
-        List<?> nodeArrayList1 = pop();
-        PListTerm pListTermNode1 = (PListTerm)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PListTerm pListTermNode1 = (PListTerm)popped1.get(0);
         List<PListTerm> listNode2;
         if(pListTermNode1 != null) {
             listNode2 = Collections.singletonList(pListTermNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new262() /* reduce ANonTerminal$ListTermTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PListTerm> listNode1 = (List<PListTerm>)nodeArrayList1.get(0);
-        PListTerm pListTermNode2 = (PListTerm)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PListTerm> listNode1 = (List<PListTerm>)popped1.get(0);
+        PListTerm pListTermNode2 = (PListTerm)popped2.get(0);
         List<PListTerm> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5647,30 +5647,30 @@ public class Parser implements IParser
         {
             listNode3.add(pListTermNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new263() /* reduce ATerminal$ParamsTail */
     {
-        List<?> nodeArrayList1 = pop();
-        PTerm pTermNode1 = (PTerm)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PTerm pTermNode1 = (PTerm)popped1.get(0);
         List<PTerm> listNode2;
         if(pTermNode1 != null) {
             listNode2 = Collections.singletonList(pTermNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new264() /* reduce ANonTerminal$ParamsTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PTerm> listNode1 = (List<PTerm>)nodeArrayList1.get(0);
-        PTerm pTermNode2 = (PTerm)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PTerm> listNode1 = (List<PTerm>)popped1.get(0);
+        PTerm pTermNode2 = (PTerm)popped2.get(0);
         List<PTerm> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5681,30 +5681,30 @@ public class Parser implements IParser
         {
             listNode3.add(pTermNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new265() /* reduce ATerminal$AstProd */
     {
-        List<?> nodeArrayList1 = pop();
-        PAstProd pAstProdNode1 = (PAstProd)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PAstProd pAstProdNode1 = (PAstProd)popped1.get(0);
         List<PAstProd> listNode2;
         if(pAstProdNode1 != null) {
             listNode2 = Collections.singletonList(pAstProdNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new266() /* reduce ANonTerminal$AstProd */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PAstProd> listNode1 = (List<PAstProd>)nodeArrayList1.get(0);
-        PAstProd pAstProdNode2 = (PAstProd)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PAstProd> listNode1 = (List<PAstProd>)popped1.get(0);
+        PAstProd pAstProdNode2 = (PAstProd)popped2.get(0);
         List<PAstProd> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5715,30 +5715,30 @@ public class Parser implements IParser
         {
             listNode3.add(pAstProdNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
     private List<?> new267() /* reduce ATerminal$AstAltsTail */
     {
-        List<?> nodeArrayList1 = pop();
-        PAstAlt pAstAltNode1 = (PAstAlt)nodeArrayList1.get(0);
+        List<?> popped1 = pop();
+        PAstAlt pAstAltNode1 = (PAstAlt)popped1.get(0);
         List<PAstAlt> listNode2;
         if(pAstAltNode1 != null) {
             listNode2 = Collections.singletonList(pAstAltNode1);
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, nodeArrayList1, nodeArrayList1);
+        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
     private List<?> new268() /* reduce ANonTerminal$AstAltsTail */
     {
-        List<?> nodeArrayList2 = pop();
-        List<?> nodeArrayList1 = pop();
-        List<PAstAlt> listNode1 = (List<PAstAlt>)nodeArrayList1.get(0);
-        PAstAlt pAstAltNode2 = (PAstAlt)nodeArrayList2.get(0);
+        List<?> popped2 = pop();
+        List<?> popped1 = pop();
+        List<PAstAlt> listNode1 = (List<PAstAlt>)popped1.get(0);
+        PAstAlt pAstAltNode2 = (PAstAlt)popped2.get(0);
         List<PAstAlt> listNode3;
         if (listNode1 instanceof LinkedList<?>) {
             listNode3 = listNode1;
@@ -5749,7 +5749,7 @@ public class Parser implements IParser
         {
             listNode3.add(pAstAltNode2);
         }
-        computePositions(listNode3, nodeArrayList1, nodeArrayList2);
+        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt
index af685dcd5f780d0e5e330fd2e1631c99905c8559..e013a9412cc4bc4eb6bf873e86a2541144aff435 100644
--- a/src/main/resources/org/sablecc/sablecc/parser.txt
+++ b/src/main/resources/org/sablecc/sablecc/parser.txt
@@ -270,12 +270,12 @@ Macro:ParserNewHeader
 $
 
 Macro:ParserNewBodyDecl
-        List<?> nodeArrayList$0$ = pop();
+        List<?> popped$0$ = pop();
 
 $
 
 Macro:ParserSimpleTerm
-        $0$ $1$ = ($0$)nodeArrayList$2$.get($3$);
+        $0$ $1$ = ($0$)popped$2$.get($3$);
 
 $
 
@@ -341,7 +341,7 @@ Macro:ParserTypedLinkedListAddAll
 $
 
 Macro:ParserNewComputePositions
-        computePositions($0$, nodeArrayList1, nodeArrayList$1$);
+        computePositions($0$, popped1, popped$1$);
 
 $