#pragma once #include "libtokens.h" #include #include #include namespace example_novel { class LIBSYNTAX_EXPORT LBracket : public lib_token::ITokenProcess, public std::enable_shared_from_this { // TokenDefine interface public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; class LIBSYNTAX_EXPORT RBracket : public LBracket { public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; }; class LIBSYNTAX_EXPORT ReferMk : public LBracket { public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; }; class LIBSYNTAX_EXPORT SplitMk : public LBracket { public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; }; class LIBSYNTAX_EXPORT __keywords : public lib_token::ITokenProcess, public std::enable_shared_from_this<__keywords> { private: QString means_store; int type_code; public: __keywords(const QString& val, uint type_code); // TokenDefine interface public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; class LIBSYNTAX_EXPORT RankWord : public __keywords { public: RankWord(); }; class LIBSYNTAX_EXPORT StoryWord : public __keywords { public: StoryWord(); }; class LIBSYNTAX_EXPORT SliceWord : public __keywords { public: SliceWord(); }; class LIBSYNTAX_EXPORT PointWord : public __keywords { public: PointWord(); }; class LIBSYNTAX_EXPORT VolumeWord : public __keywords { public: VolumeWord(); }; class LIBSYNTAX_EXPORT ArticleWord : public __keywords { public: ArticleWord(); }; class LIBSYNTAX_EXPORT Numbers : public lib_token::ITokenProcess, public std::enable_shared_from_this { // TokenDefine interface public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; class LIBSYNTAX_EXPORT NameSection : public lib_token::ITokenProcess, public std::enable_shared_from_this { // TokenDefine interface public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; class LIBSYNTAX_EXPORT NormalText : public lib_token::ITokenProcess, public std::enable_shared_from_this { // TokenDefine interface public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; class LIBSYNTAX_EXPORT DeclareSymbo : public lib_token::ITokenProcess, public std::enable_shared_from_this { public: // 通过 TokenDefine 继承 virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; virtual std::tuple, std::shared_ptr> analysis(std::shared_ptr content) const override; }; } // namespace example_novel