private Token createToken(String parsedText) { Token token = new Token(); if (Util.isDouble(parsedText)) { token.id = TKN_NUM; token.number = Util.parseDouble(parsedText);
private Token createToken(String parsedText) { Token token; int hash = perfect.hashAsInt(parsedText); if (hash >= 0 ){ token = new Token(symbols[hash]); } else if (parsedText.equals("PREV")) { token = new Token(Token_Symbol.TKN_PREV, sourceName, calculatedValues); } else if (parsedText.startsWith("PREV(") && parsedText.endsWith(")")) { String variable = parsedText.substring(5, parsedText.length() - 1); token = new Token(Token_Symbol.TKN_PREV, variable, dataProcessor.getValues(variable)); } else if (Util.isDouble(parsedText)) { token = new Token(Token_Symbol.TKN_NUM, Util.parseDouble(parsedText)); } else if (sourcesNames.contains(parsedText)){ token = new Token(Token_Symbol.TKN_VAR, parsedText, dataProcessor.getValues(parsedText)); } else { throw new IllegalArgumentException("Unexpected RPN token encountered: " + parsedText); } return token; }