diff options
Diffstat (limited to 'src/Compiler/TokenScanner.java')
-rw-r--r-- | src/Compiler/TokenScanner.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/Compiler/TokenScanner.java b/src/Compiler/TokenScanner.java index ecb5ad3..e1f5fff 100644 --- a/src/Compiler/TokenScanner.java +++ b/src/Compiler/TokenScanner.java @@ -53,13 +53,29 @@ public class TokenScanner { case ')': createTokenNull(TokenType.RIGHT_PAREN); break; case '+': createTokenNull(TokenType.PLUS); break; case '-': createTokenNull(TokenType.MINUS); break; - case '*': createTokenNull(TokenType.STAR); break; - case '/': createTokenNull(TokenType.SLASH); break; case ';': createTokenNull(TokenType.SEMI_COLON); break; case ',': createTokenNull(TokenType.COMMA); break; //Some tokens are multiple characters long //so need to check next char as well + case '*': + if (checkNextChar('*')){ + createTokenNull(TokenType.EXPONENT); + break; + } + else{ + createTokenNull(TokenType.STAR); + break; + } + case '/': + if (checkNextChar('=')){ + createTokenNull(TokenType.NOT_EQUAL); + break; + } + else{ + createTokenNull(TokenType.SLASH); + break; + } case '=': if (checkNextChar('=')){ createTokenNull(TokenType.EQUALITY); |