diff options
| author | AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> | 2021-12-05 20:52:33 +0000 |
|---|---|---|
| committer | AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> | 2021-12-05 20:52:33 +0000 |
| commit | 1709cb30fbdecff9cb78ad65b06792f1b6cee3fa (patch) | |
| tree | f99efb0bb9b101e21b1f365f61e26b4d3510d91f /src/Compiler/TokenScanner.java | |
| parent | 9e6c89f1fa93287104381e02f0bbbdd6060a9382 (diff) | |
| download | esotericFORTRAN-1709cb30fbdecff9cb78ad65b06792f1b6cee3fa.tar.gz esotericFORTRAN-1709cb30fbdecff9cb78ad65b06792f1b6cee3fa.zip | |
Updated report grammar
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); |
