#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); 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()) { auto pos_mark = rst.first()->token()->position(); for (auto item : rst) if (item->token()->position() == pos_mark) for (auto line : item->totalErrors()) qDebug().noquote() << line; } else { auto prag_root = std::make_shared("HelloWorld!"); auto structx = parser.getAst(rst.first(), prag_root); parser.astPresent(structx); } qDebug() << "===========finished=========================="; return a.exec(); }