WsParser_VS/WsNovelParser/novelparser.h

31 lines
922 B
C
Raw Normal View History

2024-03-17 07:58:28 +00:00
#pragma once
#include <QFileInfoList>
#include <ast_gen.h>
#include <libsyntax.h>
#include <libparse.h>
2024-06-20 14:13:06 +00:00
namespace example_novel {
2025-02-15 15:47:42 +00:00
class PointGraphHelper;
class NGlobalElement;
2024-06-20 14:13:06 +00:00
}
2025-02-15 15:47:42 +00:00
/**
* @brief .
*/
2024-03-17 07:58:28 +00:00
class NovelParser
{
private:
2025-02-15 15:47:42 +00:00
std::shared_ptr<example_novel::NGlobalElement> context = nullptr;
2024-03-17 07:58:28 +00:00
QList<std::shared_ptr<const lib_parse::CheckProvider>> checker_list;
std::shared_ptr<const lib_parse::Analyzer> analyzer_ref;
public:
NovelParser();
2025-02-15 15:47:42 +00:00
QList<std::shared_ptr<const example_novel::PointGraphHelper>> fragmentsSorted() const;
2024-03-17 07:58:28 +00:00
virtual QString version() const;
2025-02-15 15:47:42 +00:00
std::shared_ptr<example_novel::NGlobalElement> parserContext() const;
std::shared_ptr<const example_novel::NGlobalElement> parse(const QFileInfoList souurce_list) const;
std::shared_ptr<const ast_gen::ElementAccess> validsApply(std::shared_ptr<const example_novel::NGlobalElement> root) const;
2024-03-17 07:58:28 +00:00
};