From e2c0465e081585fe63c507c7cb6931b51587a0d1 Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Mon, 25 Apr 2022 12:00:03 +0200 Subject: [PATCH] Use generics in rest of GenerateAlternativeCodeForParser --- .../GenerateAlternativeCodeForParser.java | 96 ++++++++----------- 1 file changed, 40 insertions(+), 56 deletions(-) diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java index 2b89df8..24682f1 100644 --- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java +++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java @@ -38,7 +38,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter ResolveTransformIds transformIds, ComputeCGNomenclature CG, ComputeSimpleTermPosition CTP, - Map simpleTermTransformMap, + Map<Node, String> simpleTermTransformMap, MacroExpander macros, List<Node> listSimpleTermTransform, Map<Node, String> simpleTermOrsimpleListTermTypes) @@ -66,22 +66,21 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter @Override public void inAAltTransform(AAltTransform node) { - Object temp[] = node.getTerms().toArray(); String type_name; int position; - for(int i = 0; i < temp.length; i++) + for(PTerm term : node.getTerms()) { - if(simpleTermTransformMap.get(temp[i]) != null) + if(simpleTermTransformMap.get(term) != null) { - type_name = simpleTermTransformMap.get(temp[i]); + type_name = simpleTermTransformMap.get(term); } else { - type_name = CG.getAltTransformElemTypes().get(temp[i]); + type_name = CG.getAltTransformElemTypes().get(term); } - position = CG.getTermNumbers().get(temp[i]); + position = CG.getTermNumbers().get(term); try { @@ -109,24 +108,23 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter @Override public void outAAltTransform(AAltTransform node) { - Object temp[] = node.getTerms().toArray(); String type_name; int position; try { - for(int i = 0; i < temp.length; i++) + for(PTerm term : node.getTerms()) { - if(simpleTermTransformMap.get(temp[i]) != null) + if(simpleTermTransformMap.get(term) != null) { - type_name = simpleTermTransformMap.get(temp[i]); + type_name = simpleTermTransformMap.get(term); } else { - type_name = CG.getAltTransformElemTypes().get(temp[i]); + type_name = CG.getAltTransformElemTypes().get(term); } - position = CG.getTermNumbers().get(temp[i]); + position = CG.getTermNumbers().get(term); if(type_name.startsWith("L")) { @@ -156,24 +154,22 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter } } - public void inAParams(LinkedList list_param) + public void inAParams(List<PTerm> list_param) { String type_name; int position; - Object temp[] = list_param.toArray(); - - for(int i = 0; i < temp.length; i++) + for(PTerm term : list_param) { - if(simpleTermTransformMap.get(temp[i]) != null) + if(simpleTermTransformMap.get(term) != null) { - type_name = simpleTermTransformMap.get(temp[i]); + type_name = simpleTermTransformMap.get(term); } else { - type_name = CG.getAltTransformElemTypes().get(temp[i]); + type_name = CG.getAltTransformElemTypes().get(term); } - position = CG.getTermNumbers().get(temp[i]); + position = CG.getTermNumbers().get(term); try { @@ -383,20 +379,18 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter try { macros.apply(file, "ParserBraceOpening"); - Object temp[] = node.getListTerms().toArray(); - - for(int i = 0; i < temp.length; i++) + for(PListTerm listTerm : node.getListTerms()) { String type_name; - if(simpleTermTransformMap.get(temp[i]) != null) + if(simpleTermTransformMap.get(listTerm) != null) { - type_name = simpleTermTransformMap.get(temp[i]); + type_name = simpleTermTransformMap.get(listTerm); } else { - type_name = CG.getAltTransformElemTypes().get(temp[i]); + type_name = CG.getAltTransformElemTypes().get(listTerm); } - int position = CG.getTermNumbers().get(temp[i]); + int position = CG.getTermNumbers().get(listTerm); if(type_name.startsWith("L")) { @@ -424,21 +418,20 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter { try { - Object temp[] = node.getListTerms().toArray(); int listPosition = CG.getTermNumbers().get(node); - for(int i = 0; i < temp.length; i++) + for(PListTerm listTerm : node.getListTerms()) { String type_name; - if(simpleTermTransformMap.get(temp[i]) != null) + if(simpleTermTransformMap.get(listTerm) != null) { - type_name = simpleTermTransformMap.get(temp[i]); + type_name = simpleTermTransformMap.get(listTerm); } else { - type_name = CG.getAltTransformElemTypes().get(temp[i]); + type_name = CG.getAltTransformElemTypes().get(listTerm); } - int position = CG.getTermNumbers().get(temp[i]); + int position = CG.getTermNumbers().get(listTerm); if(!type_name.equals("null")) { @@ -490,25 +483,19 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter if(node.getParams().size() > 0) { - Object temp[] = node.getParams().toArray(); String isNotTheFirstParam = ""; - for(int i = 0; i < temp.length; i++) + for(PTerm term : node.getParams()) { - if(simpleTermTransformMap.get(temp[i]) != null) + if(simpleTermTransformMap.get(term) != null) { - type_name = simpleTermTransformMap.get(temp[i]); + type_name = simpleTermTransformMap.get(term); } else { - type_name = CG.getAltTransformElemTypes().get(temp[i]); - } - position = CG.getTermNumbers().get(temp[i]); - - if(i != 0) - { - isNotTheFirstParam = ", "; + type_name = CG.getAltTransformElemTypes().get(term); } + position = CG.getTermNumbers().get(term); if(type_name.equals("null")) { @@ -527,6 +514,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter macros.apply(file, "ParserNew&ListBodyParams", new String[] {isNotTheFirstParam+type_name, ""+position}); } + isNotTheFirstParam = ", "; } } macros.apply(file, "ParserNewBodyNewTail"); @@ -567,25 +555,19 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter if(node.getParams().size() > 0) { - Object temp[] = node.getParams().toArray(); String isNotTheFirstParam = ""; - for(int i = 0; i < temp.length; i++) + for(PTerm term : node.getParams()) { - if(simpleTermTransformMap.get(temp[i]) != null) + if(simpleTermTransformMap.get(term) != null) { - type_name = simpleTermTransformMap.get(temp[i]); + type_name = simpleTermTransformMap.get(term); } else { - type_name = CG.getAltTransformElemTypes().get(temp[i]); - } - position = CG.getTermNumbers().get(temp[i]); - - if(i != 0) - { - isNotTheFirstParam = ", "; + type_name = CG.getAltTransformElemTypes().get(term); } + position = CG.getTermNumbers().get(term); if(type_name.equals("null")) { @@ -603,6 +585,8 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter } macros.apply(file, "ParserNew&ListBodyParams", new String[] {isNotTheFirstParam+type_name, ""+position}); } + + isNotTheFirstParam = ", "; } } macros.apply(file, "ParserNewBodyNewTail"); -- GitLab