WsParser_VS/libToken/tokens_novel.h

97 lines
3.7 KiB
C
Raw Normal View History

2024-03-17 07:58:28 +00:00
#pragma once
#include "libToken_global.h"
#include "libtoken.h"
#include <QString>
#include <memory>
#include <tuple>
namespace example_novel {
class LIBTOKEN_EXPORT LeftBracket : public lib_token::TokenDefine, public std::enable_shared_from_this<LeftBracket> {
// TokenDefine interface
public:
2024-06-19 04:05:43 +00:00
virtual QString typeName() const override;
virtual int typeMark() const override;
2024-03-17 07:58:28 +00:00
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::Token>, std::shared_ptr<const lib_token::WordBase>>
analysis(std::shared_ptr<const lib_token::WordBase> content) const override;
};
class LIBTOKEN_EXPORT RightBracket : public LeftBracket {
public:
2024-06-19 04:05:43 +00:00
virtual QString typeName() const override;
virtual int typeMark() const override;
2024-03-17 07:58:28 +00:00
virtual QString regex() const override;
};
class LIBTOKEN_EXPORT ReferMark : public LeftBracket {
public:
2024-06-19 04:05:43 +00:00
virtual QString typeName() const override;
virtual int typeMark() const override;
2024-03-17 07:58:28 +00:00
virtual QString regex() const override;
};
class LIBTOKEN_EXPORT NewLine : public LeftBracket {
public:
2024-06-19 04:05:43 +00:00
virtual QString typeName() const override;
virtual int typeMark() const override;
2024-03-17 07:58:28 +00:00
virtual QString regex() const override;
};
class LIBTOKEN_EXPORT Split : public LeftBracket {
public:
2024-06-19 04:05:43 +00:00
virtual QString typeName() const override;
virtual int typeMark() const override;
2024-03-17 07:58:28 +00:00
virtual QString regex() const override;
};
class LIBTOKEN_EXPORT Keywords : public lib_token::TokenDefine, public std::enable_shared_from_this<Keywords> {
private:
QString value_store, name_store;
2024-06-19 04:05:43 +00:00
int type_code;
2024-03-17 07:58:28 +00:00
public:
2024-06-19 04:05:43 +00:00
Keywords(const QString& val, const QString& nm, uint type_code);
2024-03-17 07:58:28 +00:00
// TokenDefine interface
public:
2024-06-19 04:05:43 +00:00
virtual QString typeName() const override;
virtual int typeMark() const override;
2024-03-17 07:58:28 +00:00
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::Token>, std::shared_ptr<const lib_token::WordBase>>
analysis(std::shared_ptr<const lib_token::WordBase> content) const override;
};
class LIBTOKEN_EXPORT Numbers : public lib_token::TokenDefine, public std::enable_shared_from_this<Numbers> {
// TokenDefine interface
public:
2024-06-19 04:05:43 +00:00
virtual QString typeName() const override;
virtual int typeMark() const override;
2024-03-17 07:58:28 +00:00
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::Token>, std::shared_ptr<const lib_token::WordBase>>
analysis(std::shared_ptr<const lib_token::WordBase> content) const override;
};
class LIBTOKEN_EXPORT NameSection : public lib_token::TokenDefine, public std::enable_shared_from_this<NameSection> {
// TokenDefine interface
public:
2024-06-19 04:05:43 +00:00
virtual QString typeName() const override;
virtual int typeMark() const override;
2024-03-17 07:58:28 +00:00
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::Token>, std::shared_ptr<const lib_token::WordBase>>
analysis(std::shared_ptr<const lib_token::WordBase> content) const override;
};
class LIBTOKEN_EXPORT VTextSection : public lib_token::TokenDefine, public std::enable_shared_from_this<VTextSection> {
// TokenDefine interface
public:
2024-06-19 04:05:43 +00:00
virtual QString typeName() const override;
virtual int typeMark() const override;
2024-03-17 07:58:28 +00:00
virtual QString regex() const override;
virtual std::tuple<std::shared_ptr<const lib_token::Token>, std::shared_ptr<const lib_token::WordBase>>
analysis(std::shared_ptr<const lib_token::WordBase> content) const override;
};
} // namespace example_novel