#pragma once #include "libtokens.h" #include #include #include namespace example_novel { class LIBSYNTAX_EXPORT LeftBracket : 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 RightBracket : public LeftBracket { public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; }; class LIBSYNTAX_EXPORT ReferMark : public LeftBracket { public: virtual QString reviseWords() const override; virtual int typeMark() const override; virtual QString regex() const override; }; class LIBSYNTAX_EXPORT Split : public LeftBracket { 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 { 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 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 VTextSection : 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