mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
slight simplification made possible by the code now processing match states
in order of discovery. R=rsc https://golang.org/cl/157112
This commit is contained in:
parent
542e5b8ade
commit
d324a851c4
1 changed files with 3 additions and 4 deletions
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue