#ifndef __TYPES_H_ #define __TYPES_H_ typedef enum parsetypes { NILPARSETYPE, FUNCTIONDEF, FUNCEND, MATHEXPR, MEMEXPR, KEYWORDEXPR, } parsetypes; typedef enum lextypes { NILLEXTYPE, INTLIT, KEYWORD, NAME, OPENCURLY = '{', CLOSECURLY = '}', OPENBRACE = '(', CLOSEBRACE = ')', SEMICOLON = ';', ADD = '+', SUB = '-', DIV = '/', MUL = '*', } lextypes; typedef struct lexobj { lextypes t; char *data; } lexobj; typedef struct ast { char *function; int childcount; union { struct ast *children[8]; char *litteralchildren[8]; }; } ast; #endif