#include #include #include "types.h" ast *newast(char *fname) { ast *a = malloc(sizeof(ast)); a->fname = fname; return a; } values *newastval(ast *a) { values *v = malloc(sizeof(values)); v->ts[v->argc] = FUN; v->as[0] = a; v->argc = 1; } values *newintval(int i) { values *v = malloc(sizeof(values)); v->ts[v->argc] = INT; v->is[0] = i; v->argc = 1; } values *addval(values *vs, values *v) { if (v->ts[0] == INT) vs->is[vs->argc] = v->is[0]; else vs->as[vs->argc] = v->as[0]; vs->ts[vs->argc] = v->ts[0]; vs->argc++; return vs; }