type patchList …
func makePatchList(n uint32) patchList { … }
func (l patchList) patch(p *Prog, val uint32) { … }
func (l1 patchList) append(p *Prog, l2 patchList) patchList { … }
type frag …
type compiler …
func Compile(re *Regexp) (*Prog, error) { … }
func (c *compiler) init() { … }
var anyRuneNotNL …
var anyRune …
func (c *compiler) compile(re *Regexp) frag { … }
func (c *compiler) inst(op InstOp) frag { … }
func (c *compiler) nop() frag { … }
func (c *compiler) fail() frag { … }
func (c *compiler) cap(arg uint32) frag { … }
func (c *compiler) cat(f1, f2 frag) frag { … }
func (c *compiler) alt(f1, f2 frag) frag { … }
func (c *compiler) quest(f1 frag, nongreedy bool) frag { … }
func (c *compiler) loop(f1 frag, nongreedy bool) frag { … }
func (c *compiler) star(f1 frag, nongreedy bool) frag { … }
func (c *compiler) plus(f1 frag, nongreedy bool) frag { … }
func (c *compiler) empty(op EmptyOp) frag { … }
func (c *compiler) rune(r []rune, flags Flags) frag { … }