#ifndef STORYCONCEPTDOCUMENTPARSER_H #define STORYCONCEPTDOCUMENTPARSER_H #include "ParseFrame.h" #include "SyntaxBase.h" #include "XSyntaxBase.h" namespace Parse { class NodeStoryConcept : public Result::NamedNode { public: NodeStoryConcept(const QString &name, Result::DocCore *doc); // DesNode interface public: virtual bool check(QList &reasons) const override; virtual QString toString() const override; }; class NodeStoryConceptParser : public Syntax::XSyntaxBase { public: NodeStoryConceptParser(Result::ParseCore *core); private: Result::ParseCore *const core; }; class NodeStoryStrongPoint : public Result::NamedNode { public: NodeStoryStrongPoint(NodeStoryConcept *parent, const QString &name); // DesNode interface public: virtual bool check(QList &reasons) const override; virtual QString toString() const override; // NamedNode interface public: virtual QList name() const override; private: NodeStoryConcept *const concept_point; }; class NodeStoryStrongPointParser : public Syntax::XSyntaxBase { public: NodeStoryStrongPointParser(NodeStoryConceptParser *pparser); }; class StoryConceptDocumentParser : public Syntax::ParseFrame { public: StoryConceptDocumentParser(Result::ParseCore *core); }; } #endif // STORYCONCEPTDOCUMENTPARSER_H