summaryrefslogtreecommitdiffstats
path: root/src/com/craftinginterpreters/tool/GenerateAst.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/craftinginterpreters/tool/GenerateAst.java')
-rw-r--r--src/com/craftinginterpreters/tool/GenerateAst.java9
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 {