#include #include #include #include #include #include #include #include int main(int argc, char* argv[]) { QCoreApplication a(argc, argv); QFile in("D:\\Projects\\Cpp\\WsNovelParser\\CoreTest\\syntax_example.txt"); in.open(QIODevice::ReadOnly | QIODevice::Text); QTextStream tt(&in); tt.setCodec("UTF-8"); lib_words::WordReader reader; auto vwords = reader.wordsFrom(tt, "D:\\Projects\\Cpp\\WsNovelParser\\CoreTest\\syntax_example.txt"); ast_gen::SyntaxParser parser(example_novel::NovalSyntax::getSyntaxTree()); auto rst = parser.parse(vwords); if (rst.first()->totalErrorCount()) { int err_count = 0; auto pos_mark = rst.first()->token()->position(); for (auto item : rst) if (item->token()->position() == pos_mark) for (auto line : item->totalErrors()){ err_count++; qDebug().noquote() << line; } qDebug() << err_count << "===========finished=========================="; } else { auto prag_root = std::make_shared("HelloWorld!"); auto structx = parser.getAst(rst.first(), prag_root); parser.astPresent(structx); } return a.exec(); }