aboutsummaryrefslogtreecommitdiffstats
path: root/src/lexer.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2021-10-30 08:51:46 +0200
committerBad Diode <bd@badd10de.dev>2021-10-30 08:51:46 +0200
commitc0520617a974abd27c413fb21ecd64ca2d11d135 (patch)
treec284b450c7532303c1eb138bcf6fb45a8540603f /src/lexer.c
parentf17b11003fe384b49a7bf844824f23167b6095e0 (diff)
downloadbdl-c0520617a974abd27c413fb21ecd64ca2d11d135.tar.gz
bdl-c0520617a974abd27c413fb21ecd64ca2d11d135.zip
Add parsing for def/set! expressions
Diffstat (limited to 'src/lexer.c')
-rwxr-xr-xsrc/lexer.c4
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}