Commit for experimental 1

This commit is contained in:
rain2133
2025-03-04 10:03:07 +08:00
parent 767bcbb609
commit 6f51e76804
4 changed files with 472 additions and 329 deletions

View File

@@ -63,7 +63,7 @@ int main(int argc, char **argv) {
SysYLexer lexer(&input);
CommonTokenStream tokens(&lexer);
SysYParser parser(&tokens);
auto moduleAST = parser.module();
auto moduleAST = parser.compUnit();
if (argStopAfter == "ast") {
cout << moduleAST->toStringTree(true) << '\n';
return EXIT_SUCCESS;
@@ -72,13 +72,13 @@ int main(int argc, char **argv) {
// pretty format the input file
if (argFormat) {
ASTPrinter printer;
printer.visitModule(moduleAST);
printer.visitCompUnit(moduleAST);
return EXIT_SUCCESS;
}
// visit AST to generate IR
SysYIRGenerator generator;
generator.visitModule(moduleAST);
generator.visitCompUnit(moduleAST);
auto moduleIR = generator.get();
if (argStopAfter == "ir") {
moduleIR->print(cout);