minor refactoring of the test case tokenizer

This commit is contained in:
hneemann 2020-11-20 20:04:24 +01:00
parent 3bee073886
commit 573a22a412

View File

@ -20,21 +20,21 @@ public class Tokenizer {
LET, LOG_NOT, WHILE
}
private static HashMap<String, Token> statementMap = new HashMap<>();
private final static HashMap<String, Token> STATEMENT_MAP = new HashMap<>();
static {
statementMap.put("end", Token.END);
statementMap.put("loop", Token.LOOP);
statementMap.put("repeat", Token.REPEAT);
statementMap.put("bits", Token.BITS);
statementMap.put("let", Token.LET);
statementMap.put("while", Token.WHILE);
STATEMENT_MAP.put("end", Token.END);
STATEMENT_MAP.put("loop", Token.LOOP);
STATEMENT_MAP.put("repeat", Token.REPEAT);
STATEMENT_MAP.put("bits", Token.BITS);
STATEMENT_MAP.put("let", Token.LET);
STATEMENT_MAP.put("while", Token.WHILE);
}
private final Reader in;
private final StringBuilder builder;
private Token token;
private boolean isToken;
private StringBuilder builder;
private boolean isUnreadChar = false;
private int unreadChar;
private int line = 1;
@ -171,7 +171,7 @@ public class Tokenizer {
wasChar = false;
}
} while (wasChar);
token = statementMap.get(builder.toString());
token = STATEMENT_MAP.get(builder.toString());
if (token == null) token = Token.IDENT;
} else if (isNumberChar(c)) {
token = Token.NUMBER;