aboutsummaryrefslogtreecommitdiff
path: root/src/parser.hpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2015-12-24 14:37:43 -0700
committerAndrew Kelley <superjoe30@gmail.com>2015-12-24 14:37:43 -0700
commita030b60aebaf6b0e0c07fd5faa1e132ff7e55bbc (patch)
treedd904751b8dc721fac9449c1887850b6371b55f1 /src/parser.hpp
parent2e74889c3ce61aae8e9e461d1f49a9b5cb79edc2 (diff)
downloadzig-a030b60aebaf6b0e0c07fd5faa1e132ff7e55bbc.tar.gz
zig-a030b60aebaf6b0e0c07fd5faa1e132ff7e55bbc.zip
add while loop
Diffstat (limited to 'src/parser.hpp')
-rw-r--r--src/parser.hpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/parser.hpp b/src/parser.hpp
index d36d5d883f..af24b29131 100644
--- a/src/parser.hpp
+++ b/src/parser.hpp
@@ -45,6 +45,7 @@ enum NodeType {
NodeTypeVoid,
NodeTypeBoolLiteral,
NodeTypeIfExpr,
+ NodeTypeWhileExpr,
NodeTypeLabel,
NodeTypeGoto,
NodeTypeAsmExpr,
@@ -220,6 +221,11 @@ struct AstNodeIfExpr {
AstNode *else_node; // null, block node, or other if expr node
};
+struct AstNodeWhileExpr {
+ AstNode *condition;
+ AstNode *body;
+};
+
struct AstNodeLabel {
Buf name;
};
@@ -334,6 +340,7 @@ struct AstNode {
AstNodeArrayAccessExpr array_access_expr;
AstNodeUse use;
AstNodeIfExpr if_expr;
+ AstNodeWhileExpr while_expr;
AstNodeLabel label;
AstNodeGoto go_to;
AstNodeAsmExpr asm_expr;