4 #include "TocLexer.h"
\r
5 #include "TocParser.h"
\r
9 #include "repr_get.h"
\r
10 //#include "check.h"
\r
12 using namespace antlr4;
\r
15 int main(int argc, const char * argv[])
\r
17 std::ifstream ifs("test/test2.toc");
\r
19 ANTLRInputStream input(ifs);
\r
21 TocLexer lexer(&input);
\r
22 CommonTokenStream tokens(&lexer);
\r
24 TocParser parser(&tokens);
\r
25 TocParser::ProgContext * prog = parser.prog();
\r
26 tree::ParseTree * tree = prog;
\r
28 if (parser.getNumberOfSyntaxErrors() > 0)
\r
30 std::cerr << "Parsing error" << std::endl;
\r
34 std::string s = tree->toStringTree(&parser) + "\n";
\r
36 //std::cout << "Parse Tree: " << s << std::endl;
\r
38 Program prg = getProgram(prog, nullptr);
\r
42 tocProgram(std::cout, prg);
\r
44 // if (!checkProgram(prg))
\r
45 // std::cerr << "Error" << std::endl;
\r
47 std::ofstream ofs("output.c");
\r
48 tocProgram(ofs, prg);
\r
51 catch (const std::string & e)
\r
53 std::cerr << "Error: " << e << std::endl;
\r