diff options
Diffstat (limited to 'dat.h')
-rw-r--r-- | dat.h | 44 |
1 files changed, 29 insertions, 15 deletions
@@ -7,10 +7,29 @@ enum TQUAT, }; -typedef struct Var Var; -typedef struct Symbol Symbol; +enum +{ + NODENUM, + NODESYM, +}; + typedef struct Const Const; typedef struct Builtin Builtin; +typedef struct Var Var; +typedef struct Symbol Symbol; +typedef struct Node Node; + +struct Const +{ + char *name; + double val; +}; + +struct Builtin +{ + char *name; + double (*fn)(); +}; struct Var { @@ -27,21 +46,16 @@ struct Symbol char *name; int type; union { - Var var; - double val; /* constant value */ - double (*fn)(double); - } u; + Var var; /* ID */ + double dconst; /* CONST */ + double (*fn)(double); /* BLTIN */ + }; Symbol *next; }; -struct Const +struct Node { - char *name; - double val; -}; - -struct Builtin -{ - char *name; - double (*fn)(); + int type; + double num; /* NODENUM */ + Symbol *sym; /* NODESYM */ }; |