go/src/regexp/syntax/compile.go

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

// Compile compiles the regexp into a program to be executed.
// The regexp should have been simplified already (returned from re.Simplify).
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 {}

// loop returns the fragment for the main loop of a plus or star.
// For plus, it can be used after changing the entry to f1.i.
// For star, it can be used directly when f1 can't match an empty string.
// (When f1 can match an empty string, f1* must be implemented as (f1+)?
// to get the priority match order correct.)
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 {}