bool RoseBuildImpl::addOutfix(const raw_puff &rp) {
if (!mpv_outfix) {
mpv_outfix = make_unique<OutfixInfo>(MpvProto());
- mpv_outfix->chained = true;
}
auto *mpv = mpv_outfix->mpv();
u32 *event_out) {
if (!mpv_outfix) {
mpv_outfix = make_unique<OutfixInfo>(MpvProto());
- mpv_outfix->chained = true;
}
auto *mpv = mpv_outfix->mpv();
assert(!mpv_outfix);
mpv_outfix = &out;
} else {
- assert(!out.chained);
+ assert(!out.mpv());
}
}
return;
}
- assert(mpv_outfix->chained);
auto *mpv = mpv_outfix->mpv();
auto nfa = mpvCompile(mpv->puffettes, mpv->triggered_puffettes);
assert(nfa);
assert(tbi.qif.allocated_count() == bc.engineOffsets.size());
for (auto &out : tbi.outfixes) {
- if (out.chained) {
+ if (out.mpv()) {
continue; /* already done */
}
DEBUG_PRINTF("building outfix %zd\n", &out - &tbi.outfixes[0]);
depth minWidth = depth::infinity();
depth maxWidth = 0;
u64a maxOffset = 0;
- bool chained = false;
bool in_sbmatcher = false; //!< handled by small-block matcher.
private:
// layer at runtime will protect us from extra matches if only one was in
// the small block matcher.
winner.in_sbmatcher &= victim.in_sbmatcher;
-
- // We should never have merged outfixes that differ in these properties.
- assert(winner.chained == victim.chained);
}
static
for (auto it = tbi.outfixes.begin(); it != tbi.outfixes.end(); ++it) {
auto &outfix = *it;
assert(!outfix.is_dead());
- assert(!outfix.chained);
if (outfix.rdfa()) {
auto *rdfa = outfix.rdfa();
vector<raw_som_dfa *> som_dfas;
for (auto &outfix : tbi.outfixes) {
- assert(!outfix.chained);
if (outfix.rdfa()) {
dfas.push_back(outfix.rdfa());
} else if (outfix.holder()) {