summaryrefslogtreecommitdiff
path: root/src/runtime/c/gfcc-tree.h
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2012-01-20 13:41:10 +0000
committerkr.angelov <kr.angelov@gmail.com>2012-01-20 13:41:10 +0000
commit2eee382a62a909d5a3f2f5eda94f30fe68fd5335 (patch)
treeb0b0d513535895f244214aebf6358e172b8dce6d /src/runtime/c/gfcc-tree.h
parentb9728357126f8b9a6311cca17d9f0dcc2a7bfb9b (diff)
initial import of the C runtime
Diffstat (limited to 'src/runtime/c/gfcc-tree.h')
-rw-r--r--src/runtime/c/gfcc-tree.h49
1 files changed, 0 insertions, 49 deletions
diff --git a/src/runtime/c/gfcc-tree.h b/src/runtime/c/gfcc-tree.h
deleted file mode 100644
index cc8f0fcab..000000000
--- a/src/runtime/c/gfcc-tree.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef GFCC_TREE_H
-#define GFCC_TREE_H
-
-typedef enum {
- ATOM_STRING,
- ATOM_INTEGER,
- ATOM_DOUBLE,
- ATOM_META,
- ATOM_FIRST_FUN
-} atom_type;
-
-struct Tree_{
- atom_type type;
- union {
- const char *string_value;
- int integer_value;
- double double_value;
- int size;
- } value;
- struct Tree_ *args[0];
-};
-
-typedef struct Tree_ Tree;
-
-static inline Tree *tree_get_child(Tree *t, int n) {
- return t->args[n];
-}
-
-static inline void tree_set_child(Tree *t, int n, Tree *a) {
- t->args[n] = a;
-}
-
-extern int arity(Tree *t);
-
-
-extern Tree *tree_string(const char *s);
-
-extern Tree *tree_integer(int i);
-
-extern Tree *tree_double(double d);
-
-extern Tree *tree_meta();
-
-extern Tree *tree_fun(atom_type f, int n);
-
-
-extern void tree_free(Tree *t);
-
-#endif