From f394306a4b65a3328551f9f6b8d4abff8bfd5b27 Mon Sep 17 00:00:00 2001 From: bjculkin Date: Wed, 12 Apr 2017 10:46:51 -0400 Subject: Package reorganization --- JPratt/src/main/java/bjc/pratt/TokenStream.java | 104 ------------------------ 1 file changed, 104 deletions(-) delete mode 100644 JPratt/src/main/java/bjc/pratt/TokenStream.java (limited to 'JPratt/src/main/java/bjc/pratt/TokenStream.java') diff --git a/JPratt/src/main/java/bjc/pratt/TokenStream.java b/JPratt/src/main/java/bjc/pratt/TokenStream.java deleted file mode 100644 index 7390e5f..0000000 --- a/JPratt/src/main/java/bjc/pratt/TokenStream.java +++ /dev/null @@ -1,104 +0,0 @@ -package bjc.pratt; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; - -import bjc.utils.funcutils.StringUtils; -import bjc.utils.parserutils.ParserException; - -/** - * A stream of tokens. - * - * @author EVE - * - * @param - * The key type of the token. - * - * @param - * The value type of the token. - */ -public abstract class TokenStream implements Iterator> { - /** - * The exception thrown when an expectation fails. - * - * @author EVE - * - */ - public static class ExpectationException extends ParserException { - private static final long serialVersionUID = 4299299480127680805L; - - /** - * Create a new exception with the specified message. - * - * @param msg - * The message of the exception. - */ - public ExpectationException(final String msg) { - super(msg); - } - } - - /** - * Get the current token. - * - * @return The current token. - */ - public abstract Token current(); - - @Override - public abstract Token next(); - - @Override - public abstract boolean hasNext(); - - /** - * Utility method for checking that the next token is one of a specific - * set of types, and then consuming it. - * - * @param expectedKeys - * The expected values - * - * @throws ExpectationException - * If the token is not one of the expected types. - */ - public void expect(final Set expectedKeys) throws ExpectationException { - final K curKey = current().getKey(); - - if (!expectedKeys.contains(curKey)) { - final String expectedList = StringUtils.toEnglishList(expectedKeys.toArray(), false); - - throw new ExpectationException("One of '" + expectedList + "' was expected, not " + curKey); - } - - next(); - } - - /** - * Utility method for checking that the next token is one of a specific - * set of types, and then consuming it. - * - * @param expectedKeys - * The expected values - * - * @throws ExpectationException - * If the token is not one of the expected types. - */ - @SafeVarargs - public final void expect(final K... expectedKeys) throws ExpectationException { - expect(new HashSet<>(Arrays.asList(expectedKeys))); - } - - /** - * Check whether the head token is a certain type. - * - * @param val - * The type to check for. - * - * @return Whether or not the head token is of that type. - */ - public boolean headIs(final K val) { - return current().getKey().equals(val); - } -} -- cgit v1.2.3