From ff10f5e4251187161b60f54f4025d57acbcf648e Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Thu, 20 Jul 2023 21:39:29 +0200 Subject: [PATCH] Refactor code generation for New term variable declarations --- .../GenerateAlternativeCodeForParser.java | 39 ++++++------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java index d8ab8f0..48f59e3 100644 --- a/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java +++ b/src/main/java/org/sablecc/sablecc/GenerateAlternativeCodeForParser.java @@ -152,19 +152,20 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter } } - public void inAParams(List<PTerm> list_param) + private void generateNewTermDeclarations(List<PTerm> params) { - for(PTerm term : list_param) + try { - try + macros.apply(file, "ParserBraceOpening"); + for(PTerm term : params) { generateVariableDeclaration(term); } - catch(IOException e) - { - throw new RuntimeException("An error occured while writing to " + - new File(pkgDir, "Parser.java").getAbsolutePath(), e); - } + } + catch(IOException e) + { + throw new RuntimeException("An error occured while writing to " + + new File(pkgDir, "Parser.java").getAbsolutePath(), e); } } @@ -247,31 +248,13 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter @Override public void inANewTerm(ANewTerm node) { - try - { - macros.apply(file, "ParserBraceOpening"); - } - catch(IOException e) - { - throw new RuntimeException("An error occured while writing to " + - new File(pkgDir, "Parser.java").getAbsolutePath(), e); - } - inAParams(node.getParams()); + generateNewTermDeclarations(node.getParams()); } @Override public void inANewListTerm(ANewListTerm node) { - try - { - macros.apply(file, "ParserBraceOpening"); - } - catch(IOException e) - { - throw new RuntimeException("An error occured while writing to " + - new File(pkgDir, "Parser.java").getAbsolutePath(), e); - } - inAParams(node.getParams()); + generateNewTermDeclarations(node.getParams()); } @Override -- GitLab