diff options
author | Tom Willemse | 2021-01-14 23:53:47 -0800 |
---|---|---|
committer | Tom Willemse | 2021-01-14 23:53:47 -0800 |
commit | c62b73a2477b9fa625285e9c2ca1e51c2bcb8024 (patch) | |
tree | d8ea9b22fcdc28d34a1aec9f40a87ddd2dfd9660 /src/com/craftinginterpreters/tool/GenerateAst.java | |
parent | ca9fd3ae3a1ef5ca1fbe33a83abb12e656a2556f (diff) | |
download | crafting-interpreters-c62b73a2477b9fa625285e9c2ca1e51c2bcb8024.tar.gz crafting-interpreters-c62b73a2477b9fa625285e9c2ca1e51c2bcb8024.zip |
Add branching primitives
Diffstat (limited to 'src/com/craftinginterpreters/tool/GenerateAst.java')
-rw-r--r-- | src/com/craftinginterpreters/tool/GenerateAst.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/com/craftinginterpreters/tool/GenerateAst.java b/src/com/craftinginterpreters/tool/GenerateAst.java index c9f1398..a3935e1 100644 --- a/src/com/craftinginterpreters/tool/GenerateAst.java +++ b/src/com/craftinginterpreters/tool/GenerateAst.java @@ -16,10 +16,13 @@ public class GenerateAst { defineAst(outputDir, "Expr", Arrays.asList("Assign : Token name, Expr value", "Binary : Expr left, Token operator, Expr right", - "Grouping : Expr expression", "Literal : Object value", "Unary : Token operator, Expr right", + "Grouping : Expr expression", "Literal : Object value", + "Logical : Expr left, Token operator, Expr right", "Unary : Token operator, Expr right", "Variable : Token name")); - defineAst(outputDir, "Stmt", Arrays.asList("Block : List<Stmt> statements", "Expression : Expr expression", - "Print : Expr expression", "Var : Token name, Expr initializer")); + 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")); } private static void defineAst(String outputDir, String baseName, List<String> types) throws IOException { |