summaryrefslogtreecommitdiff
path: root/JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java
diff options
context:
space:
mode:
authorBenjamin Culkin <scorpress@gmail.com>2024-06-03 17:33:53 -0400
committerBenjamin Culkin <scorpress@gmail.com>2024-06-03 17:33:53 -0400
commit15a2b29e48f134bc93cfd0a3d8512001e9242f3d (patch)
treeb3f5c4c5f0e474479cd47ad0ac0f35770fc44881 /JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java
parent39ba97edf49270715ec61bedb7d4a62ada819ba0 (diff)
Rename package to new domainHEADtrunk
Rename the package to the new domain
Diffstat (limited to 'JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java')
-rw-r--r--JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java84
1 files changed, 0 insertions, 84 deletions
diff --git a/JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java b/JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java
deleted file mode 100644
index 70876f2..0000000
--- a/JPratt/src/main/java/bjc/pratt/tokens/StringTokenStream.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package bjc.pratt.tokens;
-
-import static bjc.pratt.tokens.StringToken.litToken;
-
-import java.util.Iterator;
-
-import bjc.data.MarkListIterator;
-
-/**
- * Simple implementation of token stream for strings.
- *
- * The terminal token here is represented by a token with type and value
- * '(end)'.
- *
- * @author EVE
- *
- */
-public class StringTokenStream extends TokenStream<String, String> {
- private final MarkListIterator<Token<String, String>> iter;
-
- private Token<String, String> curr;
-
- /**
- * Create a new token stream from a iterator.
- *
- * @param itr
- * The iterator to use.
- *
- */
- public StringTokenStream(final Iterator<Token<String, String>> itr) {
- iter = new MarkListIterator<>(itr);
- }
-
- @Override
- public Token<String, String> current() {
- // Prime stream if necessary
- if (curr == null)
- return next();
- return curr;
- }
-
- @Override
- public Token<String, String> next() {
- if(iter.hasNext()) {
- curr = iter.next();
- } else {
- curr = litToken("(end)");
- }
-
- return curr;
- }
-
- @Override
- public boolean hasNext() {
- return iter.hasNext();
- }
-
- @Override
- public void mark() {
- iter.mark();
- }
-
- @Override
- public void commit() {
- iter.commit();
-
- if (!iter.hasMark()) {
- // No marks outstanding; we can release the previous state
- iter.reset();
- }
- }
-
- @Override
- public void rollback() {
- iter.rollback();
-
- curr = iter.current();
- }
-
- @Override
- public boolean hasMark() {
- return iter.hasMark();
- }
-}