summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Culkin <scorpress@gmail.com>2023-06-25 15:54:24 -0400
committerBen Culkin <scorpress@gmail.com>2023-06-25 15:54:24 -0400
commit9de5a19d573de7289cbd5a65ea5d101ddaf8db64 (patch)
treeb9f6a80cfd4f620804049b903bf8279f41f1520f
parent9c15e27c338e24595baf6a4d3d90d7bbf314436b (diff)
Cleanups
-rw-r--r--src/main/java/bjc/rgens/parser/RGrammarBuilder.java11
-rw-r--r--src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java48
2 files changed, 28 insertions, 31 deletions
diff --git a/src/main/java/bjc/rgens/parser/RGrammarBuilder.java b/src/main/java/bjc/rgens/parser/RGrammarBuilder.java
index a1efcb3..b09c9e4 100644
--- a/src/main/java/bjc/rgens/parser/RGrammarBuilder.java
+++ b/src/main/java/bjc/rgens/parser/RGrammarBuilder.java
@@ -89,13 +89,12 @@ public class RGrammarBuilder {
if(rules.containsKey(rName)) {
return rules.get(rName);
- } else {
- Rule ret = new Rule(rName);
-
- rules.put(rName, ret);
-
- return ret;
}
+
+ Rule ret = new Rule(rName);
+ rules.put(rName, ret);
+
+ return ret;
}
/**
diff --git a/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java b/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java
index 6303fa6..8663372 100644
--- a/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java
+++ b/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java
@@ -76,33 +76,31 @@ public class GrammarTemplate {
List<TemplateElement> elements = new ArrayList<>();
GrammarTemplate template = new GrammarTemplate(elements);
- Scanner scn = new Scanner(rdr);
- scn.useDelimiter("\\R");
-
- int lno = 0;
- while(scn.hasNextLine()) {
- String ln = scn.nextLine();
- lno += 1;
-
- Tree<String> kid = new SimpleTree<>(String.format("INFO: Line %d", lno));
- switch(ln.charAt(0)) {
- case '#':
- // Ignore comments
- break;
- case '/':
- handlePragma(elements, template, ln.substring(1), kid);
- break;
- default:
- handleLine(elements, template, ln, kid);
- }
-
- if (kid.size() > 0) {
- errs.addChild(kid);
+ try (Scanner scn = new Scanner(rdr)) {
+ scn.useDelimiter("\\R");
+
+ int lno = 0;
+ while(scn.hasNextLine()) {
+ String ln = scn.nextLine();
+ lno += 1;
+
+ Tree<String> kid = new SimpleTree<>(String.format("INFO: Line %d", lno));
+ switch(ln.charAt(0)) {
+ case '#':
+ // Ignore comments
+ break;
+ case '/':
+ handlePragma(elements, template, ln.substring(1), kid);
+ break;
+ default:
+ handleLine(elements, template, ln, kid);
+ }
+
+ if (kid.size() > 0) {
+ errs.addChild(kid);
+ }
}
}
-
- scn.close();
-
return template;
}