X-Git-Url: https://gitweb.ps.run/toc/blobdiff_plain/8aeae09e74b46ca52866f22b48f55fecdf27b849..c2ba7425955ae538e220cec79d9124756d1b4c8b:/src/main.cpp diff --git a/src/main.cpp b/src/main.cpp index 199f04d..e7c03e6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,13 +7,14 @@ #include "toc.h" #include "repr.h" #include "repr_get.h" -#include "check.h" +//#include "check.h" using namespace antlr4; -int main(int argc, const char * argv[]) { - std::ifstream ifs("test.toc"); +int main(int argc, const char * argv[]) +{ + std::ifstream ifs("test/test2.toc"); ANTLRInputStream input(ifs); @@ -24,7 +25,8 @@ int main(int argc, const char * argv[]) { TocParser::ProgContext * prog = parser.prog(); tree::ParseTree * tree = prog; - if (parser.getNumberOfSyntaxErrors() > 0) { + if (parser.getNumberOfSyntaxErrors() > 0) + { std::cerr << "Parsing error" << std::endl; return 1; } @@ -33,16 +35,23 @@ int main(int argc, const char * argv[]) { //std::cout << "Parse Tree: " << s << std::endl; - Program prg = getProgram(prog); + Program prg = getProgram(prog, nullptr); - tocProgram(std::cout, prg); + try + { + tocProgram(std::cout, prg); - if (!checkProgram(prg)) - std::cerr << "Error" << std::endl; + // if (!checkProgram(prg)) + // std::cerr << "Error" << std::endl; - //std::ofstream ofs("output.c"); - //tocProg(ofs, prg); - //ofs.close(); + std::ofstream ofs("output.c"); + tocProgram(ofs, prg); + ofs.close(); + } + catch (const char * e) + { + std::cerr << "Error: " << e << std::endl; + } return 0; } \ No newline at end of file