From 1709cb30fbdecff9cb78ad65b06792f1b6cee3fa Mon Sep 17 00:00:00 2001 From: AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> Date: Sun, 5 Dec 2021 20:52:33 +0000 Subject: Updated report grammar --- src/Compiler/TokenScanner.java | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'src/Compiler/TokenScanner.java') 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); -- cgit v1.2.3