7
|
1 package plparser;
|
|
2
|
|
3 import java.io.FileNotFoundException;
|
|
4 import java.io.FileReader;
|
|
5 import java.io.InputStream;
|
|
6 import java.io.InputStreamReader;
|
|
7
|
|
8 public interface PLScanner<Node> {
|
|
9
|
|
10 String filename();
|
|
11 int lineno();
|
|
12
|
|
13 public Token<Node> nextToken();
|
|
14
|
|
15 public boolean hasRemaining();
|
|
16
|
|
17 public PLScanner<Node> pushScannerFile(InputStream newfile, String prompt);
|
|
18 PLScanner<Node> prev();
|
|
19 PLScanner<Node> pushScanner(String exp);
|
|
20 PLScanner<Node> pushScannerFile(String file) throws FileNotFoundException;
|
|
21 PLScanner<Node> popScanner();
|
|
22 public PLScanner<Node> set(String exp);
|
|
23
|
|
24 /*
|
|
25 * Read From File
|
|
26 * We cannot read symbol bigger than Buffersize
|
|
27 */
|
|
28 public PLScanner<Node> setFile(String file)
|
|
29 throws FileNotFoundException;
|
|
30
|
|
31 public PLScanner<Node> set(InputStreamReader file);
|
|
32
|
|
33 public void error(String err);
|
|
34
|
|
35 public Iterable<Token<Node>> scanToken(String exp);
|
|
36
|
|
37 public Iterable<Token<Node>> scanToken(FileReader file);
|
11
|
38 public Dictionary<Node> dictionary();
|
7
|
39
|
|
40 } |