From 9de5a19d573de7289cbd5a65ea5d101ddaf8db64 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Sun, 25 Jun 2023 15:54:24 -0400 Subject: Cleanups --- .../rgens/parser/templates/GrammarTemplate.java | 48 +++++++++++----------- 1 file changed, 23 insertions(+), 25 deletions(-) (limited to 'src/main/java/bjc/rgens/parser/templates') 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 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 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 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; } -- cgit v1.2.3