diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java index 7f3206556dabdda14fb79b8aee02e827f2c73054..bef0247a9605e2e8c674debaf5e95b6ecf0d204d 100644 --- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java +++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java @@ -139,14 +139,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter macros.apply(file, "ParserBraceOpening"); } - if(typeName.startsWith("L")) - { - macros.apply(file, "ParserListVariableDeclaration", new String[] {variableTypeFromInternalType(typeName), getVariableName(term)}); - } - else - { - macros.apply(file, "ParserSimpleVariableDeclaration", new String[] {variableTypeFromInternalType(typeName), getVariableName(term)}); - } + macros.apply(file, "ParserVariableDeclaration", new String[] {variableTypeFromInternalType(typeName), getVariableName(term)}); return true; } @@ -260,6 +253,12 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter @Override public void caseAListTerm(AListTerm node) { + if(node.getListTerms().isEmpty()) + { + // Empty lists are generated inline and don't have a variable. + return; + } + try { boolean openingBraceGenerated = false; @@ -273,13 +272,57 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter listTerm.apply(this); } + int nonNullTermsCount = 0; + PListTerm firstNonNullListTerm = null; + String firstNonNullTypeName = null; for(PListTerm listTerm : node.getListTerms()) { - String type_name = lookupInternalTypeName(listTerm); + String typeName = lookupInternalTypeName(listTerm); + // Null and empty list terms never add any elements to the list and so don't need to be counted. + if("null".equals(typeName) || "Lnull".equals(typeName)) + { + continue; + } + nonNullTermsCount++; + if(firstNonNullListTerm == null) + { + firstNonNullListTerm = listTerm; + firstNonNullTypeName = typeName; + } + } + + if(nonNullTermsCount == 0) + { + throw new RuntimeException("List has non-empty type, but contains no elements!"); + } + assert firstNonNullListTerm != null; + assert firstNonNullTypeName != null; + + if(nonNullTermsCount == 1) + { + if(firstNonNullTypeName.startsWith("L")) + { + macros.apply(file, "ParserTypedListAssign", new String[] {getVariableName(node), getVariableName(firstNonNullListTerm)}); + } + else + { + macros.apply(file, "ParserTypedSingleElementList", new String[] {getVariableName(node), getVariableName(firstNonNullListTerm)}); + } + } + else + { + macros.apply(file, "ParserTypedLinkedListInit", new String[] {getVariableName(node)}); - if(!type_name.equals("null")) + for(PListTerm listTerm : node.getListTerms()) { - if(type_name.startsWith("L")) + String typeName = lookupInternalTypeName(listTerm); + // Null and empty list terms never add any elements to the list. + if("null".equals(typeName) || "Lnull".equals(typeName)) + { + continue; + } + + if(typeName.startsWith("L")) { macros.apply(file, "ParserTypedLinkedListAddAll", new String[] {getVariableName(node), getVariableName(listTerm)}); } diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java index 1dfa84e83bd547dfa1e5b3a8728515f518ff8998..5e7c14887c3ecc065ba217e53d7f5a99c0e06f49 100644 --- a/src/main/java/org/sablecc/sablecc/parser/Parser.java +++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java @@ -1877,18 +1877,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pgrammarNode1 = new AGrammar(listNode3, null, null, null, null, null, null); @@ -1927,19 +1920,12 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); @@ -1979,19 +1965,12 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); @@ -2035,20 +2014,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -2089,19 +2061,12 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PTokens ptokensNode6; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } ptokensNode6 = (PTokens)nodeArrayList2.get(0); @@ -2145,20 +2110,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PTokens ptokensNode6; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -2203,20 +2161,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PTokens ptokensNode6; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -2265,21 +2216,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PTokens ptokensNode6; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -2321,19 +2265,12 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PIgnTokens pigntokensNode7; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0); @@ -2377,20 +2314,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PIgnTokens pigntokensNode7; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -2435,20 +2365,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PIgnTokens pigntokensNode7; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -2497,21 +2420,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PIgnTokens pigntokensNode7; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -2557,20 +2473,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PTokens ptokensNode6; PIgnTokens pigntokensNode7; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } ptokensNode6 = (PTokens)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -2619,21 +2528,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PTokens ptokensNode6; PIgnTokens pigntokensNode7; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -2683,21 +2585,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PTokens ptokensNode6; PIgnTokens pigntokensNode7; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -2751,22 +2646,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PTokens ptokensNode6; PIgnTokens pigntokensNode7; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -2809,19 +2697,12 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pproductionsNode8 = (PProductions)nodeArrayList2.get(0); @@ -2865,20 +2746,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pproductionsNode8 = (PProductions)nodeArrayList3.get(0); @@ -2923,20 +2797,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); pproductionsNode8 = (PProductions)nodeArrayList3.get(0); @@ -2985,21 +2852,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -3045,20 +2905,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PTokens ptokensNode6; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } ptokensNode6 = (PTokens)nodeArrayList2.get(0); pproductionsNode8 = (PProductions)nodeArrayList3.get(0); @@ -3107,21 +2960,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PTokens ptokensNode6; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -3171,21 +3017,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PTokens ptokensNode6; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -3239,22 +3078,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PTokens ptokensNode6; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -3301,20 +3133,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0); pproductionsNode8 = (PProductions)nodeArrayList3.get(0); @@ -3363,21 +3188,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -3427,21 +3245,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -3495,22 +3306,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -3561,21 +3365,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } ptokensNode6 = (PTokens)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -3629,22 +3426,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -3699,22 +3489,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -3773,23 +3556,16 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -3833,19 +3609,12 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pastNode9 = (PAst)nodeArrayList2.get(0); @@ -3889,20 +3658,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pastNode9 = (PAst)nodeArrayList3.get(0); @@ -3947,20 +3709,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); pastNode9 = (PAst)nodeArrayList3.get(0); @@ -4009,21 +3764,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -4069,20 +3817,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PTokens ptokensNode6; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } ptokensNode6 = (PTokens)nodeArrayList2.get(0); pastNode9 = (PAst)nodeArrayList3.get(0); @@ -4131,21 +3872,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PTokens ptokensNode6; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -4195,21 +3929,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PTokens ptokensNode6; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -4263,22 +3990,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PTokens ptokensNode6; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -4325,20 +4045,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PIgnTokens pigntokensNode7; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0); pastNode9 = (PAst)nodeArrayList3.get(0); @@ -4387,21 +4100,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PIgnTokens pigntokensNode7; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -4451,21 +4157,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PIgnTokens pigntokensNode7; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -4519,22 +4218,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PIgnTokens pigntokensNode7; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -4585,21 +4277,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } ptokensNode6 = (PTokens)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -4653,22 +4338,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -4723,22 +4401,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -4797,23 +4468,16 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -4861,20 +4525,13 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pproductionsNode8 = (PProductions)nodeArrayList2.get(0); pastNode9 = (PAst)nodeArrayList3.get(0); @@ -4923,21 +4580,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pproductionsNode8 = (PProductions)nodeArrayList3.get(0); @@ -4987,21 +4637,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); pproductionsNode8 = (PProductions)nodeArrayList3.get(0); @@ -5055,22 +4698,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -5121,21 +4757,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PTokens ptokensNode6; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } ptokensNode6 = (PTokens)nodeArrayList2.get(0); pproductionsNode8 = (PProductions)nodeArrayList3.get(0); @@ -5189,22 +4818,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PTokens ptokensNode6; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -5259,22 +4881,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PTokens ptokensNode6; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -5333,23 +4948,16 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PTokens ptokensNode6; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -5401,21 +5009,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pigntokensNode7 = (PIgnTokens)nodeArrayList2.get(0); pproductionsNode8 = (PProductions)nodeArrayList3.get(0); @@ -5469,22 +5070,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -5539,22 +5133,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -5613,23 +5200,16 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -5685,22 +5265,15 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } ptokensNode6 = (PTokens)nodeArrayList2.get(0); pigntokensNode7 = (PIgnTokens)nodeArrayList3.get(0); @@ -5759,23 +5332,16 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -5835,23 +5401,16 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PStates pstatesNode5; PTokens ptokensNode6; PIgnTokens pigntokensNode7; PProductions pproductionsNode8; PAst pastNode9; { - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode5 = (PStates)nodeArrayList2.get(0); ptokensNode6 = (PTokens)nodeArrayList3.get(0); @@ -5915,24 +5474,17 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PGrammar pgrammarNode1; { - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; PHelpers phelpersNode4; PStates pstatesNode5; PTokens ptokensNode6; PIgnTokens pigntokensNode7; - PProductions pproductionsNode8; - PAst pastNode9; - { - List<TPkgId> listNode2 = new LinkedList<>(); - listNode2 = (List<TPkgId>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + PProductions pproductionsNode8; + PAst pastNode9; + { + List<TPkgId> listNode2; + listNode2 = (List<TPkgId>)nodeArrayList1.get(0); + listNode3 = listNode2; } phelpersNode4 = (PHelpers)nodeArrayList2.get(0); pstatesNode5 = (PStates)nodeArrayList3.get(0); @@ -5956,18 +5508,11 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; { - List<TPkgId> listNode1 = new LinkedList<>(); + List<TPkgId> listNode1; listNode1 = (List<TPkgId>)nodeArrayList2.get(0); - if(listNode1 != null) - { - if(!listNode2.isEmpty()){ - listNode2.addAll(listNode1); - }else{ - listNode2 = listNode1; - } - } + listNode2 = listNode1; } nodeList.add(listNode2); checkResult(nodeList.get(0), nodeArrayList1, nodeArrayList2); @@ -5982,13 +5527,14 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; { TPkgId tpkgidNode1; tpkgidNode1 = (TPkgId)nodeArrayList1.get(0); - if(tpkgidNode1 != null) - { - listNode2.add(tpkgidNode1); + if(tpkgidNode1 != null) { + listNode2 = Collections.singletonList(tpkgidNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -6005,22 +5551,23 @@ public class Parser implements IParser List<Object> nodeArrayList3 = pop(); List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; { TPkgId tpkgidNode1; - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; tpkgidNode1 = (TPkgId)nodeArrayList1.get(0); listNode2 = (List<TPkgId>)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(tpkgidNode1 != null) { listNode3.add(tpkgidNode1); } if(listNode2 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ + if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; + } else { + listNode3.addAll(listNode2); } } } @@ -6054,18 +5601,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PHelpers phelpersNode1; { - List<PHelperDef> listNode3 = new LinkedList<>(); + List<PHelperDef> listNode3; { - List<PHelperDef> listNode2 = new LinkedList<>(); + List<PHelperDef> listNode2; listNode2 = (List<PHelperDef>)nodeArrayList2.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } phelpersNode1 = new AHelpers(listNode3); @@ -6110,18 +5650,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PStates pstatesNode1; { - List<TId> listNode3 = new LinkedList<>(); + List<TId> listNode3; { - List<TId> listNode2 = new LinkedList<>(); + List<TId> listNode2; listNode2 = (List<TId>)nodeArrayList2.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pstatesNode1 = new AStates(listNode3); @@ -6138,13 +5671,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<TId> listNode2 = new LinkedList<>(); + List<TId> listNode2; { TId tidNode1; tidNode1 = (TId)nodeArrayList1.get(0); - if(tidNode1 != null) - { - listNode2.add(tidNode1); + if(tidNode1 != null) { + listNode2 = Collections.singletonList(tidNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -6160,22 +5694,23 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<TId> listNode3 = new LinkedList<>(); + List<TId> listNode3; { TId tidNode1; - List<TId> listNode2 = new LinkedList<>(); + List<TId> listNode2; tidNode1 = (TId)nodeArrayList1.get(0); listNode2 = (List<TId>)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(tidNode1 != null) { listNode3.add(tidNode1); } if(listNode2 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ + if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; + } else { + listNode3.addAll(listNode2); } } } @@ -6209,18 +5744,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PTokens ptokensNode1; { - List<PTokenDef> listNode3 = new LinkedList<>(); + List<PTokenDef> listNode3; { - List<PTokenDef> listNode2 = new LinkedList<>(); + List<PTokenDef> listNode2; listNode2 = (List<PTokenDef>)nodeArrayList2.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } ptokensNode1 = new ATokens(listNode3); @@ -6400,19 +5928,12 @@ public class Parser implements IParser PStateList pstatelistNode1; { TId tidNode2; - List<PStateListTail> listNode5 = new LinkedList<>(); + List<PStateListTail> listNode5; tidNode2 = (TId)nodeArrayList2.get(0); { - List<PStateListTail> listNode4 = new LinkedList<>(); + List<PStateListTail> listNode4; listNode4 = (List<PStateListTail>)nodeArrayList3.get(0); - if(listNode4 != null) - { - if(!listNode5.isEmpty()){ - listNode5.addAll(listNode4); - }else{ - listNode5 = listNode4; - } - } + listNode5 = listNode4; } pstatelistNode1 = new AStateList(tidNode2, null, listNode5); @@ -6437,20 +5958,13 @@ public class Parser implements IParser { TId tidNode2; PTransition ptransitionNode3; - List<PStateListTail> listNode5 = new LinkedList<>(); + List<PStateListTail> listNode5; tidNode2 = (TId)nodeArrayList2.get(0); ptransitionNode3 = (PTransition)nodeArrayList3.get(0); { - List<PStateListTail> listNode4 = new LinkedList<>(); + List<PStateListTail> listNode4; listNode4 = (List<PStateListTail>)nodeArrayList4.get(0); - if(listNode4 != null) - { - if(!listNode5.isEmpty()){ - listNode5.addAll(listNode4); - }else{ - listNode5 = listNode4; - } - } + listNode5 = listNode4; } pstatelistNode1 = new AStateList(tidNode2, ptransitionNode3, listNode5); @@ -6552,18 +6066,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PIgnTokens pigntokensNode1; { - List<TId> listNode3 = new LinkedList<>(); + List<TId> listNode3; { - List<TId> listNode2 = new LinkedList<>(); + List<TId> listNode2; listNode2 = (List<TId>)nodeArrayList3.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pigntokensNode1 = new AIgnTokens(listNode3); @@ -6600,13 +6107,14 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PRegExp pregexpNode1; { - List<PConcat> listNode3 = new LinkedList<>(); + List<PConcat> listNode3; { PConcat pconcatNode2; pconcatNode2 = (PConcat)nodeArrayList1.get(0); - if(pconcatNode2 != null) - { - listNode3.add(pconcatNode2); + if(pconcatNode2 != null) { + listNode3 = Collections.singletonList(pconcatNode2); + } else { + listNode3 = Collections.emptyList(); } } @@ -6627,22 +6135,23 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PRegExp pregexpNode1; { - List<PConcat> listNode4 = new LinkedList<>(); + List<PConcat> listNode4; { PConcat pconcatNode2; - List<PConcat> listNode3 = new LinkedList<>(); + List<PConcat> listNode3; pconcatNode2 = (PConcat)nodeArrayList1.get(0); listNode3 = (List<PConcat>)nodeArrayList2.get(0); + listNode4 = new LinkedList<>(); if(pconcatNode2 != null) { listNode4.add(pconcatNode2); } if(listNode3 != null) { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ + if (listNode4.isEmpty() && listNode3 instanceof LinkedList<?>) { listNode4 = listNode3; + } else { + listNode4.addAll(listNode3); } } } @@ -6691,18 +6200,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PConcat pconcatNode1; { - List<PUnExp> listNode3 = new LinkedList<>(); + List<PUnExp> listNode3; { - List<PUnExp> listNode2 = new LinkedList<>(); + List<PUnExp> listNode2; listNode2 = (List<PUnExp>)nodeArrayList1.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pconcatNode1 = new AConcat(listNode3); @@ -7056,18 +6558,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PProductions pproductionsNode1; { - List<PProd> listNode3 = new LinkedList<>(); + List<PProd> listNode3; { - List<PProd> listNode2 = new LinkedList<>(); + List<PProd> listNode2; listNode2 = (List<PProd>)nodeArrayList2.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pproductionsNode1 = new AProductions(listNode3); @@ -7090,19 +6585,12 @@ public class Parser implements IParser PProd pprodNode1; { TId tidNode2; - List<PAlt> listNode6 = new LinkedList<>(); + List<PAlt> listNode6; tidNode2 = (TId)nodeArrayList1.get(0); { - List<PAlt> listNode5 = new LinkedList<>(); + List<PAlt> listNode5; listNode5 = (List<PAlt>)nodeArrayList3.get(0); - if(listNode5 != null) - { - if(!listNode6.isEmpty()){ - listNode6.addAll(listNode5); - }else{ - listNode6 = listNode5; - } - } + listNode6 = listNode5; } pprodNode1 = new AProd(tidNode2, null, Collections.EMPTY_LIST, listNode6); @@ -7127,33 +6615,19 @@ public class Parser implements IParser { TId tidNode2; TArrow tarrowNode3; - List<PElem> listNode5 = new LinkedList<>(); - List<PAlt> listNode7 = new LinkedList<>(); + List<PElem> listNode5; + List<PAlt> listNode7; tidNode2 = (TId)nodeArrayList1.get(0); tarrowNode3 = (TArrow)nodeArrayList2.get(0); { - List<PElem> listNode4 = new LinkedList<>(); + List<PElem> listNode4; listNode4 = (List<PElem>)nodeArrayList2.get(1); - if(listNode4 != null) - { - if(!listNode5.isEmpty()){ - listNode5.addAll(listNode4); - }else{ - listNode5 = listNode4; - } - } + listNode5 = listNode4; } { - List<PAlt> listNode6 = new LinkedList<>(); + List<PAlt> listNode6; listNode6 = (List<PAlt>)nodeArrayList4.get(0); - if(listNode6 != null) - { - if(!listNode7.isEmpty()){ - listNode7.addAll(listNode6); - }else{ - listNode7 = listNode6; - } - } + listNode7 = listNode6; } pprodNode1 = new AProd(tidNode2, tarrowNode3, listNode5, listNode7); @@ -7191,19 +6665,12 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); TArrow tarrowNode1; - List<PElem> listNode3 = new LinkedList<>(); + List<PElem> listNode3; tarrowNode1 = (TArrow)nodeArrayList2.get(0); { - List<PElem> listNode2 = new LinkedList<>(); + List<PElem> listNode2; listNode2 = (List<PElem>)nodeArrayList3.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } nodeList.add(tarrowNode1); nodeList.add(listNode3); @@ -7218,13 +6685,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PAlt> listNode2 = new LinkedList<>(); + List<PAlt> listNode2; { PAlt paltNode1; paltNode1 = (PAlt)nodeArrayList1.get(0); - if(paltNode1 != null) - { - listNode2.add(paltNode1); + if(paltNode1 != null) { + listNode2 = Collections.singletonList(paltNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -7240,22 +6708,23 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PAlt> listNode3 = new LinkedList<>(); + List<PAlt> listNode3; { PAlt paltNode1; - List<PAlt> listNode2 = new LinkedList<>(); + List<PAlt> listNode2; paltNode1 = (PAlt)nodeArrayList1.get(0); listNode2 = (List<PAlt>)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(paltNode1 != null) { listNode3.add(paltNode1); } if(listNode2 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ + if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; + } else { + listNode3.addAll(listNode2); } } } @@ -7320,18 +6789,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PAlt paltNode1; { - List<PElem> listNode4 = new LinkedList<>(); + List<PElem> listNode4; { - List<PElem> listNode3 = new LinkedList<>(); + List<PElem> listNode3; listNode3 = (List<PElem>)nodeArrayList1.get(0); - if(listNode3 != null) - { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ - listNode4 = listNode3; - } - } + listNode4 = listNode3; } paltNode1 = new AAlt(null, listNode4, null); @@ -7352,19 +6814,12 @@ public class Parser implements IParser PAlt paltNode1; { TId tidNode2; - List<PElem> listNode4 = new LinkedList<>(); + List<PElem> listNode4; tidNode2 = (TId)nodeArrayList1.get(0); { - List<PElem> listNode3 = new LinkedList<>(); + List<PElem> listNode3; listNode3 = (List<PElem>)nodeArrayList2.get(0); - if(listNode3 != null) - { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ - listNode4 = listNode3; - } - } + listNode4 = listNode3; } paltNode1 = new AAlt(tidNode2, listNode4, null); @@ -7425,19 +6880,12 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PAlt paltNode1; { - List<PElem> listNode4 = new LinkedList<>(); + List<PElem> listNode4; PAltTransform palttransformNode5; { - List<PElem> listNode3 = new LinkedList<>(); + List<PElem> listNode3; listNode3 = (List<PElem>)nodeArrayList1.get(0); - if(listNode3 != null) - { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ - listNode4 = listNode3; - } - } + listNode4 = listNode3; } palttransformNode5 = (PAltTransform)nodeArrayList2.get(0); @@ -7460,20 +6908,13 @@ public class Parser implements IParser PAlt paltNode1; { TId tidNode2; - List<PElem> listNode4 = new LinkedList<>(); + List<PElem> listNode4; PAltTransform palttransformNode5; tidNode2 = (TId)nodeArrayList1.get(0); { - List<PElem> listNode3 = new LinkedList<>(); + List<PElem> listNode3; listNode3 = (List<PElem>)nodeArrayList2.get(0); - if(listNode3 != null) - { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ - listNode4 = listNode3; - } - } + listNode4 = listNode3; } palttransformNode5 = (PAltTransform)nodeArrayList3.get(0); @@ -7520,20 +6961,13 @@ public class Parser implements IParser PAltTransform palttransformNode1; { TLBrace tlbraceNode2; - List<PTerm> listNode4 = new LinkedList<>(); + List<PTerm> listNode4; TRBrace trbraceNode5; tlbraceNode2 = (TLBrace)nodeArrayList1.get(0); { - List<PTerm> listNode3 = new LinkedList<>(); + List<PTerm> listNode3; listNode3 = (List<PTerm>)nodeArrayList3.get(0); - if(listNode3 != null) - { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ - listNode4 = listNode3; - } - } + listNode4 = listNode3; } trbraceNode5 = (TRBrace)nodeArrayList4.get(0); @@ -7583,20 +7017,13 @@ public class Parser implements IParser { PProdName pprodnameNode2; TLPar tlparNode3; - List<PTerm> listNode5 = new LinkedList<>(); + List<PTerm> listNode5; pprodnameNode2 = (PProdName)nodeArrayList2.get(0); tlparNode3 = (TLPar)nodeArrayList3.get(0); { - List<PTerm> listNode4 = new LinkedList<>(); + List<PTerm> listNode4; listNode4 = (List<PTerm>)nodeArrayList4.get(0); - if(listNode4 != null) - { - if(!listNode5.isEmpty()){ - listNode5.addAll(listNode4); - }else{ - listNode5 = listNode4; - } - } + listNode5 = listNode4; } ptermNode1 = new ANewTerm(pprodnameNode2, tlparNode3, listNode5); @@ -7638,19 +7065,12 @@ public class Parser implements IParser PTerm ptermNode1; { TLBkt tlbktNode2; - List<PListTerm> listNode4 = new LinkedList<>(); + List<PListTerm> listNode4; tlbktNode2 = (TLBkt)nodeArrayList1.get(0); { - List<PListTerm> listNode3 = new LinkedList<>(); + List<PListTerm> listNode3; listNode3 = (List<PListTerm>)nodeArrayList2.get(0); - if(listNode3 != null) - { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ - listNode4 = listNode3; - } - } + listNode4 = listNode3; } ptermNode1 = new AListTerm(tlbktNode2, listNode4); @@ -7770,13 +7190,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PListTerm> listNode2 = new LinkedList<>(); + List<PListTerm> listNode2; { PListTerm plisttermNode1; plisttermNode1 = (PListTerm)nodeArrayList1.get(0); - if(plisttermNode1 != null) - { - listNode2.add(plisttermNode1); + if(plisttermNode1 != null) { + listNode2 = Collections.singletonList(plisttermNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -7792,22 +7213,23 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PListTerm> listNode3 = new LinkedList<>(); + List<PListTerm> listNode3; { PListTerm plisttermNode1; - List<PListTerm> listNode2 = new LinkedList<>(); + List<PListTerm> listNode2; plisttermNode1 = (PListTerm)nodeArrayList1.get(0); listNode2 = (List<PListTerm>)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(plisttermNode1 != null) { listNode3.add(plisttermNode1); } if(listNode2 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ + if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; + } else { + listNode3.addAll(listNode2); } } } @@ -7855,20 +7277,13 @@ public class Parser implements IParser { PProdName pprodnameNode2; TLPar tlparNode3; - List<PTerm> listNode5 = new LinkedList<>(); + List<PTerm> listNode5; pprodnameNode2 = (PProdName)nodeArrayList2.get(0); tlparNode3 = (TLPar)nodeArrayList3.get(0); { - List<PTerm> listNode4 = new LinkedList<>(); + List<PTerm> listNode4; listNode4 = (List<PTerm>)nodeArrayList4.get(0); - if(listNode4 != null) - { - if(!listNode5.isEmpty()){ - listNode5.addAll(listNode4); - }else{ - listNode5 = listNode4; - } - } + listNode5 = listNode4; } plisttermNode1 = new ANewListTerm(pprodnameNode2, tlparNode3, listNode5); @@ -8059,13 +7474,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PTerm> listNode2 = new LinkedList<>(); + List<PTerm> listNode2; { PTerm ptermNode1; ptermNode1 = (PTerm)nodeArrayList1.get(0); - if(ptermNode1 != null) - { - listNode2.add(ptermNode1); + if(ptermNode1 != null) { + listNode2 = Collections.singletonList(ptermNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -8081,22 +7497,23 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PTerm> listNode3 = new LinkedList<>(); + List<PTerm> listNode3; { PTerm ptermNode1; - List<PTerm> listNode2 = new LinkedList<>(); + List<PTerm> listNode2; ptermNode1 = (PTerm)nodeArrayList1.get(0); listNode2 = (List<PTerm>)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(ptermNode1 != null) { listNode3.add(ptermNode1); } if(listNode2 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ + if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; + } else { + listNode3.addAll(listNode2); } } } @@ -8385,18 +7802,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PAst pastNode1; { - List<PAstProd> listNode3 = new LinkedList<>(); + List<PAstProd> listNode3; { - List<PAstProd> listNode2 = new LinkedList<>(); + List<PAstProd> listNode2; listNode2 = (List<PAstProd>)nodeArrayList4.get(0); - if(listNode2 != null) - { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ - listNode3 = listNode2; - } - } + listNode3 = listNode2; } pastNode1 = new AAst(listNode3); @@ -8419,19 +7829,12 @@ public class Parser implements IParser PAstProd pastprodNode1; { TId tidNode2; - List<PAstAlt> listNode4 = new LinkedList<>(); + List<PAstAlt> listNode4; tidNode2 = (TId)nodeArrayList1.get(0); { - List<PAstAlt> listNode3 = new LinkedList<>(); + List<PAstAlt> listNode3; listNode3 = (List<PAstAlt>)nodeArrayList3.get(0); - if(listNode3 != null) - { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ - listNode4 = listNode3; - } - } + listNode4 = listNode3; } pastprodNode1 = new AAstProd(tidNode2, listNode4); @@ -8448,13 +7851,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PAstAlt> listNode2 = new LinkedList<>(); + List<PAstAlt> listNode2; { PAstAlt pastaltNode1; pastaltNode1 = (PAstAlt)nodeArrayList1.get(0); - if(pastaltNode1 != null) - { - listNode2.add(pastaltNode1); + if(pastaltNode1 != null) { + listNode2 = Collections.singletonList(pastaltNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -8470,22 +7874,23 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PAstAlt> listNode3 = new LinkedList<>(); + List<PAstAlt> listNode3; { PAstAlt pastaltNode1; - List<PAstAlt> listNode2 = new LinkedList<>(); + List<PAstAlt> listNode2; pastaltNode1 = (PAstAlt)nodeArrayList1.get(0); listNode2 = (List<PAstAlt>)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(pastaltNode1 != null) { listNode3.add(pastaltNode1); } if(listNode2 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode2); - }else{ + if (listNode3.isEmpty() && listNode2 instanceof LinkedList<?>) { listNode3 = listNode2; + } else { + listNode3.addAll(listNode2); } } } @@ -8550,18 +7955,11 @@ public class Parser implements IParser List<Object> nodeArrayList1 = pop(); PAstAlt pastaltNode1; { - List<PElem> listNode4 = new LinkedList<>(); + List<PElem> listNode4; { - List<PElem> listNode3 = new LinkedList<>(); + List<PElem> listNode3; listNode3 = (List<PElem>)nodeArrayList1.get(0); - if(listNode3 != null) - { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ - listNode4 = listNode3; - } - } + listNode4 = listNode3; } pastaltNode1 = new AAstAlt(null, listNode4); @@ -8582,19 +7980,12 @@ public class Parser implements IParser PAstAlt pastaltNode1; { TId tidNode2; - List<PElem> listNode4 = new LinkedList<>(); + List<PElem> listNode4; tidNode2 = (TId)nodeArrayList1.get(0); { - List<PElem> listNode3 = new LinkedList<>(); + List<PElem> listNode3; listNode3 = (List<PElem>)nodeArrayList2.get(0); - if(listNode3 != null) - { - if(!listNode4.isEmpty()){ - listNode4.addAll(listNode3); - }else{ - listNode4 = listNode3; - } - } + listNode4 = listNode3; } pastaltNode1 = new AAstAlt(tidNode2, listNode4); @@ -8611,13 +8002,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<TPkgId> listNode2 = new LinkedList<>(); + List<TPkgId> listNode2; { TPkgId tpkgidNode1; tpkgidNode1 = (TPkgId)nodeArrayList1.get(0); - if(tpkgidNode1 != null) - { - listNode2.add(tpkgidNode1); + if(tpkgidNode1 != null) { + listNode2 = Collections.singletonList(tpkgidNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -8633,18 +8025,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<TPkgId> listNode3 = new LinkedList<>(); + List<TPkgId> listNode3; { - List<TPkgId> listNode1 = new LinkedList<>(); + List<TPkgId> listNode1; TPkgId tpkgidNode2; listNode1 = (List<TPkgId>)nodeArrayList1.get(0); tpkgidNode2 = (TPkgId)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(tpkgidNode2 != null) @@ -8664,13 +8057,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PHelperDef> listNode2 = new LinkedList<>(); + List<PHelperDef> listNode2; { PHelperDef phelperdefNode1; phelperdefNode1 = (PHelperDef)nodeArrayList1.get(0); - if(phelperdefNode1 != null) - { - listNode2.add(phelperdefNode1); + if(phelperdefNode1 != null) { + listNode2 = Collections.singletonList(phelperdefNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -8686,18 +8080,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PHelperDef> listNode3 = new LinkedList<>(); + List<PHelperDef> listNode3; { - List<PHelperDef> listNode1 = new LinkedList<>(); + List<PHelperDef> listNode1; PHelperDef phelperdefNode2; listNode1 = (List<PHelperDef>)nodeArrayList1.get(0); phelperdefNode2 = (PHelperDef)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(phelperdefNode2 != null) @@ -8717,13 +8112,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<TId> listNode2 = new LinkedList<>(); + List<TId> listNode2; { TId tidNode1; tidNode1 = (TId)nodeArrayList1.get(0); - if(tidNode1 != null) - { - listNode2.add(tidNode1); + if(tidNode1 != null) { + listNode2 = Collections.singletonList(tidNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -8739,18 +8135,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<TId> listNode3 = new LinkedList<>(); + List<TId> listNode3; { - List<TId> listNode1 = new LinkedList<>(); + List<TId> listNode1; TId tidNode2; listNode1 = (List<TId>)nodeArrayList1.get(0); tidNode2 = (TId)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(tidNode2 != null) @@ -8770,13 +8167,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PTokenDef> listNode2 = new LinkedList<>(); + List<PTokenDef> listNode2; { PTokenDef ptokendefNode1; ptokendefNode1 = (PTokenDef)nodeArrayList1.get(0); - if(ptokendefNode1 != null) - { - listNode2.add(ptokendefNode1); + if(ptokendefNode1 != null) { + listNode2 = Collections.singletonList(ptokendefNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -8792,18 +8190,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PTokenDef> listNode3 = new LinkedList<>(); + List<PTokenDef> listNode3; { - List<PTokenDef> listNode1 = new LinkedList<>(); + List<PTokenDef> listNode1; PTokenDef ptokendefNode2; listNode1 = (List<PTokenDef>)nodeArrayList1.get(0); ptokendefNode2 = (PTokenDef)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(ptokendefNode2 != null) @@ -8823,13 +8222,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PStateListTail> listNode2 = new LinkedList<>(); + List<PStateListTail> listNode2; { PStateListTail pstatelisttailNode1; pstatelisttailNode1 = (PStateListTail)nodeArrayList1.get(0); - if(pstatelisttailNode1 != null) - { - listNode2.add(pstatelisttailNode1); + if(pstatelisttailNode1 != null) { + listNode2 = Collections.singletonList(pstatelisttailNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -8845,18 +8245,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PStateListTail> listNode3 = new LinkedList<>(); + List<PStateListTail> listNode3; { - List<PStateListTail> listNode1 = new LinkedList<>(); + List<PStateListTail> listNode1; PStateListTail pstatelisttailNode2; listNode1 = (List<PStateListTail>)nodeArrayList1.get(0); pstatelisttailNode2 = (PStateListTail)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(pstatelisttailNode2 != null) @@ -8876,13 +8277,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PConcat> listNode2 = new LinkedList<>(); + List<PConcat> listNode2; { PConcat pconcatNode1; pconcatNode1 = (PConcat)nodeArrayList1.get(0); - if(pconcatNode1 != null) - { - listNode2.add(pconcatNode1); + if(pconcatNode1 != null) { + listNode2 = Collections.singletonList(pconcatNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -8898,18 +8300,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PConcat> listNode3 = new LinkedList<>(); + List<PConcat> listNode3; { - List<PConcat> listNode1 = new LinkedList<>(); + List<PConcat> listNode1; PConcat pconcatNode2; listNode1 = (List<PConcat>)nodeArrayList1.get(0); pconcatNode2 = (PConcat)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(pconcatNode2 != null) @@ -8929,13 +8332,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PUnExp> listNode2 = new LinkedList<>(); + List<PUnExp> listNode2; { PUnExp punexpNode1; punexpNode1 = (PUnExp)nodeArrayList1.get(0); - if(punexpNode1 != null) - { - listNode2.add(punexpNode1); + if(punexpNode1 != null) { + listNode2 = Collections.singletonList(punexpNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -8951,18 +8355,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PUnExp> listNode3 = new LinkedList<>(); + List<PUnExp> listNode3; { - List<PUnExp> listNode1 = new LinkedList<>(); + List<PUnExp> listNode1; PUnExp punexpNode2; listNode1 = (List<PUnExp>)nodeArrayList1.get(0); punexpNode2 = (PUnExp)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(punexpNode2 != null) @@ -8982,13 +8387,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PProd> listNode2 = new LinkedList<>(); + List<PProd> listNode2; { PProd pprodNode1; pprodNode1 = (PProd)nodeArrayList1.get(0); - if(pprodNode1 != null) - { - listNode2.add(pprodNode1); + if(pprodNode1 != null) { + listNode2 = Collections.singletonList(pprodNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -9004,18 +8410,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PProd> listNode3 = new LinkedList<>(); + List<PProd> listNode3; { - List<PProd> listNode1 = new LinkedList<>(); + List<PProd> listNode1; PProd pprodNode2; listNode1 = (List<PProd>)nodeArrayList1.get(0); pprodNode2 = (PProd)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(pprodNode2 != null) @@ -9035,13 +8442,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PElem> listNode2 = new LinkedList<>(); + List<PElem> listNode2; { PElem pelemNode1; pelemNode1 = (PElem)nodeArrayList1.get(0); - if(pelemNode1 != null) - { - listNode2.add(pelemNode1); + if(pelemNode1 != null) { + listNode2 = Collections.singletonList(pelemNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -9057,18 +8465,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PElem> listNode3 = new LinkedList<>(); + List<PElem> listNode3; { - List<PElem> listNode1 = new LinkedList<>(); + List<PElem> listNode1; PElem pelemNode2; listNode1 = (List<PElem>)nodeArrayList1.get(0); pelemNode2 = (PElem)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(pelemNode2 != null) @@ -9088,13 +8497,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PAlt> listNode2 = new LinkedList<>(); + List<PAlt> listNode2; { PAlt paltNode1; paltNode1 = (PAlt)nodeArrayList1.get(0); - if(paltNode1 != null) - { - listNode2.add(paltNode1); + if(paltNode1 != null) { + listNode2 = Collections.singletonList(paltNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -9110,18 +8520,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PAlt> listNode3 = new LinkedList<>(); + List<PAlt> listNode3; { - List<PAlt> listNode1 = new LinkedList<>(); + List<PAlt> listNode1; PAlt paltNode2; listNode1 = (List<PAlt>)nodeArrayList1.get(0); paltNode2 = (PAlt)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(paltNode2 != null) @@ -9141,13 +8552,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PTerm> listNode2 = new LinkedList<>(); + List<PTerm> listNode2; { PTerm ptermNode1; ptermNode1 = (PTerm)nodeArrayList1.get(0); - if(ptermNode1 != null) - { - listNode2.add(ptermNode1); + if(ptermNode1 != null) { + listNode2 = Collections.singletonList(ptermNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -9163,18 +8575,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PTerm> listNode3 = new LinkedList<>(); + List<PTerm> listNode3; { - List<PTerm> listNode1 = new LinkedList<>(); + List<PTerm> listNode1; PTerm ptermNode2; listNode1 = (List<PTerm>)nodeArrayList1.get(0); ptermNode2 = (PTerm)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(ptermNode2 != null) @@ -9194,13 +8607,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PListTerm> listNode2 = new LinkedList<>(); + List<PListTerm> listNode2; { PListTerm plisttermNode1; plisttermNode1 = (PListTerm)nodeArrayList1.get(0); - if(plisttermNode1 != null) - { - listNode2.add(plisttermNode1); + if(plisttermNode1 != null) { + listNode2 = Collections.singletonList(plisttermNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -9216,18 +8630,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PListTerm> listNode3 = new LinkedList<>(); + List<PListTerm> listNode3; { - List<PListTerm> listNode1 = new LinkedList<>(); + List<PListTerm> listNode1; PListTerm plisttermNode2; listNode1 = (List<PListTerm>)nodeArrayList1.get(0); plisttermNode2 = (PListTerm)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(plisttermNode2 != null) @@ -9247,13 +8662,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PTerm> listNode2 = new LinkedList<>(); + List<PTerm> listNode2; { PTerm ptermNode1; ptermNode1 = (PTerm)nodeArrayList1.get(0); - if(ptermNode1 != null) - { - listNode2.add(ptermNode1); + if(ptermNode1 != null) { + listNode2 = Collections.singletonList(ptermNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -9269,18 +8685,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PTerm> listNode3 = new LinkedList<>(); + List<PTerm> listNode3; { - List<PTerm> listNode1 = new LinkedList<>(); + List<PTerm> listNode1; PTerm ptermNode2; listNode1 = (List<PTerm>)nodeArrayList1.get(0); ptermNode2 = (PTerm)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(ptermNode2 != null) @@ -9300,13 +8717,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PAstProd> listNode2 = new LinkedList<>(); + List<PAstProd> listNode2; { PAstProd pastprodNode1; pastprodNode1 = (PAstProd)nodeArrayList1.get(0); - if(pastprodNode1 != null) - { - listNode2.add(pastprodNode1); + if(pastprodNode1 != null) { + listNode2 = Collections.singletonList(pastprodNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -9322,18 +8740,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PAstProd> listNode3 = new LinkedList<>(); + List<PAstProd> listNode3; { - List<PAstProd> listNode1 = new LinkedList<>(); + List<PAstProd> listNode1; PAstProd pastprodNode2; listNode1 = (List<PAstProd>)nodeArrayList1.get(0); pastprodNode2 = (PAstProd)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(pastprodNode2 != null) @@ -9353,13 +8772,14 @@ public class Parser implements IParser List<Object> nodeList = new ArrayList<>(); List<Object> nodeArrayList1 = pop(); - List<PAstAlt> listNode2 = new LinkedList<>(); + List<PAstAlt> listNode2; { PAstAlt pastaltNode1; pastaltNode1 = (PAstAlt)nodeArrayList1.get(0); - if(pastaltNode1 != null) - { - listNode2.add(pastaltNode1); + if(pastaltNode1 != null) { + listNode2 = Collections.singletonList(pastaltNode1); + } else { + listNode2 = Collections.emptyList(); } } nodeList.add(listNode2); @@ -9375,18 +8795,19 @@ public class Parser implements IParser List<Object> nodeArrayList2 = pop(); List<Object> nodeArrayList1 = pop(); - List<PAstAlt> listNode3 = new LinkedList<>(); + List<PAstAlt> listNode3; { - List<PAstAlt> listNode1 = new LinkedList<>(); + List<PAstAlt> listNode1; PAstAlt pastaltNode2; listNode1 = (List<PAstAlt>)nodeArrayList1.get(0); pastaltNode2 = (PAstAlt)nodeArrayList2.get(0); + listNode3 = new LinkedList<>(); if(listNode1 != null) { - if(!listNode3.isEmpty()){ - listNode3.addAll(listNode1); - }else{ + if (listNode3.isEmpty() && listNode1 instanceof LinkedList<?>) { listNode3 = listNode1; + } else { + listNode3.addAll(listNode1); } } if(pastaltNode2 != null) diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt index ab8fbc09b5bc36e336cc41762629c3bb7359e39f..951becb0a777c8ab3c622ddc51a72ada9ceff33b 100644 --- a/src/main/resources/org/sablecc/sablecc/parser.txt +++ b/src/main/resources/org/sablecc/sablecc/parser.txt @@ -330,16 +330,11 @@ Macro:ParserBraceClosing $ -Macro:ParserSimpleVariableDeclaration +Macro:ParserVariableDeclaration $0$ $1$; $ -Macro:ParserListVariableDeclaration - $0$ $1$ = new LinkedList<>(); - -$ - Macro:ParserSimpleTerm $0$ = ($1$)nodeArrayList$2$.get($3$); @@ -359,6 +354,25 @@ Macro:ParserNewBodyNewTail $ +Macro:ParserTypedSingleElementList + if($1$ != null) { + $0$ = Collections.singletonList($1$); + } else { + $0$ = Collections.emptyList(); + } + +$ + +Macro:ParserTypedListAssign + $0$ = $1$; + +$ + +Macro:ParserTypedLinkedListInit + $0$ = new LinkedList<>(); + +$ + Macro:ParserTypedLinkedListAdd if($1$ != null) { @@ -370,10 +384,10 @@ $ Macro:ParserTypedLinkedListAddAll if($1$ != null) { - if(!$0$.isEmpty()){ - $0$.addAll($1$); - }else{ + if ($0$.isEmpty() && $1$ instanceof LinkedList<?>) { $0$ = $1$; + } else { + $0$.addAll($1$); } }