diff --git a/libSyntax/libsyntax.h b/libSyntax/libsyntax.h index 58e917b..40402e7 100644 --- a/libSyntax/libsyntax.h +++ b/libSyntax/libsyntax.h @@ -298,11 +298,14 @@ namespace lib_syntax { auto nbranch = this->child_store->parse(ncursor); decltype(nbranch) list_ok; + // 选择完全匹配成功的 std::copy_if(nbranch.begin(), nbranch.end(), std::back_inserter(list_ok), [](std::shared_ptr ins) { return !ins->exprsErrorCount(); }); if (!list_ok.size()) { + // 选择被修正的 std::copy_if(nbranch.begin(), nbranch.end(), std::back_inserter(list_ok), [](std::shared_ptr ins) { return !ins->mustStop(); }); + // 匹配失败的 if (!list_ok.size()) list_ok = nbranch; }