// 包装 ANTLR4,提供简易的解析入口。 #pragma once #include #include #include "SysYLexer.h" #include "SysYParser.h" #include "antlr4-runtime.h" struct AntlrResult { std::unique_ptr input; std::unique_ptr lexer; std::unique_ptr tokens; std::unique_ptr parser; antlr4::tree::ParseTree* tree = nullptr; // owned by parser }; // 解析指定文件,发生错误时抛出 std::runtime_error。 AntlrResult ParseFileWithAntlr(const std::string& path);