diff options
author | Bad Diode <bd@badd10de.dev> | 2021-10-30 08:51:46 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2021-10-30 08:51:46 +0200 |
commit | c0520617a974abd27c413fb21ecd64ca2d11d135 (patch) | |
tree | c284b450c7532303c1eb138bcf6fb45a8540603f /src/lexer.c | |
parent | f17b11003fe384b49a7bf844824f23167b6095e0 (diff) | |
download | bdl-c0520617a974abd27c413fb21ecd64ca2d11d135.tar.gz bdl-c0520617a974abd27c413fb21ecd64ca2d11d135.zip |
Add parsing for def/set! expressions
Diffstat (limited to 'src/lexer.c')
-rwxr-xr-x | src/lexer.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lexer.c b/src/lexer.c index cbcc175..704ee66 100755 --- a/src/lexer.c +++ b/src/lexer.c | |||
@@ -13,6 +13,8 @@ static const char* token_str[] = { | |||
13 | [TOKEN_FALSE] = "TOKEN_FALSE", | 13 | [TOKEN_FALSE] = "TOKEN_FALSE", |
14 | [TOKEN_LAMBDA] = "TOKEN_LAMBDA", | 14 | [TOKEN_LAMBDA] = "TOKEN_LAMBDA", |
15 | [TOKEN_IF] = "TOKEN_IF", | 15 | [TOKEN_IF] = "TOKEN_IF", |
16 | [TOKEN_DEF] = "TOKEN_DEF", | ||
17 | [TOKEN_SET] = "TOKEN_SET", | ||
16 | [TOKEN_EOF] = "TOKEN_EOF", | 18 | [TOKEN_EOF] = "TOKEN_EOF", |
17 | }; | 19 | }; |
18 | 20 | ||
@@ -128,6 +130,8 @@ find_primitive_type(const StringView value) { | |||
128 | if (TOKEN_IS_KEYWORD(value, "false")) { return TOKEN_FALSE; } | 130 | if (TOKEN_IS_KEYWORD(value, "false")) { return TOKEN_FALSE; } |
129 | if (TOKEN_IS_KEYWORD(value, "lambda")) { return TOKEN_LAMBDA; } | 131 | if (TOKEN_IS_KEYWORD(value, "lambda")) { return TOKEN_LAMBDA; } |
130 | if (TOKEN_IS_KEYWORD(value, "if")) { return TOKEN_IF; } | 132 | if (TOKEN_IS_KEYWORD(value, "if")) { return TOKEN_IF; } |
133 | if (TOKEN_IS_KEYWORD(value, "def")) { return TOKEN_DEF; } | ||
134 | if (TOKEN_IS_KEYWORD(value, "set!")) { return TOKEN_SET; } | ||
131 | 135 | ||
132 | return TOKEN_SYMBOL; | 136 | return TOKEN_SYMBOL; |
133 | } | 137 | } |