injection_point->alias = parse_expression(parser, 0);
injection_point->token = injection_point->alias->token;
+ consume_token_if_next(parser, Token_Type_Inserted_Semicolon);
if (peek_token(0)->type == '{') {
if (parser->injection_point) {
onyx_report_error(dir_token->pos, Error_Critical, "#inject blocks cannot be nested.");
break;
}
- default: break;
+ case ';':
+ case Token_Type_Inserted_Semicolon:
+ break;
+
+ default:
+ onyx_report_error(parser->curr->pos, Error_Critical, "Unexpected token in top-level statement, '%s'", token_name(parser->curr));
+ parser->hit_unexpected_token = 1;
+ break;
}
return;
import_node->imported_package = package_node;
import_node->import_package_itself = 1;
+ consume_token_if_next(parser, Token_Type_Inserted_Semicolon);
if (consume_token_if_next(parser, '{')) {
import_node->specified_imports = 1;
import_node->import_package_itself = 0;
isPrime :: (n: i64) => {
max := math.sqrt(n);
- for x: iter.range(cast(u64, 2), max) {
+ for x in iter.range(cast(u64, 2), max) {
if n % x == 0 {
return false;
}
}
main :: () {
- for prime: prime_generator() |> iter.take(10) {
+ for prime in prime_generator() |> iter.take(10) {
println(prime);
}
}