#ifndef STORYOUTLINEDOCUMENTPARSER_H
#define STORYOUTLINEDOCUMENTPARSER_H

#include "ParseFrame.h"
#include "SyntaxBase.h"
#include "XSyntaxBase.h"

namespace Parse {
    /**
     * @brief 叙事承载节点
     */
    class NodeStoryDepiction : public Result::NamedNode
    {
    public:
        NodeStoryDepiction(Result::DocCore *doc, const QString &name);
        virtual ~NodeStoryDepiction() = default;

        // DesNode interface
    public:
        virtual bool check(QList<ErrorMessage> &reasons) const override;
        virtual QString toString() const override;

    };

    class NodeStoryDepictionParser : public Syntax::XSyntaxBase
    {
    public:
        NodeStoryDepictionParser(Result::ParseCore *core);
    };



    class StoryOutlineDocumentParser : public Syntax::ParseFrame
    {
    public:
        StoryOutlineDocumentParser(Result::ParseCore *core);
    };
}


#endif // STORYOUTLINEDOCUMENTPARSER_H
