aboutsummaryrefslogtreecommitdiff
path: root/src/ast.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2025-12-29 00:07:16 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2026-01-06 17:19:52 +0200
commitc7b41b47d038fd4973da05224b7aa29efaae1784 (patch)
treead439ff996aa5121bced46bdb7e42eb419702be0 /src/ast.c
parentd501b2c9ebab6f5b90c808ea0e5fde912818707d (diff)
downloadfwd-c7b41b47d038fd4973da05224b7aa29efaae1784.tar.gz
fwd-c7b41b47d038fd4973da05224b7aa29efaae1784.zip
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
Diffstat (limited to 'src/ast.c')
-rw-r--r--src/ast.c16
1 files changed, 10 insertions, 6 deletions
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