summaryrefslogtreecommitdiff
path: root/src/parser/parser_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/parser_core.c')
-rw-r--r--src/parser/parser_core.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/parser/parser_core.c b/src/parser/parser_core.c
index 464c905..8410203 100644
--- a/src/parser/parser_core.c
+++ b/src/parser/parser_core.c
@@ -267,6 +267,10 @@ ASTNode *parse_program_nodes(ParserContext *ctx, Lexer *l)
s = ast_create(NODE_RAW_STMT);
s->raw_stmt.content = content;
}
+ else if (t.type == TOK_DEF)
+ {
+ s = parse_def(ctx, l);
+ }
else if (t.type == TOK_IDENT)
{
// Inline function: inline fn name(...) { }
@@ -337,9 +341,13 @@ ASTNode *parse_program_nodes(ParserContext *ctx, Lexer *l)
{
s = parse_var_decl(ctx, l);
}
+ else if (t.len == 3 && strncmp(t.start, "def", 3) == 0)
+ {
+ s = parse_def(ctx, l);
+ }
else if (t.len == 5 && strncmp(t.start, "const", 5) == 0)
{
- s = parse_const(ctx, l);
+ zpanic_at(t, "'const' for declarations is deprecated. Use 'def' for constants or 'var x: const T' for read-only variables.");
}
else if (t.len == 6 && strncmp(t.start, "extern", 6) == 0)
{