scope_t *last_scope = scope;
set_scope(&statement->compound.scope);
- statement_t *last_statement = NULL;
-
- bool only_decls_so_far = true;
+ statement_t **anchor = &statement->compound.statements;
+ bool only_decls_so_far = true;
while (token.type != '}' && token.type != T_EOF) {
statement_t *sub_statement = intern_parse_statement();
if (is_invalid_statement(sub_statement)) {
}
}
- if (last_statement != NULL) {
- last_statement->base.next = sub_statement;
- } else {
- statement->compound.statements = sub_statement;
- }
+ *anchor = sub_statement;
while (sub_statement->base.next != NULL)
sub_statement = sub_statement->base.next;
- last_statement = sub_statement;
+ anchor = &sub_statement->base.next;
}
if (token.type == '}') {