39 lines
800 B
Java
39 lines
800 B
Java
package frontend.parser;
|
|
|
|
import frontend.ast.CompUnit;
|
|
import frontend.lexer.TokenStream;
|
|
|
|
import java.nio.file.Files;
|
|
|
|
import error.Errors;
|
|
|
|
import java.nio.file.Paths;
|
|
import java.io.IOException;
|
|
|
|
public class Parser {
|
|
private TokenStream ts;
|
|
private CompUnit compUnit;
|
|
|
|
public Parser(TokenStream ts) {
|
|
this.ts = ts;
|
|
this.compUnit = new CompUnit(this.ts);
|
|
}
|
|
|
|
public void parse(Errors errors) {
|
|
compUnit.parse(errors);
|
|
}
|
|
|
|
public CompUnit getCompUnit() {
|
|
return compUnit;
|
|
}
|
|
|
|
public void writeToFile(String fileName) {
|
|
try {
|
|
String info = this.compUnit.getInfo();
|
|
Files.write(Paths.get(fileName), info.getBytes());
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|