summaryrefslogtreecommitdiff
path: root/ast.h
diff options
context:
space:
mode:
Diffstat (limited to 'ast.h')
-rw-r--r--ast.h51
1 files changed, 0 insertions, 51 deletions
diff --git a/ast.h b/ast.h
deleted file mode 100644
index 6896c2b..0000000
--- a/ast.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef _ast_h
-#define _ast_h
-
-#include <stdlib.h>
-#include <stddef.h>
-
-typedef enum {
- AST_LIST,
- AST_NUM,
- AST_IDENT,
- AST_STRING,
- AST_ARR,
-} AstTy;
-
-struct _astnode;
-typedef struct _astnode AstNode;
-
-typedef struct {
- size_t len;
- size_t cap;
- AstNode *vals;
-} AstVec;
-
-struct _astnode {
- AstTy ty;
- union {
- int num;
- AstVec list;
- char *str;
- } as;
-};
-
-
-AstVec astvec_new();
-void astvec_append(AstVec *v, AstNode val);
-void astnode_append(AstNode *l, AstNode val);
-
-AstNode astnode_new_num(int n);
-AstNode astnode_new_list();
-AstNode astnode_new_arr();
-AstNode astnode_new_ident(const char *s);
-AstNode astnode_new_string(const char *s);
-
-void astnode_disp(AstNode *a);
-void astnode_free(AstNode *a);
-
-const char *ast_ty_to_str(AstTy ty);
-
-
-
-#endif