diff options
Diffstat (limited to 'ast.h')
| -rw-r--r-- | ast.h | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -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; |
