else if into elif
This commit is contained in:
@@ -264,16 +264,19 @@ parse_stmt_scope(Ast_Scope *scope_defined_outside = 0){
|
||||
Ast_If_Node *if_node = ast_if_node(token, init_val, expr, if_block);
|
||||
if_nodes.add(if_node);
|
||||
|
||||
while(token_is(SAME_SCOPE) && token_is_keyword(keyword_else, 1)){
|
||||
while(token_is(SAME_SCOPE) && (token_is_keyword(keyword_elif, 1) || (token_is_keyword(keyword_else, 1)))){
|
||||
token_next();
|
||||
token = token_next();
|
||||
if(token_match_keyword(keyword_if)){
|
||||
token = token_get();
|
||||
if(token_match_keyword(keyword_elif)){
|
||||
assert(token->intern_val == keyword_elif);
|
||||
Ast_Expr *expr = parse_expr();
|
||||
Ast_Scope *else_if_block = parse_stmt_scope();
|
||||
Ast_If_Node *if_node = ast_if_node(token, 0, expr, else_if_block);
|
||||
if_nodes.add(if_node);
|
||||
}
|
||||
else{
|
||||
token_match_keyword(keyword_else);
|
||||
assert(token->intern_val == keyword_else);
|
||||
Ast_Scope *else_block = parse_stmt_scope();
|
||||
Ast_If_Node *if_node = ast_if_node(token, 0, 0, else_block);
|
||||
if_nodes.add(if_node);
|
||||
|
||||
Reference in New Issue
Block a user