WsParser_VS/libSyntax/tokens_novel.h

121 lines
4.6 KiB
C++

#pragma once
#include "libtokens.h"
#include <QString>
#include <memory>
#include <tuple>
namespace example_novel {
class LIBSYNTAX_EXPORT LBracket : public lib_token::ITokenProcess, public std::enable_shared_from_this<LBracket> {
// TokenDefine interface
public:
virtual QString reviseWords() const override;
virtual int typeMark() const override;
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::IToken>, std::shared_ptr<const lib_words::IPrimitiveWord>>
analysis(std::shared_ptr<const lib_words::IPrimitiveWord> 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<const lib_token::IToken>, std::shared_ptr<const lib_words::IPrimitiveWord>>
analysis(std::shared_ptr<const lib_words::IPrimitiveWord> 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 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<Numbers> {
// TokenDefine interface
public:
virtual QString reviseWords() const override;
virtual int typeMark() const override;
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::IToken>, std::shared_ptr<const lib_words::IPrimitiveWord>>
analysis(std::shared_ptr<const lib_words::IPrimitiveWord> content) const override;
};
class LIBSYNTAX_EXPORT NameText : public lib_token::ITokenProcess, public std::enable_shared_from_this<NameText> {
// TokenDefine interface
public:
virtual QString reviseWords() const override;
virtual int typeMark() const override;
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::IToken>, std::shared_ptr<const lib_words::IPrimitiveWord>>
analysis(std::shared_ptr<const lib_words::IPrimitiveWord> content) const override;
};
class LIBSYNTAX_EXPORT NormalText : public lib_token::ITokenProcess, public std::enable_shared_from_this<NormalText> {
// TokenDefine interface
public:
virtual QString reviseWords() const override;
virtual int typeMark() const override;
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::IToken>, std::shared_ptr<const lib_words::IPrimitiveWord>>
analysis(std::shared_ptr<const lib_words::IPrimitiveWord> content) const override;
};
class LIBSYNTAX_EXPORT DeclareSymbo : public lib_token::ITokenProcess, public std::enable_shared_from_this<DeclareSymbo> {
public:
// 通过 TokenDefine 继承
virtual QString reviseWords() const override;
virtual int typeMark() const override;
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::IToken>, std::shared_ptr<const lib_words::IPrimitiveWord>>
analysis(std::shared_ptr<const lib_words::IPrimitiveWord> content) const override;
};
} // namespace example_novel