type queue …
type entry …
type thread …
type machine …
type inputs …
func (i *inputs) newBytes(b []byte) input { … }
func (i *inputs) newString(s string) input { … }
func (i *inputs) newReader(r io.RuneReader) input { … }
func (i *inputs) clear() { … }
func (i *inputs) init(r io.RuneReader, b []byte, s string) (input, int) { … }
func (m *machine) init(ncap int) { … }
func (m *machine) alloc(i *syntax.Inst) *thread { … }
type lazyFlag …
func newLazyFlag(r1, r2 rune) lazyFlag { … }
func (f lazyFlag) match(op syntax.EmptyOp) bool { … }
func (m *machine) match(i input, pos int) bool { … }
func (m *machine) clear(q *queue) { … }
func (m *machine) step(runq, nextq *queue, pos, nextPos int, c rune, nextCond *lazyFlag) { … }
func (m *machine) add(q *queue, pc uint32, pos int, cap []int, cond *lazyFlag, t *thread) *thread { … }
type onePassMachine …
var onePassPool …
func newOnePassMachine() *onePassMachine { … }
func freeOnePassMachine(m *onePassMachine) { … }
func (re *Regexp) doOnePass(ir io.RuneReader, ib []byte, is string, pos, ncap int, dstCap []int) []int { … }
func (re *Regexp) doMatch(r io.RuneReader, b []byte, s string) bool { … }
func (re *Regexp) doExecute(r io.RuneReader, b []byte, s string, pos int, ncap int, dstCap []int) []int { … }
var arrayNoInts …