summaryrefslogtreecommitdiff
path: root/ast.c
diff options
context:
space:
mode:
Diffstat (limited to 'ast.c')
-rw-r--r--ast.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ast.c b/ast.c
index 07c0f34..94c0a66 100644
--- a/ast.c
+++ b/ast.c
@@ -2,6 +2,7 @@
#include <stdlib.h>
#include <stddef.h>
#include <stdio.h>
+#include <assert.h>
AstVec astvec_new() {
AstNode *vals = malloc(2 * sizeof(AstNode));
@@ -23,6 +24,12 @@ void astvec_append(AstVec *v, AstNode val) {
v->len ++;
}
+void astnode_append(AstNode *l, AstNode val) {
+ printf(" astnode_append: %d\n",l->ty);
+ assert(l->ty == AST_LIST);
+ astvec_append(&l->as.list, val);
+}
+
AstNode astnode_new_num(int n) {
return (AstNode){
.ty = AST_NUM,
@@ -41,6 +48,3 @@ AstNode astnode_new_list() {
};
}
-
-
-