#include #include #include #include #include using namespace Parse; using namespace Parse::Result; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QTranslator translator; const QStringList uiLanguages = QLocale::system().uiLanguages(); for (const QString &locale : uiLanguages) { const QString baseName = "DesParser_" + QLocale(locale).name(); if (translator.load(":/i18n/" + baseName)) { a.installTranslator(&translator); break; } } // StoryChainDocumentParser frame(nullptr); // DocCore doc(nullptr, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storychain"); // auto retlist = frame.analysis(&doc, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storychain"); // StoryUnitDocumentParser frame(nullptr); // DocCore doc(nullptr, DocType::STORYUNIT, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyunit"); // auto retlist = frame.analysis(&doc, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyunit"); // StoryBoardDocumentParser frame(nullptr); // DocCore doc(nullptr, DocType::STORYBOARD, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyboard"); // auto retlist = frame.analysis(&doc, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyboard"); ParseCore core; Make::StoryTool tool(&core); auto path = "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyvolume"; tool.compile(QFileInfo(path)); auto doc = core.queryDocument(QFileInfo(path)); auto retlist = core.queryRootNodes(doc); for (auto x : qAsConst(retlist)) { qDebug().noquote() << x->toString(); } QList errors; if(!tool.checkPass(errors)) for(auto x : errors) qDebug() << x; return a.exec(); }