diff options
-rw-r--r-- | src/lexer.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lexer.cc b/src/lexer.cc index 96c5df9..50c815e 100644 --- a/src/lexer.cc +++ b/src/lexer.cc @@ -134,6 +134,27 @@ Lexer::scan_token(void) add_token(STAR); break; + case '!': + add_token(match('=') ? BANG_EQUAL : BANG); + break; + case '=': + add_token(match('=') ? EQUAL_EQUAL : EQUAL); + break; + case '<': + add_token(match('=') ? LESS_EQUAL : LESS); + break; + case '>': + add_token(match('=') ? GREATER_EQUAL : GREATER); + break; + + case '/': + if (match('/')) + while (peek() != '\n' && !at_end()) + advance(); + else + add_token(SLASH); + break; + case '\n': m_line++; break; |