type DoubleArray …
func NewDoubleArray(seqs [][]string) *DoubleArray { … }
func registerTokens(da *DoubleArray, seqs [][]string) [][]int { … }
type node …
func (n node) value(seqs [][]int) int { … }
func (n node) children(seqs [][]int) []*node { … }
func addSeqs(da *DoubleArray, seqs [][]int, pos int, n node) { … }
func ensureSize(da *DoubleArray, i int) { … }
type byLex …
func (l byLex) Len() int { … }
func (l byLex) Swap(i, j int) { … }
func (l byLex) Less(i, j int) bool { … }
func (da *DoubleArray) HasCommonPrefix(seq []string) bool { … }