return this;
}
- public void expectNextToken(final String value)
+ public void expectAndConsumeNextToken(final String value)
throws InvalidSyntaxException {
final TokenizerMatch match = getNextToken();
if (!value.equals(match.token))
return false;
}
+ public TokenizerMatch peekNextToken(){
+ TokenizerMatch result = getNextToken();
+ unreadToken();
+ return result;
+ }
+
+ public boolean peekIsOneOf(String ... possibilities){
+ String nextToken = peekNextToken().token;
+
+ for (String possibility : possibilities)
+ if (possibility.equals(nextToken))
+ return true;
+
+ return false;
+ }
+
+ public void peekExpectNoneOf(String ... possibilities) throws InvalidSyntaxException {
+ TokenizerMatch nextToken = peekNextToken();
+
+ for (String possibility : possibilities)
+ if (possibility.equals(nextToken))
+ throw new InvalidSyntaxException("Not expected \"" + nextToken + "\" here.");
+ }
+
+
public boolean sequenceMatches(final String sequence) {
if ((currentIndex + sequence.length()) > source.length())
return false;