aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/craftinginterpreters/lox/AstPrinter.java
diff options
context:
space:
mode:
authorGravatar Tom Willemse2021-01-17 19:48:17 -0800
committerGravatar Tom Willemse2021-01-17 19:48:17 -0800
commit613c2388bedd7a9ad98587877d9f15c7dc99bc84 (patch)
treed9b5f71b3f93fbaf9263a9aebac76d1bfbc9fedb /src/com/craftinginterpreters/lox/AstPrinter.java
parent2a72de9f815deb0ea3e0c9a26ec5ea53f2f723d3 (diff)
downloadcrafting-interpreters-613c2388bedd7a9ad98587877d9f15c7dc99bc84.tar.gz
crafting-interpreters-613c2388bedd7a9ad98587877d9f15c7dc99bc84.zip
Add for statement
Diffstat (limited to 'src/com/craftinginterpreters/lox/AstPrinter.java')
-rw-r--r--src/com/craftinginterpreters/lox/AstPrinter.java12
1 files changed, 12 insertions, 0 deletions
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
@@ -53,6 +53,18 @@ class AstPrinter implements Expr.Visitor<String>, Stmt.Visitor<String> {
}
@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);
}