aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lexer.cc21
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;