Lines Matching refs:prog
7 // a bit vector with (length of input) * (length of prog) bits,
29 maxBacktrackProg = 500 // len(prog.Inst) <= max
35 prog *syntax.Prog
46 // the backtracker using prog.
47 func maxBitStateLen(prog *syntax.Prog) int {
48 if !shouldBacktrack(prog) {
51 return maxBacktrackVector / len(prog.Inst)
54 // newBitState returns a new bitState for the given prog,
55 // or notBacktrack if the size of the prog exceeds the maximum size that
57 func newBitState(prog *syntax.Prog) *bitState {
58 if !shouldBacktrack(prog) {
62 prog: prog,
68 func shouldBacktrack(prog *syntax.Prog) bool {
69 return len(prog.Inst) <= maxBacktrackProg
84 visitedSize := (len(b.prog.Inst)*(end+1) + visitedBits - 1) / visitedBits
120 if b.prog.Inst[pc].Op != syntax.InstFail && (arg || b.shouldVisit(pc, pos)) {
153 inst := b.prog.Inst[pc]
182 switch b.prog.Inst[inst.Out].Op {
294 // backtrack runs a backtracking search of prog on the input starting at pos.