More for loop variations working
This commit is contained in:
@@ -203,12 +203,14 @@ parse_block(){
|
||||
Ast_Expr *iter = 0;
|
||||
|
||||
if(!token_is(OPEN_SCOPE)){
|
||||
Ast_Expr *expr_first = parse_expr();
|
||||
init = parse_init_stmt(expr_first);
|
||||
if(!token_is(TK_Comma)){
|
||||
Ast_Expr *expr_first = parse_expr();
|
||||
init = parse_init_stmt(expr_first);
|
||||
}
|
||||
|
||||
|
||||
if(token_match(TK_Comma)){
|
||||
cond = parse_expr();
|
||||
if(!token_is(TK_Comma)) cond = parse_expr();
|
||||
if(token_match(TK_Comma)){
|
||||
iter = parse_expr();
|
||||
iter = parse_init_stmt(iter);
|
||||
@@ -480,12 +482,15 @@ parse_struct(Token *pos){
|
||||
token_match(OPEN_SCOPE);
|
||||
do{
|
||||
Token *token = token_get();
|
||||
|
||||
Ast_Named *named = parse_named(false);
|
||||
named->flags = set_flag(named->flags, AST_AGGREGATE_CHILD);
|
||||
if(!named) parsing_error(token, "Failed to parse struct member");
|
||||
named->flags = set_flag(named->flags, AST_AGGREGATE_CHILD);
|
||||
|
||||
if(named->kind == AST_CONST){
|
||||
members_const.add((Ast_Const *)named);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
assert(named->kind == AST_VAR);
|
||||
members.add((Ast_Var *)named);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user