Context接口改进

This commit is contained in:
codeboss 2024-07-13 06:19:30 +08:00
parent 740e7b0bef
commit 5fea845666
5 changed files with 11 additions and 11 deletions

View File

@ -41,7 +41,7 @@ std::shared_ptr<const ast_gen::ElementAccess> NovelParser::parse(const QFileInfo
this->syntax_defines->parse(context, words); this->syntax_defines->parse(context, words);
} }
forst_root = context->getDocs(); forst_root = context->getDocInsts();
auto current_stamp = QTime::currentTime(); auto current_stamp = QTime::currentTime();
qDebug().noquote() << QString(u8"%词法解析+语法解析消耗时间:%1 ms。").arg(time_stamp.msecsTo(current_stamp)); qDebug().noquote() << QString(u8"%词法解析+语法解析消耗时间:%1 ms。").arg(time_stamp.msecsTo(current_stamp));

View File

@ -96,15 +96,15 @@ void ExpressionContext::clearErrors(const QString &file_path, int start) {
} }
} }
QList<std::shared_ptr<const IBasicRule>> ExpressionContext::currentExpressionRuleStack() const { QList<std::shared_ptr<const IBasicRule>> ExpressionContext::currentExprRuleStack() const {
return rule_stack; return rule_stack;
} }
void ExpressionContext::appendDoc(std::shared_ptr<ast_basic::IExprInst> inst) { void ExpressionContext::appendDocInst(std::shared_ptr<ast_basic::IExprInst> inst) {
this->document_store.append(inst); this->document_store.append(inst);
} }
QList<std::shared_ptr<const ast_basic::IExprInst>> ExpressionContext::getDocs() const { QList<std::shared_ptr<const ast_basic::IExprInst>> ExpressionContext::getDocInsts() const {
return this->document_store; return this->document_store;
} }

View File

@ -99,10 +99,10 @@ namespace ast_basic {
std::shared_ptr<const lib_syntax::IBasicRule> currentExprRule() const override; std::shared_ptr<const lib_syntax::IBasicRule> currentExprRule() const override;
void pushExprRule(std::shared_ptr<const lib_syntax::IBasicRule> inst) override; void pushExprRule(std::shared_ptr<const lib_syntax::IBasicRule> inst) override;
std::shared_ptr<const lib_syntax::IBasicRule> popExprRule() override; std::shared_ptr<const lib_syntax::IBasicRule> popExprRule() override;
virtual QList<std::shared_ptr<const lib_syntax::IBasicRule>> currentExpressionRuleStack() const; virtual QList<std::shared_ptr<const lib_syntax::IBasicRule>> currentExprRuleStack() const;
virtual void appendDoc(std::shared_ptr<ast_basic::IExprInst> inst) override; virtual void appendDocInst(std::shared_ptr<ast_basic::IExprInst> inst) override;
virtual QList<std::shared_ptr<const ast_basic::IExprInst>> getDocs() const override; virtual QList<std::shared_ptr<const ast_basic::IExprInst>> getDocInsts() const override;
void appendParseErrors(const QString& file_path, int start, const QString& error_msg) override; void appendParseErrors(const QString& file_path, int start, const QString& error_msg) override;
QStringList errors() const override; QStringList errors() const override;

View File

@ -228,7 +228,7 @@ ExprRule::parse(std::shared_ptr<IContext> rt_inst, std::shared_ptr<const IWordBa
rt_inst->currentExprInst()->addChild(elm_ast); rt_inst->currentExprInst()->addChild(elm_ast);
} }
else { else {
rt_inst->appendDoc(elm_ast); rt_inst->appendDocInst(elm_ast);
} }
}break; }break;
default: default:

View File

@ -42,8 +42,8 @@ namespace lib_syntax {
virtual QStringList errors() const = 0; virtual QStringList errors() const = 0;
virtual void clearErrors(const QString &file_path, int start) = 0; virtual void clearErrors(const QString &file_path, int start) = 0;
virtual void appendDoc(std::shared_ptr<ast_basic::IExprInst> inst) = 0; virtual void appendDocInst(std::shared_ptr<ast_basic::IExprInst> inst) = 0;
virtual QList<std::shared_ptr<const ast_basic::IExprInst>> getDocs() const = 0; virtual QList<std::shared_ptr<const ast_basic::IExprInst>> getDocInsts() const = 0;
/** /**
* \brief µ±Ç°±í´ïÊ½ÔªËØ. * \brief µ±Ç°±í´ïÊ½ÔªËØ.
@ -57,7 +57,7 @@ namespace lib_syntax {
virtual std::shared_ptr<const IBasicRule> currentExprRule() const = 0; virtual std::shared_ptr<const IBasicRule> currentExprRule() const = 0;
virtual void pushExprRule(std::shared_ptr<const IBasicRule> inst) = 0; virtual void pushExprRule(std::shared_ptr<const IBasicRule> inst) = 0;
virtual std::shared_ptr<const IBasicRule> popExprRule() = 0; virtual std::shared_ptr<const IBasicRule> popExprRule() = 0;
virtual QList<std::shared_ptr<const IBasicRule>> currentExpressionRuleStack() const = 0; virtual QList<std::shared_ptr<const IBasicRule>> currentExprRuleStack() const = 0;
}; };
/** /**