diff options
Diffstat (limited to 'src/parser.h')
-rw-r--r-- | src/parser.h | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/parser.h b/src/parser.h index 5a9d5c8..2957356 100644 --- a/src/parser.h +++ b/src/parser.h | |||
@@ -10,14 +10,7 @@ typedef struct Parser { | |||
10 | 10 | ||
11 | typedef enum NodeType { | 11 | typedef enum NodeType { |
12 | // NODE_FUNCALL, | 12 | // NODE_FUNCALL, |
13 | // NODE_U64, | 13 | NODE_BUILTIN, |
14 | // NODE_U32, | ||
15 | // NODE_U16, | ||
16 | // NODE_U8, | ||
17 | // NODE_S64, | ||
18 | // NODE_S32, | ||
19 | // NODE_S16, | ||
20 | // NODE_S8, | ||
21 | NODE_NUMBER, | 14 | NODE_NUMBER, |
22 | NODE_STRING, | 15 | NODE_STRING, |
23 | } NodeType; | 16 | } NodeType; |
@@ -35,13 +28,16 @@ typedef struct Node { | |||
35 | 28 | ||
36 | // String. | 29 | // String. |
37 | StringView string; | 30 | StringView string; |
38 | // struct { | 31 | |
39 | // u8 *str; | 32 | // Builtin primitive. |
40 | // u64 n; | 33 | struct { |
41 | // } as_str; | 34 | TokenType type; |
35 | struct Node **args; | ||
36 | } builtin; | ||
42 | }; | 37 | }; |
43 | } Node; | 38 | } Node; |
44 | 39 | ||
45 | void parse(Token *tokens); | 40 | void parse(Token *tokens); |
41 | Node * parse_next(Parser *parser); | ||
46 | 42 | ||
47 | #endif // BDL_PARSER_H | 43 | #endif // BDL_PARSER_H |