diff options
Diffstat (limited to 'base/src/bjc/dicelang/expr/Tokens.java')
| -rw-r--r-- | base/src/bjc/dicelang/expr/Tokens.java | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/base/src/bjc/dicelang/expr/Tokens.java b/base/src/bjc/dicelang/expr/Tokens.java index 4cf5378..92416d1 100644 --- a/base/src/bjc/dicelang/expr/Tokens.java +++ b/base/src/bjc/dicelang/expr/Tokens.java @@ -23,26 +23,16 @@ public class Tokens { private int nextSym; /* Mapping from literal tokens to token types. */ - private final Map<String, TokenType> litTokens; - - /** Create a new set of tokens. */ - public Tokens() { - /* Create tables. */ - symTab = new HashMap<>(); - revSymTab = new HashMap<>(); - - /* Init public view. */ - symbolTable = Collections.unmodifiableMap(symTab); - - /* Set sym ID. */ - nextSym = 0; + private static final Map<String, TokenType> litTokens; + static { /* * Setup literal mappings. * * @NOTE Should this be a static member? */ litTokens = new HashMap<>(); + litTokens.put("+", TokenType.ADD); litTokens.put("-", TokenType.SUBTRACT); litTokens.put("*", TokenType.MULTIPLY); @@ -51,6 +41,19 @@ public class Tokens { litTokens.put(")", TokenType.CPAREN); } + /** Create a new set of tokens. */ + public Tokens() { + /* Create tables. */ + symTab = new HashMap<>(); + revSymTab = new HashMap<>(); + + /* Init public view. */ + symbolTable = Collections.unmodifiableMap(symTab); + + /* Set sym ID. */ + nextSym = 0; + } + /** * Convert the string representation of a token into a token. * |
