Commit d324a851 authored by Rob Pike's avatar Rob Pike

slight simplification made possible by the code now processing match states

in order of discovery.

R=rsc
https://golang.org/cl/157112
parent 542e5b8a
......@@ -764,11 +764,10 @@ func (a *matchArena) addState(s []state, inst instr, match *matchVec, pos, end i
index := inst.index();
l := len(s);
begin := match.m[0];
// TODO: If the state were a vector and we could do insert, have inputs always
// go in order correctly and this "earlier" test is not necessary,
// States are inserted in order so it's sufficient to see if we have the same
// instruction; no need to see if existing match is earlier (it is).
for i := 0; i < l; i++ {
if s[i].inst.index() == index && // same instruction
s[i].match.m[0] <= begin { // earlier match already going; lefmost wins
if s[i].inst.index() == index {
return s
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment