From 90b0d817fedfa5715b195e16da67fa6bdd67638e Mon Sep 17 00:00:00 2001 From: Kimplul Date: Mon, 29 Dec 2025 00:07:16 +0200 Subject: work towards a simple integer vector implementation + Hopefully shows that useful programs can be implemented with the rules present + Still missing at least external functions with non-void returns --- src/ast.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/ast.c') diff --git a/src/ast.c b/src/ast.c index f8b3447..9515775 100644 --- a/src/ast.c +++ b/src/ast.c @@ -215,11 +215,12 @@ void ast_dump(int depth, struct ast *n) DUMP(AST_IF); DUMP(AST_NIL); DUMP(AST_LET); + DUMP(AST_PUT); + DUMP(AST_WRITE); DUMP(AST_INIT); DUMP(AST_CALL); DUMP(AST_PROC_DEF); DUMP(AST_VAR_DEF); - DUMP(AST_DOT); DUMP(AST_BLOCK); DUMP(AST_ID); DUMP(AST_EMPTY); @@ -247,10 +248,11 @@ void ast_dump(int depth, struct ast *n) DUMP(AST_BNEG); DUMP(AST_SIZEOF); DUMP(AST_AS); - DUMP(AST_ARR); - DUMP(AST_ASSIGN); DUMP(AST_CONSTRUCTION); DUMP(AST_CONSTRUCT); + DUMP(AST_DECONSTRUCTION); + DUMP(AST_DECONSTRUCT); + DUMP(AST_EXPLODE); DUMP(AST_SELF); DUMP(AST_FORGET); DUMP(AST_PASTE); @@ -661,11 +663,12 @@ const char *ast_str(enum ast_kind k) CASE(AST_IF); CASE(AST_NIL); CASE(AST_LET); + CASE(AST_PUT); + CASE(AST_WRITE); CASE(AST_INIT); CASE(AST_CALL); CASE(AST_PROC_DEF); CASE(AST_VAR_DEF); - CASE(AST_DOT); CASE(AST_BLOCK); CASE(AST_ID); CASE(AST_EMPTY); @@ -693,8 +696,6 @@ const char *ast_str(enum ast_kind k) CASE(AST_BNEG); CASE(AST_SIZEOF); CASE(AST_AS); - CASE(AST_ARR); - CASE(AST_ASSIGN); CASE(AST_CONSTRUCTION); CASE(AST_CONSTRUCT); CASE(AST_SELF); @@ -710,6 +711,9 @@ const char *ast_str(enum ast_kind k) CASE(AST_CONST_BOOL); CASE(AST_CONST_FLOAT); CASE(AST_CONST_STR); + CASE(AST_DECONSTRUCT); + CASE(AST_DECONSTRUCTION); + CASE(AST_EXPLODE); } #undef CASE -- cgit v1.2.3