diff options
| author | Fabrice <fabrice@schaub-dev.xyz> | 2026-03-03 17:43:31 +0100 |
|---|---|---|
| committer | Fabrice <fabrice@schaub-dev.xyz> | 2026-03-03 17:43:31 +0100 |
| commit | 696b6dae571065d10e1ee54f4d5b41325352b303 (patch) | |
| tree | c059e7e95277075482b46e7b2c645a53e45d9ff9 | |
| parent | e1213296170329bdd5112cfd2644f916547ee95d (diff) | |
adding more tokens
| -rw-r--r-- | src/token.cc | 9 | ||||
| -rw-r--r-- | src/tokenizer.cc | 6 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/token.cc b/src/token.cc index bac5a5a..171f7ee 100644 --- a/src/token.cc +++ b/src/token.cc @@ -11,7 +11,14 @@ X(Invalid_Literal) \ X(Identifier) -#define TOKEN_KINDS_SLEX X(Hash, '#') +#define TOKEN_KINDS_SLEX \ + X(Hash, '#') \ + X(LBrace, '{') \ + X(RBrace, '}') \ + X(LParen, '(') \ + X(RParen, ')') \ + X(LBracket, '[') \ + X(RBracket, ']') #define TOKEN_KIND(name) Token_Kind_##name diff --git a/src/tokenizer.cc b/src/tokenizer.cc index c3889b9..6a31ff6 100644 --- a/src/tokenizer.cc +++ b/src/tokenizer.cc @@ -112,6 +112,12 @@ bool tokenizer_next(Tokenizer* tokenizer, Token* out) { } switch (c) { +#define X(name, lex) \ + case lex: \ + *out = tokenizer_make_token(tokenizer, TOKEN_KIND(name), cursor, advance); + + TOKEN_KINDS_SLEX; +#undef X default: *out = tokenizer_make_token(tokenizer, Token_Kind_Invalid_Char, cursor, advance); |
