diff options
author | Bad Diode <bd@badd10de.dev> | 2022-03-30 17:07:12 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2022-03-30 17:07:12 +0200 |
commit | 4b2cb6a1bdd2667ba827d17dde5fad955f2250bf (patch) | |
tree | 70a2038c2d823d0a54a70ab2f1633b51dc44967e /src/parser.h | |
parent | f585af63190b3eb5a3337fb1667da72c7f5b5eca (diff) | |
download | bdl-4b2cb6a1bdd2667ba827d17dde5fad955f2250bf.tar.gz bdl-4b2cb6a1bdd2667ba827d17dde5fad955f2250bf.zip |
Add initial parsing of variable definitions
Diffstat (limited to 'src/parser.h')
-rw-r--r-- | src/parser.h | 10 |
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 | ||
11 | typedef enum NodeType { | 11 | typedef 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 | ||
19 | typedef struct Node { | 20 | typedef 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 | ||