diff options
| author | Ben Culkin <scorpress@gmail.com> | 2023-06-25 15:54:24 -0400 |
|---|---|---|
| committer | Ben Culkin <scorpress@gmail.com> | 2023-06-25 15:54:24 -0400 |
| commit | 9de5a19d573de7289cbd5a65ea5d101ddaf8db64 (patch) | |
| tree | b9f6a80cfd4f620804049b903bf8279f41f1520f | |
| parent | 9c15e27c338e24595baf6a4d3d90d7bbf314436b (diff) | |
Cleanups
| -rw-r--r-- | src/main/java/bjc/rgens/parser/RGrammarBuilder.java | 11 | ||||
| -rw-r--r-- | src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java | 48 |
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; } |
