01: package ro.infoiasi.donald.compiler.parser;
02:
03: import ro.infoiasi.donald.compiler.cfg.*;
04: import java.io.*;
05: import java.util.*;
06:
07: public interface Parser {
08:
09: CFG getGrammar();
10:
11: Lexer getLexer();
12:
13: void setLexer(String className, String fileName)
14: throws ClassNotFoundException, FileNotFoundException,
15: ClassCastException, NoSuchMethodException,
16: InstantiationException, IllegalAccessException;
17:
18: void setLexer(Class lexerClass, String fileName)
19: throws ClassNotFoundException, FileNotFoundException,
20: ClassCastException, NoSuchMethodException,
21: InstantiationException, IllegalAccessException;
22:
23: void precompute();
24:
25: List parse() throws IOException, SyntaxError;
26: }
|