Skip to content

Commit

Permalink
fix number reading
Browse files Browse the repository at this point in the history
  • Loading branch information
NPException committed Nov 12, 2018
1 parent 62ed37f commit 06314d6
Showing 1 changed file with 11 additions and 1 deletion.
Expand Up @@ -130,7 +130,7 @@ private Token computeNext() {
return Token.NULL;
}

if (Character.isDigit(value.charAt(0))) {
if (isNumberCandidate(value)) {
if (value.chars().allMatch(Character::isDigit)) {
try {
long number = Long.parseLong(value);
Expand All @@ -150,6 +150,16 @@ private Token computeNext() {
return new Token(Type.SYMBOL, value);
}

private static boolean isNumberCandidate(String value) {
char first = value.charAt(0);
if (Character.isDigit(first)) {
return true;
}
char second = value.length() > 1 ? value.charAt(1) : '?';
return (first == '-' || first == '+')
&& Character.isDigit(second);
}

private String finishToken(int chr) {
StringBuilder sb = new StringBuilder();
sb.appendCodePoint(chr);
Expand Down

0 comments on commit 06314d6

Please sign in to comment.