aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser.h
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2022-03-30 17:07:12 +0200
committerBad Diode <bd@badd10de.dev>2022-03-30 17:07:12 +0200
commit4b2cb6a1bdd2667ba827d17dde5fad955f2250bf (patch)
tree70a2038c2d823d0a54a70ab2f1633b51dc44967e /src/parser.h
parentf585af63190b3eb5a3337fb1667da72c7f5b5eca (diff)
downloadbdl-4b2cb6a1bdd2667ba827d17dde5fad955f2250bf.tar.gz
bdl-4b2cb6a1bdd2667ba827d17dde5fad955f2250bf.zip
Add initial parsing of variable definitions
Diffstat (limited to 'src/parser.h')
-rw-r--r--src/parser.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/parser.h b/src/parser.h
index c275195..de712e1 100644
--- a/src/parser.h
+++ b/src/parser.h
@@ -9,11 +9,12 @@ typedef struct Parser {
9} Parser; 9} Parser;
10 10
11typedef enum NodeType { 11typedef enum NodeType {
12 // NODE_FUNCALL,
13 NODE_BUILTIN, 12 NODE_BUILTIN,
14 NODE_NUMBER, 13 NODE_NUMBER,
15 NODE_BOOL, 14 NODE_BOOL,
16 NODE_STRING, 15 NODE_STRING,
16 NODE_SYMBOL,
17 NODE_DEF,
17} NodeType; 18} NodeType;
18 19
19typedef struct Node { 20typedef struct Node {
@@ -38,6 +39,13 @@ typedef struct Node {
38 TokenType type; 39 TokenType type;
39 struct Node **args; 40 struct Node **args;
40 } builtin; 41 } builtin;
42
43 // Variable definition.
44 struct {
45 struct Node *symbol;
46 struct Node *value;
47 // TODO: type information
48 } def;
41 }; 49 };
42} Node; 50} Node;
43 51