annotate src/plparser/PLScanner.java @ 11:79d492bce828

clean up
author one
date Thu, 02 Sep 2010 11:55:56 +0900
parents 619472ca4742
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
1 package plparser;
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
2
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
3 import java.io.FileNotFoundException;
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
4 import java.io.FileReader;
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
5 import java.io.InputStream;
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
6 import java.io.InputStreamReader;
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
7
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
8 public interface PLScanner<Node> {
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
9
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
10 String filename();
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
11 int lineno();
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
12
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
13 public Token<Node> nextToken();
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
14
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
15 public boolean hasRemaining();
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
16
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
17 public PLScanner<Node> pushScannerFile(InputStream newfile, String prompt);
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
18 PLScanner<Node> prev();
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
19 PLScanner<Node> pushScanner(String exp);
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
20 PLScanner<Node> pushScannerFile(String file) throws FileNotFoundException;
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
21 PLScanner<Node> popScanner();
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
22 public PLScanner<Node> set(String exp);
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
23
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
24 /*
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
25 * Read From File
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
26 * We cannot read symbol bigger than Buffersize
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
27 */
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
28 public PLScanner<Node> setFile(String file)
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
29 throws FileNotFoundException;
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
30
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
31 public PLScanner<Node> set(InputStreamReader file);
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
32
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
33 public void error(String err);
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
34
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
35 public Iterable<Token<Node>> scanToken(String exp);
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
36
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
37 public Iterable<Token<Node>> scanToken(FileReader file);
11
79d492bce828 clean up
one
parents: 7
diff changeset
38 public Dictionary<Node> dictionary();
7
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
39
619472ca4742 Refactoring for multiple implementation of scanner
one
parents:
diff changeset
40 }