From 80394e184274eb8ec3ce03cd901e5c817ec82e2a Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Mon, 18 Jan 2021 17:42:02 -0800 Subject: Add break statement --- src/com/craftinginterpreters/tool/GenerateAst.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/com/craftinginterpreters/tool') diff --git a/src/com/craftinginterpreters/tool/GenerateAst.java b/src/com/craftinginterpreters/tool/GenerateAst.java index 8845c6e..51b4ce3 100644 --- a/src/com/craftinginterpreters/tool/GenerateAst.java +++ b/src/com/craftinginterpreters/tool/GenerateAst.java @@ -22,7 +22,7 @@ public class GenerateAst { defineAst(outputDir, "Stmt", Arrays.asList("Block : List statements", "Expression : Expr expression", "If : Expr condition, Stmt thenBranch, Stmt elseBranch", "Print : Expr expression", - "Var : Token name, Expr initializer", "While : Expr condition, Stmt body")); + "Var : Token name, Expr initializer", "While : Expr condition, Stmt body", "Break : ")); } private static void defineAst(String outputDir, String baseName, List types) throws IOException { @@ -71,8 +71,10 @@ public class GenerateAst { // Store parameters in fields. String[] fields = fieldList.split(", "); for (String field : fields) { - String name = field.split(" ")[1]; - writer.println(" this." + name + " = " + name + ";"); + if (!field.isEmpty()) { + String name = field.split(" ")[1]; + writer.println(" this." + name + " = " + name + ";"); + } } writer.println(" }"); @@ -87,7 +89,9 @@ public class GenerateAst { // Fields writer.println(); for (String field : fields) { - writer.println(" final " + field + ";"); + if (!field.isEmpty()) { + writer.println(" final " + field + ";"); + } } writer.println(" }"); -- cgit v1.3-2-g0d8e