From 6bf00afde4801e29b5dd7116167c5e3e5bbc793a Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Wed, 15 May 2024 18:48:43 +0200 Subject: [PATCH] Avoid redundant counting of popCount in parser alternative codegen --- src/main/java/org/sablecc/sablecc/GenParser.java | 3 ++- .../sablecc/GenerateAlternativeCodeForParser.java | 12 +++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/sablecc/sablecc/GenParser.java b/src/main/java/org/sablecc/sablecc/GenParser.java index 98bcc81..7799a6f 100644 --- a/src/main/java/org/sablecc/sablecc/GenParser.java +++ b/src/main/java/org/sablecc/sablecc/GenParser.java @@ -414,7 +414,8 @@ public class GenParser extends DepthFirstAdapter file, transformIds, CG, CTP, simpleTermTransform, macros, listSimpleTermTransform, - transformIds.simpleTermOrsimpleListTermTypes); + transformIds.simpleTermOrsimpleListTermTypes, + stack.size()); node.apply(aParsedAltAdapter); } diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java index 633ef58..0e64438 100644 --- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java +++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java @@ -30,7 +30,6 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter private Map<Node, String> simpleTermTransformMap; private List<Node> listSimpleTermTransform; private Map<Node, String> simpleTermOrsimpleListTermTypes; - private int popCount; GenerateAlternativeCodeForParser(File pkgDir, String aParsedAltName, @@ -42,7 +41,8 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter Map<Node, String> simpleTermTransformMap, MacroExpander macros, List<Node> listSimpleTermTransform, - Map<Node, String> simpleTermOrsimpleListTermTypes) + Map<Node, String> simpleTermOrsimpleListTermTypes, + int popCount) { this.pkgDir = pkgDir; this.file = file; @@ -55,13 +55,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter this.macros = macros; this.listSimpleTermTransform = listSimpleTermTransform; this.simpleTermOrsimpleListTermTypes = simpleTermOrsimpleListTermTypes; - - this.popCount = 0; - } - - @Override - public void caseAElem(final AElem node) { - popCount++; + this.popCount = popCount; } private String lookupInternalTypeName(Node term) { -- GitLab