#include "Parser.h" #include "antlr4-runtime.h" Parser::Parser(const std::string &input_string) : InputStream(std::make_unique(input_string)) , CaseFilter(InputStream.get(), true) , Lexer(&CaseFilter) , TokenStream(&Lexer) , AParser(&TokenStream) { AParser.removeErrorListeners(); AParser.addErrorListener(&Errors); } std::unique_ptr Parser::Parse() { auto context = AParser.main(); return std::move(context->program); }