From 613c2388bedd7a9ad98587877d9f15c7dc99bc84 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Sun, 17 Jan 2021 19:48:17 -0800 Subject: Add for statement --- src/com/craftinginterpreters/lox/AstPrinter.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/com/craftinginterpreters/lox/AstPrinter.java') diff --git a/src/com/craftinginterpreters/lox/AstPrinter.java b/src/com/craftinginterpreters/lox/AstPrinter.java index 8f7be78..65f1916 100644 --- a/src/com/craftinginterpreters/lox/AstPrinter.java +++ b/src/com/craftinginterpreters/lox/AstPrinter.java @@ -52,6 +52,18 @@ class AstPrinter implements Expr.Visitor, Stmt.Visitor { return parenthesize("define " + statement.name.lexeme + " = ", statement.initializer); } + @Override + public String visitWhileStmt(Stmt.While statement) { + StringBuilder builder = new StringBuilder(); + + builder.append('('); + builder.append(parenthesize("while", statement.condition)); + builder.append(parenthesize("do", statement.body)); + builder.append(')'); + + return builder.toString(); + } + @Override public String visitPrintStmt(Stmt.Print statement) { return parenthesize("print", statement.expression); -- cgit v1.2.3-54-g00ecf