summaryrefslogtreecommitdiffstats
path: root/src/Compiler/TokenScanner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compiler/TokenScanner.java')
-rw-r--r--src/Compiler/TokenScanner.java20
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);