aboutsummaryrefslogtreecommitdiff
path: root/compiler/dfa.go
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/dfa.go')
-rw-r--r--compiler/dfa.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler/dfa.go b/compiler/dfa.go
index de2c451..ad42322 100644
--- a/compiler/dfa.go
+++ b/compiler/dfa.go
@@ -107,8 +107,12 @@ func genTransitionTable(dfa *DFA) (*spec.TransitionTable, error) {
state2Num[s] = i + 1
}
- acc := map[int]int{}
- for s, id := range dfa.AcceptingStatesTable {
+ acc := make([]int, len(dfa.States)+1)
+ for _, s := range dfa.States {
+ id, ok := dfa.AcceptingStatesTable[s]
+ if !ok {
+ continue
+ }
acc[state2Num[s]] = id
}