aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.c
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2017-01-27 16:34:58 +0000
committerGinger Bill <bill@gingerbill.org>2017-01-27 16:34:58 +0000
commit832009f33acc573d44dd9dfb470ad8fef72216ff (patch)
treeb34120bf3d81739d7f516efb54235aaa2d15d04e /src/tokenizer.c
parentd3d3bfd4557c23da58a33066c4a7e5042435829d (diff)
`in` keyword for `for` and `match type`
Diffstat (limited to 'src/tokenizer.c')
-rw-r--r--src/tokenizer.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/tokenizer.c b/src/tokenizer.c
index 79cdda258..c21c09942 100644
--- a/src/tokenizer.c
+++ b/src/tokenizer.c
@@ -75,7 +75,7 @@ TOKEN_KIND(Token__ComparisonEnd, "_ComparisonEnd"), \
TOKEN_KIND(Token_Semicolon, ";"), \
TOKEN_KIND(Token_Period, "."), \
TOKEN_KIND(Token_Comma, ","), \
- TOKEN_KIND(Token_Ellipsis, "..."), \
+ TOKEN_KIND(Token_Ellipsis, ".."), \
TOKEN_KIND(Token_HalfOpenRange, "..<"), \
TOKEN_KIND(Token__OperatorEnd, "_OperatorEnd"), \
\
@@ -94,6 +94,7 @@ TOKEN_KIND(Token__KeywordBegin, "_KeywordBegin"), \
TOKEN_KIND(Token_else, "else"), \
TOKEN_KIND(Token_while, "while"), \
TOKEN_KIND(Token_for, "for"), \
+ TOKEN_KIND(Token_in, "in"), \
TOKEN_KIND(Token_when, "when"), \
TOKEN_KIND(Token_range, "range"), \
TOKEN_KIND(Token_defer, "defer"), \
@@ -845,14 +846,10 @@ Token tokenizer_get_token(Tokenizer *t) {
case '.':
token.kind = Token_Period; // Default
- /* if (gb_is_between(t->curr_rune, '0', '9')) { // Might be a number
- token = scan_number_to_token(t, true);
- } else */ if (t->curr_rune == '.') { // Could be an ellipsis
+ if (t->curr_rune == '.') { // Could be an ellipsis
advance_to_next_rune(t);
- if (t->curr_rune == '.') {
- advance_to_next_rune(t);
- token.kind = Token_Ellipsis;
- } else if (t->curr_rune == '<') {
+ token.kind = Token_Ellipsis;
+ if (t->curr_rune == '<') {
advance_to_next_rune(t);
token.kind = Token_HalfOpenRange;
}