From dba8c71f846b62a5e99e9d5995d9e873214198d0 Mon Sep 17 00:00:00 2001 From: codeboss <2422523675@qq.com> Date: Thu, 20 Jun 2024 19:18:41 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libToken/libtoken.cpp | 6 +++--- libToken/libtoken.h | 4 ++-- libToken/tokens_novel.cpp | 26 +++++++++++++------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/libToken/libtoken.cpp b/libToken/libtoken.cpp index 6a98908..53ed0df 100644 --- a/libToken/libtoken.cpp +++ b/libToken/libtoken.cpp @@ -5,7 +5,7 @@ using namespace lib_token; -std::shared_ptr TokenReader::wordsFrom(const QString& path) const { +std::shared_ptr WordReader::wordsFrom(const QString& path) const { auto content_list = extract_from(path); if (!content_list.size()) return nullptr; @@ -19,7 +19,7 @@ std::shared_ptr TokenReader::wordsFrom(const QString& path) con return prev_ptr; } -QList> TokenReader::extract_from(const QString& path) const { +QList> WordReader::extract_from(const QString& path) const { QFile file(path); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { throw new TokenException(u8"Lex[0x0000]指定文件无法打开:" + path); @@ -38,7 +38,7 @@ QList> TokenReader::extract_from(const QString& } #include -QList> TokenReader::parse_line(int row, const QString& line_text, const QString& path) const { +QList> WordReader::parse_line(int row, const QString& line_text, const QString& path) const { QRegExp split_char(u8"\\s"); auto words = line_text.split(split_char, QString::SplitBehavior::SkipEmptyParts); diff --git a/libToken/libtoken.h b/libToken/libtoken.h index c74deb2..8aedb75 100644 --- a/libToken/libtoken.h +++ b/libToken/libtoken.h @@ -59,7 +59,7 @@ namespace lib_token { virtual std::shared_ptr nextWord() const override; }; - class WordImpl : public IWordBase { + class LIBTOKEN_EXPORT WordImpl : public IWordBase { private: std::shared_ptr content_ptr; std::shared_ptr next_ptr; @@ -134,7 +134,7 @@ namespace lib_token { /** * @brief 词法获取器 */ - class LIBTOKEN_EXPORT TokenReader { + class LIBTOKEN_EXPORT WordReader { private: QList> parse_line(int row, const QString& line_text, const QString& path) const; QList> extract_from(const QString& path) const; diff --git a/libToken/tokens_novel.cpp b/libToken/tokens_novel.cpp index f18869f..3a50f57 100644 --- a/libToken/tokens_novel.cpp +++ b/libToken/tokens_novel.cpp @@ -24,7 +24,7 @@ std::shared_ptr TokenContent::define() const { return this-> QString LeftBracket::typeName() const { return u8"left-bracket"; } -int example_novel::LeftBracket::typeMark() const +int LeftBracket::typeMark() const { return 0x01000000; } @@ -49,7 +49,7 @@ LeftBracket::analysis(std::shared_ptr content) const { QString RightBracket::typeName() const { return u8"right-bracket"; } -int example_novel::RightBracket::typeMark() const +int RightBracket::typeMark() const { return 0x02000000; } @@ -58,7 +58,7 @@ QString RightBracket::regex() const { return u8"}"; } QString ReferMark::typeName() const { return u8"refer-mark"; } -int example_novel::ReferMark::typeMark() const +int ReferMark::typeMark() const { return 0x03000000; } @@ -69,7 +69,7 @@ Keywords::Keywords(const QString& val, const QString& nm, uint type_code) : valu QString Keywords::typeName() const { return name_store; } -int example_novel::Keywords::typeMark() const +int Keywords::typeMark() const { return 0x06000000 | (0x00ffffff & type_code); } @@ -88,7 +88,7 @@ Keywords::analysis(std::shared_ptr content) const { QString NewLine::typeName() const { return u8"new-line"; } -int example_novel::NewLine::typeMark() const +int NewLine::typeMark() const { return 0x04000000; } @@ -97,7 +97,7 @@ QString NewLine::regex() const { return u8"\n"; } QString Numbers::typeName() const { return u8"numbers"; } -int example_novel::Numbers::typeMark() const +int Numbers::typeMark() const { return 0x07000000; } @@ -117,7 +117,7 @@ Numbers::analysis(std::shared_ptr content) const { QString VTextSection::typeName() const { return u8"text-section"; } -int example_novel::VTextSection::typeMark() const +int VTextSection::typeMark() const { return 0x09000000; } @@ -145,7 +145,7 @@ VTextSection::analysis(std::shared_ptr content) const { QString Split::typeName() const { return u8"split-mark"; } -int example_novel::Split::typeMark() const +int Split::typeMark() const { return 0x05000000; } @@ -154,7 +154,7 @@ QString Split::regex() const { return u8"&"; } QString NameSection::typeName() const { return u8"name-section"; } -int example_novel::NameSection::typeMark() const +int NameSection::typeMark() const { return 0x08000000; } @@ -180,22 +180,22 @@ std::tuple, std::shared_ptr > Nam return std::make_tuple(tinst, nullptr); } -QString example_novel::DeclareSymbo::typeName() const +QString DeclareSymbo::typeName() const { return u8"声明符"; } -int example_novel::DeclareSymbo::typeMark() const +int DeclareSymbo::typeMark() const { return 0x0A000000; } -QString example_novel::DeclareSymbo::regex() const +QString DeclareSymbo::regex() const { return u8"#"; } -std::tuple, std::shared_ptr> example_novel::DeclareSymbo::analysis(std::shared_ptr content) const +std::tuple, std::shared_ptr> DeclareSymbo::analysis(std::shared_ptr content) const { auto text = content->content(); if (content->column() != 1 && !text.startsWith(regex())) {