summaryrefslogtreecommitdiffstats
path: root/src/java_cup/runtime/Scanner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java_cup/runtime/Scanner.java')
-rw-r--r--src/java_cup/runtime/Scanner.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/java_cup/runtime/Scanner.java b/src/java_cup/runtime/Scanner.java
new file mode 100644
index 0000000..3233551
--- /dev/null
+++ b/src/java_cup/runtime/Scanner.java
@@ -0,0 +1,25 @@
+package java_cup.runtime;
+
+/**
+ * Defines the Scanner interface, which CUP uses in the default
+ * implementation of <code>lr_parser.scan()</code>. Integration
+ * of scanners implementing <code>Scanner</code> is facilitated.
+ *
+ * @version last updated 23-Jul-1999
+ * @author David MacMahon <davidm@smartsc.com>
+ */
+
+/* *************************************************
+ Interface Scanner
+
+ Declares the next_token() method that should be
+ implemented by scanners. This method is typically
+ called by lr_parser.scan(). End-of-file can be
+ indicated either by returning
+ <code>new Symbol(lr_parser.EOF_sym())</code> or
+ <code>null</code>.
+ ***************************************************/
+public interface Scanner {
+ /** Return the next token, or <code>null</code> on end-of-file. */
+ public Symbol next_token() throws java.lang.Exception;
+}