diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
index 0e6443849ba398fd0bad488e716e451633eb3482..ad93416ce2480dae241ad94f6511074844d90dbc 100644
--- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
+++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java
@@ -128,27 +128,18 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
       {
         macros.apply(file, "ParserNewTailEmpty", null);
       }
+      else if(node.getTerms().size() == 1)
+      {
+        macros.apply(file, "ParserNewTailSingle", new String[] {getVariableName(node.getTerms().get(0))});
+      }
       else
       {
-        PTerm firstTerm = node.getTerms().get(0);
-        if (popCount > 0) {
-          // 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)});
-        }
-
-        if(node.getTerms().size() == 1)
-        {
-          macros.apply(file, "ParserNewTailSingle", new String[] {getVariableName(firstTerm)});
-        }
-        else
+        macros.apply(file, "ParserNewTailMultiHead");
+        for(PTerm term : node.getTerms())
         {
-          macros.apply(file, "ParserNewTailMultiHead");
-          for(PTerm term : node.getTerms())
-          {
-            macros.apply(file, "ParserNewTailMultiElement", new String[] {getVariableName(term)});
-          }
-          macros.apply(file, "ParserNewTailMultiTail");
+          macros.apply(file, "ParserNewTailMultiElement", new String[] {getVariableName(term)});
         }
+        macros.apply(file, "ParserNewTailMultiTail");
       }
     }
     catch(IOException e)
@@ -343,7 +334,8 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
         param.apply(this);
       }
 
-      macros.apply(file, "ParserNewBodyNew", new String[] {newAltName, getVariableName(node)});
+      String destVariableName = getVariableName(node);
+      macros.apply(file, "ParserNewBodyNew", new String[] {newAltName, destVariableName});
 
       if(!params.isEmpty())
       {
@@ -357,6 +349,11 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
         }
       }
       macros.apply(file, "ParserNewBodyNewTail");
+      if (popCount > 0) {
+        // 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[] {destVariableName, String.valueOf(popCount)});
+      }
+      file.newLine();
     }
     catch(IOException e)
     {
diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java
index 4e8186599d79d0dcd32394e09402c98f5ac75c80..12978866fac06298d027808e3654c24ffc593e89 100644
--- a/src/main/java/org/sablecc/sablecc/parser/Parser.java
+++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java
@@ -1865,8 +1865,8 @@ public class Parser implements IParser
         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, popped1, popped1);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1875,8 +1875,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PHelpers pHelpersNode3 = (PHelpers)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), pHelpersNode3, null, null, null, null, null);
-
         computePositions(pGrammarNode1, popped1, popped1);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1888,8 +1888,8 @@ public class Parser implements IParser
         List<TPkgId> listNode3 = listNode2;
         PHelpers pHelpersNode4 = (PHelpers)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, pHelpersNode4, null, null, null, null, null);
-
         computePositions(pGrammarNode1, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1898,8 +1898,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PStates pStatesNode4 = (PStates)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, pStatesNode4, null, null, null, null);
-
         computePositions(pGrammarNode1, popped1, popped1);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1911,8 +1911,8 @@ public class Parser implements IParser
         List<TPkgId> listNode3 = listNode2;
         PStates pStatesNode5 = (PStates)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, pStatesNode5, null, null, null, null);
-
         computePositions(pGrammarNode1, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1923,8 +1923,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1938,8 +1938,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1948,8 +1948,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PTokens pTokensNode5 = (PTokens)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, pTokensNode5, null, null, null);
-
         computePositions(pGrammarNode1, popped1, popped1);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1961,8 +1961,8 @@ public class Parser implements IParser
         List<TPkgId> listNode3 = listNode2;
         PTokens pTokensNode6 = (PTokens)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, pTokensNode6, null, null, null);
-
         computePositions(pGrammarNode1, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1973,8 +1973,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -1988,8 +1988,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2000,8 +2000,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2015,8 +2015,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2029,8 +2029,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2046,8 +2046,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2056,8 +2056,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PIgnTokens pIgnTokensNode6 = (PIgnTokens)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, pIgnTokensNode6, null, null);
-
         computePositions(pGrammarNode1, popped1, popped1);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2069,8 +2069,8 @@ public class Parser implements IParser
         List<TPkgId> listNode3 = listNode2;
         PIgnTokens pIgnTokensNode7 = (PIgnTokens)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, pIgnTokensNode7, null, null);
-
         computePositions(pGrammarNode1, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2081,8 +2081,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2096,8 +2096,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2108,8 +2108,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2123,8 +2123,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2137,8 +2137,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2154,8 +2154,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2166,8 +2166,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2181,8 +2181,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2195,8 +2195,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2212,8 +2212,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2226,8 +2226,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2243,8 +2243,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2259,8 +2259,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2278,8 +2278,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2288,8 +2288,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PProductions pProductionsNode7 = (PProductions)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, pProductionsNode7, null);
-
         computePositions(pGrammarNode1, popped1, popped1);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2301,8 +2301,8 @@ public class Parser implements IParser
         List<TPkgId> listNode3 = listNode2;
         PProductions pProductionsNode8 = (PProductions)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, pProductionsNode8, null);
-
         computePositions(pGrammarNode1, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2313,8 +2313,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2328,8 +2328,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2340,8 +2340,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2355,8 +2355,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2369,8 +2369,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2386,8 +2386,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2398,8 +2398,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2413,8 +2413,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2427,8 +2427,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2444,8 +2444,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2458,8 +2458,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2475,8 +2475,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2491,8 +2491,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2510,8 +2510,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2522,8 +2522,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2537,8 +2537,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2551,8 +2551,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2568,8 +2568,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2582,8 +2582,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2599,8 +2599,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2615,8 +2615,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2634,8 +2634,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2648,8 +2648,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2665,8 +2665,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2681,8 +2681,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2700,8 +2700,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2716,8 +2716,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2735,8 +2735,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2753,8 +2753,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2774,8 +2774,8 @@ public class Parser implements IParser
         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, popped1, popped6);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2784,8 +2784,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PAst pAstNode8 = (PAst)popped1.get(0);
         AGrammar pGrammarNode1 = new AGrammar(Collections.emptyList(), null, null, null, null, null, pAstNode8);
-
         computePositions(pGrammarNode1, popped1, popped1);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2797,8 +2797,8 @@ public class Parser implements IParser
         List<TPkgId> listNode3 = listNode2;
         PAst pAstNode9 = (PAst)popped2.get(0);
         AGrammar pGrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, pAstNode9);
-
         computePositions(pGrammarNode1, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2809,8 +2809,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2824,8 +2824,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2836,8 +2836,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2851,8 +2851,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2865,8 +2865,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2882,8 +2882,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2894,8 +2894,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2909,8 +2909,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2923,8 +2923,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2940,8 +2940,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2954,8 +2954,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2971,8 +2971,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -2987,8 +2987,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3006,8 +3006,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3018,8 +3018,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3033,8 +3033,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3047,8 +3047,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3064,8 +3064,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3078,8 +3078,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3095,8 +3095,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3111,8 +3111,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3130,8 +3130,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3144,8 +3144,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3161,8 +3161,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3177,8 +3177,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3196,8 +3196,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3212,8 +3212,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3231,8 +3231,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3249,8 +3249,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3270,8 +3270,8 @@ public class Parser implements IParser
         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, popped1, popped6);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3282,8 +3282,8 @@ public class Parser implements IParser
         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, popped1, popped2);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3297,8 +3297,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3311,8 +3311,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3328,8 +3328,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3342,8 +3342,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3359,8 +3359,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3375,8 +3375,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3394,8 +3394,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3408,8 +3408,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3425,8 +3425,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3441,8 +3441,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3460,8 +3460,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3476,8 +3476,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3495,8 +3495,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3513,8 +3513,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3534,8 +3534,8 @@ public class Parser implements IParser
         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, popped1, popped6);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3548,8 +3548,8 @@ public class Parser implements IParser
         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, popped1, popped3);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3565,8 +3565,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3581,8 +3581,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3600,8 +3600,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3616,8 +3616,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3635,8 +3635,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3653,8 +3653,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3674,8 +3674,8 @@ public class Parser implements IParser
         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, popped1, popped6);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3690,8 +3690,8 @@ public class Parser implements IParser
         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, popped1, popped4);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3709,8 +3709,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3727,8 +3727,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3748,8 +3748,8 @@ public class Parser implements IParser
         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, popped1, popped6);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3766,8 +3766,8 @@ public class Parser implements IParser
         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, popped1, popped5);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3787,8 +3787,8 @@ public class Parser implements IParser
         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, popped1, popped6);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3807,8 +3807,8 @@ public class Parser implements IParser
         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, popped1, popped6);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3830,8 +3830,8 @@ public class Parser implements IParser
         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, popped1, popped7);
+
         return Collections.singletonList(pGrammarNode1);
     }
 
@@ -3841,7 +3841,6 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         List<TPkgId> listNode1 = (List<TPkgId>)popped2.get(0);
         List<TPkgId> listNode2 = listNode1;
-        computePositions(listNode2, popped1, popped2);
         return Collections.singletonList(listNode2);
     }
 
@@ -3856,7 +3855,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped2);
         return Collections.singletonList(listNode2);
     }
 
@@ -3877,7 +3875,6 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, popped1, popped3);
         return Collections.singletonList(listNode3);
     }
 
@@ -3886,7 +3883,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         TPkgId tPkgIdNode1 = (TPkgId)popped2.get(0);
-        computePositions(tPkgIdNode1, popped1, popped2);
         return Collections.singletonList(tPkgIdNode1);
     }
 
@@ -3897,8 +3893,8 @@ public class Parser implements IParser
         List<PHelperDef> listNode2 = (List<PHelperDef>)popped2.get(0);
         List<PHelperDef> listNode3 = listNode2;
         AHelpers pHelpersNode1 = new AHelpers(listNode3);
-
         computePositions(pHelpersNode1, popped1, popped2);
+
         return Collections.singletonList(pHelpersNode1);
     }
 
@@ -3911,8 +3907,8 @@ public class Parser implements IParser
         TId tIdNode2 = (TId)popped1.get(0);
         PRegExp pRegExpNode3 = (PRegExp)popped3.get(0);
         AHelperDef pHelperDefNode1 = new AHelperDef(tIdNode2, pRegExpNode3);
-
         computePositions(pHelperDefNode1, popped1, popped4);
+
         return Collections.singletonList(pHelperDefNode1);
     }
 
@@ -3924,8 +3920,8 @@ public class Parser implements IParser
         List<TId> listNode2 = (List<TId>)popped2.get(0);
         List<TId> listNode3 = listNode2;
         AStates pStatesNode1 = new AStates(listNode3);
-
         computePositions(pStatesNode1, popped1, popped3);
+
         return Collections.singletonList(pStatesNode1);
     }
 
@@ -3939,7 +3935,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -3959,7 +3954,6 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -3968,7 +3962,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         TId tIdNode1 = (TId)popped2.get(0);
-        computePositions(tIdNode1, popped1, popped2);
         return Collections.singletonList(tIdNode1);
     }
 
@@ -3979,8 +3972,8 @@ public class Parser implements IParser
         List<PTokenDef> listNode2 = (List<PTokenDef>)popped2.get(0);
         List<PTokenDef> listNode3 = listNode2;
         ATokens pTokensNode1 = new ATokens(listNode3);
-
         computePositions(pTokensNode1, popped1, popped2);
+
         return Collections.singletonList(pTokensNode1);
     }
 
@@ -3993,8 +3986,8 @@ public class Parser implements IParser
         TId tIdNode3 = (TId)popped1.get(0);
         PRegExp pRegExpNode4 = (PRegExp)popped3.get(0);
         ATokenDef pTokenDefNode1 = new ATokenDef(null, tIdNode3, pRegExpNode4, null, null);
-
         computePositions(pTokenDefNode1, popped1, popped4);
+
         return Collections.singletonList(pTokenDefNode1);
     }
 
@@ -4009,8 +4002,8 @@ public class Parser implements IParser
         TId tIdNode3 = (TId)popped2.get(0);
         PRegExp pRegExpNode4 = (PRegExp)popped4.get(0);
         ATokenDef pTokenDefNode1 = new ATokenDef(pStateListNode2, tIdNode3, pRegExpNode4, null, null);
-
         computePositions(pTokenDefNode1, popped1, popped5);
+
         return Collections.singletonList(pTokenDefNode1);
     }
 
@@ -4026,8 +4019,8 @@ public class Parser implements IParser
         TSlash tSlashNode5 = (TSlash)popped4.get(0);
         PRegExp pRegExpNode6 = (PRegExp)popped4.get(1);
         ATokenDef pTokenDefNode1 = new ATokenDef(null, tIdNode3, pRegExpNode4, tSlashNode5, pRegExpNode6);
-
         computePositions(pTokenDefNode1, popped1, popped5);
+
         return Collections.singletonList(pTokenDefNode1);
     }
 
@@ -4045,8 +4038,8 @@ public class Parser implements IParser
         TSlash tSlashNode5 = (TSlash)popped5.get(0);
         PRegExp pRegExpNode6 = (PRegExp)popped5.get(1);
         ATokenDef pTokenDefNode1 = new ATokenDef(pStateListNode2, tIdNode3, pRegExpNode4, tSlashNode5, pRegExpNode6);
-
         computePositions(pTokenDefNode1, popped1, popped6);
+
         return Collections.singletonList(pTokenDefNode1);
     }
 
@@ -4057,8 +4050,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode2 = (TId)popped2.get(0);
         AStateList pStateListNode1 = new AStateList(tIdNode2, null, Collections.emptyList());
-
         computePositions(pStateListNode1, popped1, popped3);
+
         return Collections.singletonList(pStateListNode1);
     }
 
@@ -4071,8 +4064,8 @@ public class Parser implements IParser
         TId tIdNode2 = (TId)popped2.get(0);
         PTransition pTransitionNode3 = (PTransition)popped3.get(0);
         AStateList pStateListNode1 = new AStateList(tIdNode2, pTransitionNode3, Collections.emptyList());
-
         computePositions(pStateListNode1, popped1, popped4);
+
         return Collections.singletonList(pStateListNode1);
     }
 
@@ -4086,8 +4079,8 @@ public class Parser implements IParser
         List<PStateListTail> listNode4 = (List<PStateListTail>)popped3.get(0);
         List<PStateListTail> listNode5 = listNode4;
         AStateList pStateListNode1 = new AStateList(tIdNode2, null, listNode5);
-
         computePositions(pStateListNode1, popped1, popped4);
+
         return Collections.singletonList(pStateListNode1);
     }
 
@@ -4103,8 +4096,8 @@ public class Parser implements IParser
         List<PStateListTail> listNode4 = (List<PStateListTail>)popped4.get(0);
         List<PStateListTail> listNode5 = listNode4;
         AStateList pStateListNode1 = new AStateList(tIdNode2, pTransitionNode3, listNode5);
-
         computePositions(pStateListNode1, popped1, popped5);
+
         return Collections.singletonList(pStateListNode1);
     }
 
@@ -4114,8 +4107,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode2 = (TId)popped2.get(0);
         AStateListTail pStateListTailNode1 = new AStateListTail(tIdNode2, null);
-
         computePositions(pStateListTailNode1, popped1, popped2);
+
         return Collections.singletonList(pStateListTailNode1);
     }
 
@@ -4127,8 +4120,8 @@ public class Parser implements IParser
         TId tIdNode2 = (TId)popped2.get(0);
         PTransition pTransitionNode3 = (PTransition)popped3.get(0);
         AStateListTail pStateListTailNode1 = new AStateListTail(tIdNode2, pTransitionNode3);
-
         computePositions(pStateListTailNode1, popped1, popped3);
+
         return Collections.singletonList(pStateListTailNode1);
     }
 
@@ -4138,8 +4131,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode2 = (TId)popped2.get(0);
         ATransition pTransitionNode1 = new ATransition(tIdNode2);
-
         computePositions(pTransitionNode1, popped1, popped2);
+
         return Collections.singletonList(pTransitionNode1);
     }
 
@@ -4149,8 +4142,8 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         AIgnTokens pIgnTokensNode1 = new AIgnTokens(Collections.emptyList());
-
         computePositions(pIgnTokensNode1, popped1, popped3);
+
         return Collections.singletonList(pIgnTokensNode1);
     }
 
@@ -4163,8 +4156,8 @@ public class Parser implements IParser
         List<TId> listNode2 = (List<TId>)popped3.get(0);
         List<TId> listNode3 = listNode2;
         AIgnTokens pIgnTokensNode1 = new AIgnTokens(listNode3);
-
         computePositions(pIgnTokensNode1, popped1, popped4);
+
         return Collections.singletonList(pIgnTokensNode1);
     }
 
@@ -4174,7 +4167,6 @@ public class Parser implements IParser
         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,
@@ -4192,8 +4184,8 @@ public class Parser implements IParser
             listNode3 = Collections.emptyList();
         }
         ARegExp pRegExpNode1 = new ARegExp(listNode3);
-
         computePositions(pRegExpNode1, popped1, popped1);
+
         return Collections.singletonList(pRegExpNode1);
     }
 
@@ -4214,8 +4206,8 @@ public class Parser implements IParser
             listNode4.addAll(listNode3);
         }
         ARegExp pRegExpNode1 = new ARegExp(listNode4);
-
         computePositions(pRegExpNode1, popped1, popped2);
+
         return Collections.singletonList(pRegExpNode1);
     }
 
@@ -4224,7 +4216,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         PConcat pConcatNode1 = (PConcat)popped2.get(0);
-        computePositions(pConcatNode1, popped1, popped2);
         return Collections.singletonList(pConcatNode1);
     }
 
@@ -4241,8 +4232,8 @@ public class Parser implements IParser
         List<PUnExp> listNode2 = (List<PUnExp>)popped1.get(0);
         List<PUnExp> listNode3 = listNode2;
         AConcat pConcatNode1 = new AConcat(listNode3);
-
         computePositions(pConcatNode1, popped1, popped1);
+
         return Collections.singletonList(pConcatNode1);
     }
 
@@ -4251,8 +4242,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PBasic pBasicNode2 = (PBasic)popped1.get(0);
         AUnExp pUnExpNode1 = new AUnExp(pBasicNode2, null);
-
         computePositions(pUnExpNode1, popped1, popped1);
+
         return Collections.singletonList(pUnExpNode1);
     }
 
@@ -4263,8 +4254,8 @@ public class Parser implements IParser
         PBasic pBasicNode2 = (PBasic)popped1.get(0);
         PUnOp pUnOpNode3 = (PUnOp)popped2.get(0);
         AUnExp pUnExpNode1 = new AUnExp(pBasicNode2, pUnOpNode3);
-
         computePositions(pUnExpNode1, popped1, popped2);
+
         return Collections.singletonList(pUnExpNode1);
     }
 
@@ -4273,8 +4264,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PChar pCharNode2 = (PChar)popped1.get(0);
         ACharBasic pBasicNode1 = new ACharBasic(pCharNode2);
-
         computePositions(pBasicNode1, popped1, popped1);
+
         return Collections.singletonList(pBasicNode1);
     }
 
@@ -4283,8 +4274,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PSet pSetNode2 = (PSet)popped1.get(0);
         ASetBasic pBasicNode1 = new ASetBasic(pSetNode2);
-
         computePositions(pBasicNode1, popped1, popped1);
+
         return Collections.singletonList(pBasicNode1);
     }
 
@@ -4293,8 +4284,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TString tStringNode2 = (TString)popped1.get(0);
         AStringBasic pBasicNode1 = new AStringBasic(tStringNode2);
-
         computePositions(pBasicNode1, popped1, popped1);
+
         return Collections.singletonList(pBasicNode1);
     }
 
@@ -4303,8 +4294,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode2 = (TId)popped1.get(0);
         AIdBasic pBasicNode1 = new AIdBasic(tIdNode2);
-
         computePositions(pBasicNode1, popped1, popped1);
+
         return Collections.singletonList(pBasicNode1);
     }
 
@@ -4315,8 +4306,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PRegExp pRegExpNode2 = (PRegExp)popped2.get(0);
         ARegExpBasic pBasicNode1 = new ARegExpBasic(pRegExpNode2);
-
         computePositions(pBasicNode1, popped1, popped3);
+
         return Collections.singletonList(pBasicNode1);
     }
 
@@ -4325,8 +4316,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TChar tCharNode2 = (TChar)popped1.get(0);
         ACharChar pCharNode1 = new ACharChar(tCharNode2);
-
         computePositions(pCharNode1, popped1, popped1);
+
         return Collections.singletonList(pCharNode1);
     }
 
@@ -4335,8 +4326,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TDecChar tDecCharNode2 = (TDecChar)popped1.get(0);
         ADecChar pCharNode1 = new ADecChar(tDecCharNode2);
-
         computePositions(pCharNode1, popped1, popped1);
+
         return Collections.singletonList(pCharNode1);
     }
 
@@ -4345,8 +4336,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         THexChar tHexCharNode2 = (THexChar)popped1.get(0);
         AHexChar pCharNode1 = new AHexChar(tHexCharNode2);
-
         computePositions(pCharNode1, popped1, popped1);
+
         return Collections.singletonList(pCharNode1);
     }
 
@@ -4361,8 +4352,8 @@ public class Parser implements IParser
         PBinOp pBinOpNode3 = (PBinOp)popped3.get(0);
         PBasic pBasicNode4 = (PBasic)popped4.get(0);
         AOperationSet pSetNode1 = new AOperationSet(pBasicNode2, pBinOpNode3, pBasicNode4);
-
         computePositions(pSetNode1, popped1, popped5);
+
         return Collections.singletonList(pSetNode1);
     }
 
@@ -4376,8 +4367,8 @@ public class Parser implements IParser
         PChar pCharNode2 = (PChar)popped2.get(0);
         PChar pCharNode3 = (PChar)popped4.get(0);
         AIntervalSet pSetNode1 = new AIntervalSet(pCharNode2, pCharNode3);
-
         computePositions(pSetNode1, popped1, popped5);
+
         return Collections.singletonList(pSetNode1);
     }
 
@@ -4386,8 +4377,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TStar tStarNode2 = (TStar)popped1.get(0);
         AStarUnOp pUnOpNode1 = new AStarUnOp(tStarNode2);
-
         computePositions(pUnOpNode1, popped1, popped1);
+
         return Collections.singletonList(pUnOpNode1);
     }
 
@@ -4396,8 +4387,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TQMark tQMarkNode2 = (TQMark)popped1.get(0);
         AQMarkUnOp pUnOpNode1 = new AQMarkUnOp(tQMarkNode2);
-
         computePositions(pUnOpNode1, popped1, popped1);
+
         return Collections.singletonList(pUnOpNode1);
     }
 
@@ -4406,8 +4397,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TPlus tPlusNode2 = (TPlus)popped1.get(0);
         APlusUnOp pUnOpNode1 = new APlusUnOp(tPlusNode2);
-
         computePositions(pUnOpNode1, popped1, popped1);
+
         return Collections.singletonList(pUnOpNode1);
     }
 
@@ -4415,8 +4406,8 @@ public class Parser implements IParser
     {
         List<?> popped1 = pop();
         APlusBinOp pBinOpNode1 = new APlusBinOp();
-
         computePositions(pBinOpNode1, popped1, popped1);
+
         return Collections.singletonList(pBinOpNode1);
     }
 
@@ -4424,8 +4415,8 @@ public class Parser implements IParser
     {
         List<?> popped1 = pop();
         AMinusBinOp pBinOpNode1 = new AMinusBinOp();
-
         computePositions(pBinOpNode1, popped1, popped1);
+
         return Collections.singletonList(pBinOpNode1);
     }
 
@@ -4436,8 +4427,8 @@ public class Parser implements IParser
         List<PProd> listNode2 = (List<PProd>)popped2.get(0);
         List<PProd> listNode3 = listNode2;
         AProductions pProductionsNode1 = new AProductions(listNode3);
-
         computePositions(pProductionsNode1, popped1, popped2);
+
         return Collections.singletonList(pProductionsNode1);
     }
 
@@ -4451,8 +4442,8 @@ public class Parser implements IParser
         List<PAlt> listNode5 = (List<PAlt>)popped3.get(0);
         List<PAlt> listNode6 = listNode5;
         AProd pProdNode1 = new AProd(tIdNode2, null, Collections.emptyList(), listNode6);
-
         computePositions(pProdNode1, popped1, popped4);
+
         return Collections.singletonList(pProdNode1);
     }
 
@@ -4470,8 +4461,8 @@ public class Parser implements IParser
         List<PAlt> listNode6 = (List<PAlt>)popped4.get(0);
         List<PAlt> listNode7 = listNode6;
         AProd pProdNode1 = new AProd(tIdNode2, tArrowNode3, listNode5, listNode7);
-
         computePositions(pProdNode1, popped1, popped5);
+
         return Collections.singletonList(pProdNode1);
     }
 
@@ -4481,7 +4472,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         TArrow tArrowNode1 = (TArrow)popped2.get(0);
-        computePositions(tArrowNode1, popped1, popped3);
         return Arrays.asList(new Object[] {
             tArrowNode1,
             Collections.emptyList(),
@@ -4497,7 +4487,6 @@ public class Parser implements IParser
         TArrow tArrowNode1 = (TArrow)popped2.get(0);
         List<PElem> listNode2 = (List<PElem>)popped3.get(0);
         List<PElem> listNode3 = listNode2;
-        computePositions(tArrowNode1, popped1, popped4);
         return Arrays.asList(new Object[] {
             tArrowNode1,
             listNode3,
@@ -4514,7 +4503,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -4534,7 +4522,6 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -4543,7 +4530,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         PAlt pAltNode1 = (PAlt)popped2.get(0);
-        computePositions(pAltNode1, popped1, popped2);
         return Collections.singletonList(pAltNode1);
     }
 
@@ -4559,8 +4545,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode2 = (TId)popped1.get(0);
         AAlt pAltNode1 = new AAlt(tIdNode2, Collections.emptyList(), null);
-
         computePositions(pAltNode1, popped1, popped1);
+
         return Collections.singletonList(pAltNode1);
     }
 
@@ -4570,8 +4556,8 @@ public class Parser implements IParser
         List<PElem> listNode3 = (List<PElem>)popped1.get(0);
         List<PElem> listNode4 = listNode3;
         AAlt pAltNode1 = new AAlt(null, listNode4, null);
-
         computePositions(pAltNode1, popped1, popped1);
+
         return Collections.singletonList(pAltNode1);
     }
 
@@ -4583,8 +4569,8 @@ public class Parser implements IParser
         List<PElem> listNode3 = (List<PElem>)popped2.get(0);
         List<PElem> listNode4 = listNode3;
         AAlt pAltNode1 = new AAlt(tIdNode2, listNode4, null);
-
         computePositions(pAltNode1, popped1, popped2);
+
         return Collections.singletonList(pAltNode1);
     }
 
@@ -4593,8 +4579,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         PAltTransform pAltTransformNode4 = (PAltTransform)popped1.get(0);
         AAlt pAltNode1 = new AAlt(null, Collections.emptyList(), pAltTransformNode4);
-
         computePositions(pAltNode1, popped1, popped1);
+
         return Collections.singletonList(pAltNode1);
     }
 
@@ -4605,8 +4591,8 @@ public class Parser implements IParser
         TId tIdNode2 = (TId)popped1.get(0);
         PAltTransform pAltTransformNode4 = (PAltTransform)popped2.get(0);
         AAlt pAltNode1 = new AAlt(tIdNode2, Collections.emptyList(), pAltTransformNode4);
-
         computePositions(pAltNode1, popped1, popped2);
+
         return Collections.singletonList(pAltNode1);
     }
 
@@ -4618,8 +4604,8 @@ public class Parser implements IParser
         List<PElem> listNode4 = listNode3;
         PAltTransform pAltTransformNode5 = (PAltTransform)popped2.get(0);
         AAlt pAltNode1 = new AAlt(null, listNode4, pAltTransformNode5);
-
         computePositions(pAltNode1, popped1, popped2);
+
         return Collections.singletonList(pAltNode1);
     }
 
@@ -4633,8 +4619,8 @@ public class Parser implements IParser
         List<PElem> listNode4 = listNode3;
         PAltTransform pAltTransformNode5 = (PAltTransform)popped3.get(0);
         AAlt pAltNode1 = new AAlt(tIdNode2, listNode4, pAltTransformNode5);
-
         computePositions(pAltNode1, popped1, popped3);
+
         return Collections.singletonList(pAltNode1);
     }
 
@@ -4646,8 +4632,8 @@ public class Parser implements IParser
         TLBrace tLBraceNode2 = (TLBrace)popped1.get(0);
         TRBrace tRBraceNode4 = (TRBrace)popped3.get(0);
         AAltTransform pAltTransformNode1 = new AAltTransform(tLBraceNode2, Collections.emptyList(), tRBraceNode4);
-
         computePositions(pAltTransformNode1, popped1, popped3);
+
         return Collections.singletonList(pAltTransformNode1);
     }
 
@@ -4662,8 +4648,8 @@ public class Parser implements IParser
         List<PTerm> listNode4 = listNode3;
         TRBrace tRBraceNode5 = (TRBrace)popped4.get(0);
         AAltTransform pAltTransformNode1 = new AAltTransform(tLBraceNode2, listNode4, tRBraceNode5);
-
         computePositions(pAltTransformNode1, popped1, popped4);
+
         return Collections.singletonList(pAltTransformNode1);
     }
 
@@ -4676,8 +4662,8 @@ public class Parser implements IParser
         PProdName pProdNameNode2 = (PProdName)popped2.get(0);
         TLPar tLParNode3 = (TLPar)popped3.get(0);
         ANewTerm pTermNode1 = new ANewTerm(pProdNameNode2, tLParNode3, Collections.emptyList());
-
         computePositions(pTermNode1, popped1, popped4);
+
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4693,8 +4679,8 @@ public class Parser implements IParser
         List<PTerm> listNode4 = (List<PTerm>)popped4.get(0);
         List<PTerm> listNode5 = listNode4;
         ANewTerm pTermNode1 = new ANewTerm(pProdNameNode2, tLParNode3, listNode5);
-
         computePositions(pTermNode1, popped1, popped5);
+
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4704,8 +4690,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TLBkt tLBktNode2 = (TLBkt)popped1.get(0);
         AListTerm pTermNode1 = new AListTerm(tLBktNode2, Collections.emptyList());
-
         computePositions(pTermNode1, popped1, popped2);
+
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4718,8 +4704,8 @@ public class Parser implements IParser
         List<PListTerm> listNode3 = (List<PListTerm>)popped2.get(0);
         List<PListTerm> listNode4 = listNode3;
         AListTerm pTermNode1 = new AListTerm(tLBktNode2, listNode4);
-
         computePositions(pTermNode1, popped1, popped3);
+
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4728,8 +4714,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode3 = (TId)popped1.get(0);
         ASimpleTerm pTermNode1 = new ASimpleTerm(null, tIdNode3, null);
-
         computePositions(pTermNode1, popped1, popped1);
+
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4740,8 +4726,8 @@ public class Parser implements IParser
         PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0);
         TId tIdNode3 = (TId)popped2.get(0);
         ASimpleTerm pTermNode1 = new ASimpleTerm(pSpecifierNode2, tIdNode3, null);
-
         computePositions(pTermNode1, popped1, popped2);
+
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4752,8 +4738,8 @@ public class Parser implements IParser
         TId tIdNode3 = (TId)popped1.get(0);
         TId tIdNode4 = (TId)popped2.get(0);
         ASimpleTerm pTermNode1 = new ASimpleTerm(null, tIdNode3, tIdNode4);
-
         computePositions(pTermNode1, popped1, popped2);
+
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4766,8 +4752,8 @@ public class Parser implements IParser
         TId tIdNode3 = (TId)popped2.get(0);
         TId tIdNode4 = (TId)popped3.get(0);
         ASimpleTerm pTermNode1 = new ASimpleTerm(pSpecifierNode2, tIdNode3, tIdNode4);
-
         computePositions(pTermNode1, popped1, popped3);
+
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4775,8 +4761,8 @@ public class Parser implements IParser
     {
         List<?> popped1 = pop();
         ANullTerm pTermNode1 = new ANullTerm();
-
         computePositions(pTermNode1, popped1, popped1);
+
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4790,7 +4776,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -4810,7 +4795,6 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -4823,8 +4807,8 @@ public class Parser implements IParser
         PProdName pProdNameNode2 = (PProdName)popped2.get(0);
         TLPar tLParNode3 = (TLPar)popped3.get(0);
         ANewListTerm pListTermNode1 = new ANewListTerm(pProdNameNode2, tLParNode3, Collections.emptyList());
-
         computePositions(pListTermNode1, popped1, popped4);
+
         return Collections.singletonList(pListTermNode1);
     }
 
@@ -4840,8 +4824,8 @@ public class Parser implements IParser
         List<PTerm> listNode4 = (List<PTerm>)popped4.get(0);
         List<PTerm> listNode5 = listNode4;
         ANewListTerm pListTermNode1 = new ANewListTerm(pProdNameNode2, tLParNode3, listNode5);
-
         computePositions(pListTermNode1, popped1, popped5);
+
         return Collections.singletonList(pListTermNode1);
     }
 
@@ -4850,8 +4834,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode3 = (TId)popped1.get(0);
         ASimpleListTerm pListTermNode1 = new ASimpleListTerm(null, tIdNode3, null);
-
         computePositions(pListTermNode1, popped1, popped1);
+
         return Collections.singletonList(pListTermNode1);
     }
 
@@ -4862,8 +4846,8 @@ public class Parser implements IParser
         PSpecifier pSpecifierNode2 = (PSpecifier)popped1.get(0);
         TId tIdNode3 = (TId)popped2.get(0);
         ASimpleListTerm pListTermNode1 = new ASimpleListTerm(pSpecifierNode2, tIdNode3, null);
-
         computePositions(pListTermNode1, popped1, popped2);
+
         return Collections.singletonList(pListTermNode1);
     }
 
@@ -4874,8 +4858,8 @@ public class Parser implements IParser
         TId tIdNode3 = (TId)popped1.get(0);
         TId tIdNode4 = (TId)popped2.get(0);
         ASimpleListTerm pListTermNode1 = new ASimpleListTerm(null, tIdNode3, tIdNode4);
-
         computePositions(pListTermNode1, popped1, popped2);
+
         return Collections.singletonList(pListTermNode1);
     }
 
@@ -4888,8 +4872,8 @@ public class Parser implements IParser
         TId tIdNode3 = (TId)popped2.get(0);
         TId tIdNode4 = (TId)popped3.get(0);
         ASimpleListTerm pListTermNode1 = new ASimpleListTerm(pSpecifierNode2, tIdNode3, tIdNode4);
-
         computePositions(pListTermNode1, popped1, popped3);
+
         return Collections.singletonList(pListTermNode1);
     }
 
@@ -4898,7 +4882,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         PListTerm pListTermNode1 = (PListTerm)popped2.get(0);
-        computePositions(pListTermNode1, popped1, popped2);
         return Collections.singletonList(pListTermNode1);
     }
 
@@ -4907,7 +4890,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         TId tIdNode1 = (TId)popped2.get(0);
-        computePositions(tIdNode1, popped1, popped2);
         return Collections.singletonList(tIdNode1);
     }
 
@@ -4916,8 +4898,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode2 = (TId)popped1.get(0);
         AProdName pProdNameNode1 = new AProdName(tIdNode2, null);
-
         computePositions(pProdNameNode1, popped1, popped1);
+
         return Collections.singletonList(pProdNameNode1);
     }
 
@@ -4928,8 +4910,8 @@ public class Parser implements IParser
         TId tIdNode2 = (TId)popped1.get(0);
         TId tIdNode3 = (TId)popped2.get(0);
         AProdName pProdNameNode1 = new AProdName(tIdNode2, tIdNode3);
-
         computePositions(pProdNameNode1, popped1, popped2);
+
         return Collections.singletonList(pProdNameNode1);
     }
 
@@ -4938,7 +4920,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         TId tIdNode1 = (TId)popped2.get(0);
-        computePositions(tIdNode1, popped1, popped2);
         return Collections.singletonList(tIdNode1);
     }
 
@@ -4952,7 +4933,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -4972,7 +4952,6 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -4981,7 +4960,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         PTerm pTermNode1 = (PTerm)popped2.get(0);
-        computePositions(pTermNode1, popped1, popped2);
         return Collections.singletonList(pTermNode1);
     }
 
@@ -4991,7 +4969,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         TId tIdNode1 = (TId)popped2.get(0);
-        computePositions(tIdNode1, popped1, popped3);
         return Collections.singletonList(tIdNode1);
     }
 
@@ -5000,8 +4977,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode4 = (TId)popped1.get(0);
         AElem pElemNode1 = new AElem(null, null, tIdNode4, null);
-
         computePositions(pElemNode1, popped1, popped1);
+
         return Collections.singletonList(pElemNode1);
     }
 
@@ -5012,8 +4989,8 @@ public class Parser implements IParser
         TId tIdNode2 = (TId)popped1.get(0);
         TId tIdNode4 = (TId)popped2.get(0);
         AElem pElemNode1 = new AElem(tIdNode2, null, tIdNode4, null);
-
         computePositions(pElemNode1, popped1, popped2);
+
         return Collections.singletonList(pElemNode1);
     }
 
@@ -5024,8 +5001,8 @@ public class Parser implements IParser
         PSpecifier pSpecifierNode3 = (PSpecifier)popped1.get(0);
         TId tIdNode4 = (TId)popped2.get(0);
         AElem pElemNode1 = new AElem(null, pSpecifierNode3, tIdNode4, null);
-
         computePositions(pElemNode1, popped1, popped2);
+
         return Collections.singletonList(pElemNode1);
     }
 
@@ -5038,8 +5015,8 @@ public class Parser implements IParser
         PSpecifier pSpecifierNode3 = (PSpecifier)popped2.get(0);
         TId tIdNode4 = (TId)popped3.get(0);
         AElem pElemNode1 = new AElem(tIdNode2, pSpecifierNode3, tIdNode4, null);
-
         computePositions(pElemNode1, popped1, popped3);
+
         return Collections.singletonList(pElemNode1);
     }
 
@@ -5050,8 +5027,8 @@ public class Parser implements IParser
         TId tIdNode4 = (TId)popped1.get(0);
         PUnOp pUnOpNode5 = (PUnOp)popped2.get(0);
         AElem pElemNode1 = new AElem(null, null, tIdNode4, pUnOpNode5);
-
         computePositions(pElemNode1, popped1, popped2);
+
         return Collections.singletonList(pElemNode1);
     }
 
@@ -5064,8 +5041,8 @@ public class Parser implements IParser
         TId tIdNode4 = (TId)popped2.get(0);
         PUnOp pUnOpNode5 = (PUnOp)popped3.get(0);
         AElem pElemNode1 = new AElem(tIdNode2, null, tIdNode4, pUnOpNode5);
-
         computePositions(pElemNode1, popped1, popped3);
+
         return Collections.singletonList(pElemNode1);
     }
 
@@ -5078,8 +5055,8 @@ public class Parser implements IParser
         TId tIdNode4 = (TId)popped2.get(0);
         PUnOp pUnOpNode5 = (PUnOp)popped3.get(0);
         AElem pElemNode1 = new AElem(null, pSpecifierNode3, tIdNode4, pUnOpNode5);
-
         computePositions(pElemNode1, popped1, popped3);
+
         return Collections.singletonList(pElemNode1);
     }
 
@@ -5094,8 +5071,8 @@ public class Parser implements IParser
         TId tIdNode4 = (TId)popped3.get(0);
         PUnOp pUnOpNode5 = (PUnOp)popped4.get(0);
         AElem pElemNode1 = new AElem(tIdNode2, pSpecifierNode3, tIdNode4, pUnOpNode5);
-
         computePositions(pElemNode1, popped1, popped4);
+
         return Collections.singletonList(pElemNode1);
     }
 
@@ -5106,7 +5083,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         TId tIdNode1 = (TId)popped2.get(0);
-        computePositions(tIdNode1, popped1, popped4);
         return Collections.singletonList(tIdNode1);
     }
 
@@ -5115,8 +5091,8 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         ATokenSpecifier pSpecifierNode1 = new ATokenSpecifier();
-
         computePositions(pSpecifierNode1, popped1, popped2);
+
         return Collections.singletonList(pSpecifierNode1);
     }
 
@@ -5125,8 +5101,8 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         AProductionSpecifier pSpecifierNode1 = new AProductionSpecifier();
-
         computePositions(pSpecifierNode1, popped1, popped2);
+
         return Collections.singletonList(pSpecifierNode1);
     }
 
@@ -5139,8 +5115,8 @@ public class Parser implements IParser
         List<PAstProd> listNode2 = (List<PAstProd>)popped4.get(0);
         List<PAstProd> listNode3 = listNode2;
         AAst pAstNode1 = new AAst(listNode3);
-
         computePositions(pAstNode1, popped1, popped4);
+
         return Collections.singletonList(pAstNode1);
     }
 
@@ -5154,8 +5130,8 @@ public class Parser implements IParser
         List<PAstAlt> listNode3 = (List<PAstAlt>)popped3.get(0);
         List<PAstAlt> listNode4 = listNode3;
         AAstProd pAstProdNode1 = new AAstProd(tIdNode2, listNode4);
-
         computePositions(pAstProdNode1, popped1, popped4);
+
         return Collections.singletonList(pAstProdNode1);
     }
 
@@ -5169,7 +5145,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5189,7 +5164,6 @@ public class Parser implements IParser
         } else {
             listNode3.addAll(listNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5198,7 +5172,6 @@ public class Parser implements IParser
         List<?> popped2 = pop();
         List<?> popped1 = pop();
         PAstAlt pAstAltNode1 = (PAstAlt)popped2.get(0);
-        computePositions(pAstAltNode1, popped1, popped2);
         return Collections.singletonList(pAstAltNode1);
     }
 
@@ -5214,8 +5187,8 @@ public class Parser implements IParser
         List<?> popped1 = pop();
         TId tIdNode2 = (TId)popped1.get(0);
         AAstAlt pAstAltNode1 = new AAstAlt(tIdNode2, Collections.emptyList());
-
         computePositions(pAstAltNode1, popped1, popped1);
+
         return Collections.singletonList(pAstAltNode1);
     }
 
@@ -5225,8 +5198,8 @@ public class Parser implements IParser
         List<PElem> listNode3 = (List<PElem>)popped1.get(0);
         List<PElem> listNode4 = listNode3;
         AAstAlt pAstAltNode1 = new AAstAlt(null, listNode4);
-
         computePositions(pAstAltNode1, popped1, popped1);
+
         return Collections.singletonList(pAstAltNode1);
     }
 
@@ -5238,8 +5211,8 @@ public class Parser implements IParser
         List<PElem> listNode3 = (List<PElem>)popped2.get(0);
         List<PElem> listNode4 = listNode3;
         AAstAlt pAstAltNode1 = new AAstAlt(tIdNode2, listNode4);
-
         computePositions(pAstAltNode1, popped1, popped2);
+
         return Collections.singletonList(pAstAltNode1);
     }
 
@@ -5253,7 +5226,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5273,7 +5245,6 @@ public class Parser implements IParser
         {
             listNode3.add(tPkgIdNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5287,7 +5258,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5307,7 +5277,6 @@ public class Parser implements IParser
         {
             listNode3.add(pHelperDefNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5321,7 +5290,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5341,7 +5309,6 @@ public class Parser implements IParser
         {
             listNode3.add(tIdNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5355,7 +5322,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5375,7 +5341,6 @@ public class Parser implements IParser
         {
             listNode3.add(pTokenDefNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5389,7 +5354,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5409,7 +5373,6 @@ public class Parser implements IParser
         {
             listNode3.add(pStateListTailNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5423,7 +5386,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5443,7 +5405,6 @@ public class Parser implements IParser
         {
             listNode3.add(pConcatNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5457,7 +5418,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5477,7 +5437,6 @@ public class Parser implements IParser
         {
             listNode3.add(pUnExpNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5491,7 +5450,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5511,7 +5469,6 @@ public class Parser implements IParser
         {
             listNode3.add(pProdNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5525,7 +5482,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5545,7 +5501,6 @@ public class Parser implements IParser
         {
             listNode3.add(pElemNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5559,7 +5514,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5579,7 +5533,6 @@ public class Parser implements IParser
         {
             listNode3.add(pAltNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5593,7 +5546,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5613,7 +5565,6 @@ public class Parser implements IParser
         {
             listNode3.add(pTermNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5627,7 +5578,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5647,7 +5597,6 @@ public class Parser implements IParser
         {
             listNode3.add(pListTermNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5661,7 +5610,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5681,7 +5629,6 @@ public class Parser implements IParser
         {
             listNode3.add(pTermNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5695,7 +5642,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5715,7 +5661,6 @@ public class Parser implements IParser
         {
             listNode3.add(pAstProdNode2);
         }
-        computePositions(listNode3, popped1, popped2);
         return Collections.singletonList(listNode3);
     }
 
@@ -5729,7 +5674,6 @@ public class Parser implements IParser
         } else {
             listNode2 = Collections.emptyList();
         }
-        computePositions(listNode2, popped1, popped1);
         return Collections.singletonList(listNode2);
     }
 
@@ -5749,7 +5693,6 @@ public class Parser implements IParser
         {
             listNode3.add(pAstAltNode2);
         }
-        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 e013a9412cc4bc4eb6bf873e86a2541144aff435..65591e4fdc6d3a12c6363512d56eba2b144b90ef 100644
--- a/src/main/resources/org/sablecc/sablecc/parser.txt
+++ b/src/main/resources/org/sablecc/sablecc/parser.txt
@@ -290,7 +290,6 @@ $
 Macro:ParserNewBodyNewTail
 );
 
-
 $
 
 Macro:ParserTypedSingleElementList