This commit was manufactured by cvs2svn to create tag 'buildscript'.
[IRC.git] / Robust / src / Lex / FIFO.java
diff --git a/Robust/src/Lex/FIFO.java b/Robust/src/Lex/FIFO.java
deleted file mode 100644 (file)
index 83374a0..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-package Lex;
-
-/** FIFO class.  This helps implement the lookahead we need for JSR-14.
- * Copyright (C) 2002 C. Scott Ananian <cananian@alumni.princeton.edu>
- * This program is released under the terms of the GPL; see the file
- * COPYING for more details.  There is NO WARRANTY on this code.
- */
-
-class FIFO {
-  java_cup.runtime.Symbol[] backing = new java_cup.runtime.Symbol[10];
-  int start=0, end=0;
-  final Getter getter;
-  FIFO(Getter getter) { this.getter = getter; }
-  public boolean isEmpty() { return start==end; }
-  private boolean isFull() {
-    return start==end+1 || (start==0 && end==backing.length-1);
-  }
-  private int size() {
-    return ((end<start)?end+backing.length:end)-start;
-  }
-  public void put(java_cup.runtime.Symbol o) {
-    if (isFull()) {
-      java_cup.runtime.Symbol[] nbacking =
-       new java_cup.runtime.Symbol[backing.length*2];
-      System.arraycopy(backing, start, nbacking, 0, backing.length-start);
-      System.arraycopy(backing, 0, nbacking, backing.length-start, start);
-      start = 0;
-      end = backing.length-1;
-      backing = nbacking;
-    }
-    ASSERT(!isFull());
-    backing[end++] = o;
-    if (end == backing.length)
-      end = 0;
-    ASSERT(!isEmpty());
-  }
-  public java_cup.runtime.Symbol get() throws java.io.IOException {
-    if (isEmpty())
-      put(getter.next());
-    ASSERT(!isEmpty());
-    java_cup.runtime.Symbol o = backing[start++];
-    if (start == backing.length)
-      start = 0;
-    ASSERT(!isFull());
-    return o;
-  }
-  public java_cup.runtime.Symbol peek(int i) throws java.io.IOException {
-    while (i >= size())
-      put(getter.next());
-    int index = start+i;
-    if (index >= backing.length) index -= backing.length;
-    ASSERT(0<= index && index < backing.length);
-    return backing[index];
-  }
-  abstract static class Getter {
-    abstract java_cup.runtime.Symbol next()
-      throws java.io.IOException;
-  }
-  private static void ASSERT(boolean b) {
-    if (!b) throw new RuntimeException();
-  }
-}
-       
-