Files
MY_COMPILER/frontend/parser/Parser.java
2025-12-12 20:14:00 +08:00

39 lines
838 B
Java
Executable File

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();
}
}
}