]> gitweb.ps.run Git - toc/blobdiff - src/main.cpp
example and todo
[toc] / src / main.cpp
index 199f04d926ac5ece5115a7556c3a074ebed96e92..3523cdfbabe1b685d2d30d09d80ab66524a422d8 100644 (file)
@@ -7,13 +7,14 @@
 #include "toc.h"\r
 #include "repr.h"\r
 #include "repr_get.h"\r
-#include "check.h"\r
+//#include "check.h"\r
 \r
 using namespace antlr4;\r
 \r
 \r
-int main(int argc, const char * argv[]) {\r
-  std::ifstream ifs("test.toc");\r
+int main(int argc, const char * argv[])\r
+{\r
+  std::ifstream ifs("test/test2.toc");\r
 \r
   ANTLRInputStream input(ifs);\r
 \r
@@ -24,25 +25,29 @@ int main(int argc, const char * argv[]) {
   TocParser::ProgContext * prog = parser.prog();\r
   tree::ParseTree * tree = prog;\r
 \r
-  if (parser.getNumberOfSyntaxErrors() > 0) {\r
+  if (parser.getNumberOfSyntaxErrors() > 0)\r
+  {\r
     std::cerr << "Parsing error" << std::endl;\r
     return 1;\r
   }\r
 \r
-  std::string s = tree->toStringTree(&parser) + "\n";\r
-\r
+  //std::string s = tree->toStringTree(&parser) + "\n";\r
   //std::cout << "Parse Tree: " << s << std::endl;\r
 \r
-  Program prg = getProgram(prog);\r
-\r
-  tocProgram(std::cout, prg);\r
+  Program prg = getProgram(prog, nullptr);\r
 \r
-  if (!checkProgram(prg))\r
-    std::cerr << "Error" << std::endl;\r
+  try\r
+  {\r
+    tocProgram(std::cout, prg);\r
 \r
-  //std::ofstream ofs("output.c");\r
-  //tocProg(ofs, prg);\r
-  //ofs.close();\r
+    std::ofstream ofs("output.c");\r
+    tocProgram(ofs, prg);\r
+    ofs.close();\r
+  }\r
+  catch (const char * e)\r
+  {\r
+    std::cerr << "Error: " << e << std::endl;\r
+  }\r
 \r
   return 0;\r
 }
\ No newline at end of file