summaryrefslogtreecommitdiff
path: root/ast.h
diff options
context:
space:
mode:
authorCarson Fleming <cflems@cflems.net>2026-07-17 03:20:34 -0700
committerCarson Fleming <cflems@cflems.net>2026-07-17 03:20:34 -0700
commit155d1971b7cd56d3206808c36c6b40357bc31cbb (patch)
treeb06b4c59d7eaa8084985b82e73b975d194eb8929 /ast.h
parent99af8891f6672493939bf3b43084082884e28d04 (diff)
downloadccc-155d1971b7cd56d3206808c36c6b40357bc31cbb.tar.gz
almost fibonacci but it needs the type checker
Diffstat (limited to 'ast.h')
-rw-r--r--ast.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/ast.h b/ast.h
index 4b8f0ee..a2d576b 100644
--- a/ast.h
+++ b/ast.h
@@ -136,6 +136,12 @@ struct return_node {
struct expr_node* ret_val; /* null to return void */
};
+struct if_node {
+ struct expr_node* cond;
+ struct stmt_node* true_branch;
+ struct stmt_node* false_branch;
+};
+
struct stmt_node {
enum {
STMT_EMPTY,
@@ -143,12 +149,14 @@ struct stmt_node {
STMT_VAR_DECL,
STMT_RETURN,
STMT_GROUP,
+ STMT_IF,
} type;
union {
struct expr_node expr;
struct var_decl_node var_decl;
struct return_node return_;
struct group_node group;
+ struct if_node if_;
} inner;
struct stmt_node* next;