From bfd97dce0cd0b532b0a6065fd1cf891169ebd204 Mon Sep 17 00:00:00 2001 From: rodri Date: Thu, 19 Sep 2024 21:21:26 +0000 Subject: fixes and advances. --- dat.h | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) (limited to 'dat.h') diff --git a/dat.h b/dat.h index 052270f..7937e86 100644 --- a/dat.h +++ b/dat.h @@ -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 */ }; -- cgit v1.2.3