diff options
author | Tom Willemse | 2021-01-18 17:42:02 -0800 |
---|---|---|
committer | Tom Willemse | 2021-01-18 17:42:02 -0800 |
commit | 80394e184274eb8ec3ce03cd901e5c817ec82e2a (patch) | |
tree | 67c0b023af49684ef79c1428c1b6fc9618f159c4 /src/com/craftinginterpreters/tool/GenerateAst.java | |
parent | 613c2388bedd7a9ad98587877d9f15c7dc99bc84 (diff) | |
download | crafting-interpreters-80394e184274eb8ec3ce03cd901e5c817ec82e2a.tar.gz crafting-interpreters-80394e184274eb8ec3ce03cd901e5c817ec82e2a.zip |
Add break statementchapter-9-challenges
Diffstat (limited to 'src/com/craftinginterpreters/tool/GenerateAst.java')
-rw-r--r-- | src/com/craftinginterpreters/tool/GenerateAst.java | 12 |
1 files changed, 8 insertions, 4 deletions
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<Stmt> 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<String> 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(" }"); |