diff --git a/libSyntax/ast_basic.cpp b/libSyntax/ast_basic.cpp index 7865c2b..9787b8a 100644 --- a/libSyntax/ast_basic.cpp +++ b/libSyntax/ast_basic.cpp @@ -34,13 +34,13 @@ QList> ExpressionElement::tokens() const { return this->tokens_bind; } -ExpressionContext::ExpressionContext() {} +ExprsContext::ExprsContext() {} -void ExpressionContext::setCurrentFile(const QString& path) { this->current_file_path = path; } +void ExprsContext::setCurrentFile(const QString& path) { this->current_file_path = path; } -QString ExpressionContext::currentFile() const { return this->current_file_path; } +QString ExprsContext::currentFile() const { return this->current_file_path; } -std::shared_ptr ExpressionContext::currentExprInst() const +std::shared_ptr ExprsContext::currentExprInst() const { if (expression_stack.size()) return expression_stack.last(); @@ -48,39 +48,39 @@ std::shared_ptr ExpressionContext::currentExprInst() const return nullptr; } -void ExpressionContext::pushExprInst(std::shared_ptr current_inst) +void ExprsContext::pushExprInst(std::shared_ptr current_inst) { if (!expression_stack.size() || expression_stack.last() != current_inst) expression_stack.append(current_inst); } -std::shared_ptr ExpressionContext::popExprInst() +std::shared_ptr ExprsContext::popExprInst() { auto lastx = expression_stack.takeLast(); return lastx; } -std::shared_ptr ExpressionContext::currentExprRule() const { +std::shared_ptr ExprsContext::currentExprRule() const { if (rule_stack.size()) return rule_stack.last(); return nullptr; } -void ExpressionContext::pushExprRule(std::shared_ptr inst) { +void ExprsContext::pushExprRule(std::shared_ptr inst) { if (!rule_stack.size() || rule_stack.last() != inst) rule_stack.append(inst); } -std::shared_ptr ExpressionContext::popExprRule() +std::shared_ptr ExprsContext::popExprRule() { return rule_stack.takeLast(); } -void ExpressionContext::appendParseErrors(const QString& file_path, int start, const QString& e) { +void ExprsContext::appendParseErrors(const QString& file_path, int start, const QString& e) { this->errors_storage.append(std::make_tuple(file_path, start, e)); } -QStringList ExpressionContext::errors() const { +QStringList ExprsContext::errors() const { QStringList values; for (auto& tp : this->errors_storage) values.append(QString(u8"文件:%1\n\t%2").arg(std::get<0>(tp)).arg(std::get<2>(tp))); @@ -88,7 +88,7 @@ QStringList ExpressionContext::errors() const { return values; } -void ExpressionContext::clearErrors(const QString &file_path, int start) { +void ExprsContext::clearErrors(const QString &file_path, int start) { for (int idx = 0; idx < this->errors_storage.size(); ++idx) { auto &tp = errors_storage[idx]; if(std::get<0>(tp) == file_path && std::get<1>(tp) >= start) @@ -96,15 +96,15 @@ void ExpressionContext::clearErrors(const QString &file_path, int start) { } } -QList> ExpressionContext::currentExprRuleStack() const { +QList> ExprsContext::currentExprRuleStack() const { return rule_stack; } -void ExpressionContext::appendDocInst(std::shared_ptr inst) { +void ExprsContext::appendDocInst(std::shared_ptr inst) { this->document_store.append(inst); } -QList> ExpressionContext::getDocInsts() const { +QList> ExprsContext::getDocInsts() const { return this->document_store; } \ No newline at end of file diff --git a/libSyntax/ast_basic.h b/libSyntax/ast_basic.h index 238eb76..c92c67d 100644 --- a/libSyntax/ast_basic.h +++ b/libSyntax/ast_basic.h @@ -77,7 +77,7 @@ namespace ast_basic { void addChild(std::shared_ptr inst) override; }; - class LIBSYNTAX_EXPORT ExpressionContext : public lib_syntax::IContext, public std::enable_shared_from_this { + class LIBSYNTAX_EXPORT ExprsContext : public lib_syntax::IContext, public std::enable_shared_from_this { private: QList> rule_stack; QList> expression_stack; @@ -86,7 +86,7 @@ namespace ast_basic { QList> errors_storage; public: - ExpressionContext(); + ExprsContext(); // 通过 IContext 继承 virtual void setCurrentFile(const QString& path); diff --git a/libSyntax/ast_gen.h b/libSyntax/ast_gen.h index 2dc6246..b31ad96 100644 --- a/libSyntax/ast_gen.h +++ b/libSyntax/ast_gen.h @@ -102,7 +102,7 @@ namespace ast_gen /** * @brief 根元素定义 */ - class LIBSYNTAX_EXPORT GlobalElement : public SyntaxElement, public ast_basic::ExpressionContext { + class LIBSYNTAX_EXPORT GlobalElement : public SyntaxElement, public ast_basic::ExprsContext { private: QString names_store; QHash> node_cache;