code: func opToString(op syntax.Op) string {
  	switch op {
  	case syntax.OpNoMatch:
  		return "OpNoMatch"
  	case syntax.OpEmptyMatch:
  		return "OpEmptyMatch"
  	case syntax.OpLiteral:
  		return "OpLiteral"
  	case syntax.OpCharClass:
  		return "OpCharClass"
  	case syntax.OpAnyCharNotNL:
  		return "OpAnyCharNotNL"
  	case syntax.OpAnyChar:
  		return "OpAnyChar"
  	case syntax.OpBeginLine:
  		return "OpBeginLine"
  	case syntax.OpEndLine:
  		return "OpEndLine"
  	case syntax.OpBeginText:
  		return "OpBeginText"
  	case syntax.OpEndText:
  		return "OpEndText"
  	case syntax.OpWordBoundary:
  		return "OpWordBoundary"
  	case syntax.OpNoWordBoundary:
  		return "OpNoWordBoundary"
  	case syntax.OpCapture:
  		return "OpCapture"
  	case syntax.OpStar:
  		return "OpStar"
  	case syntax.OpPlus:
  		return "OpPlus"
  	case syntax.OpQuest:
  		return "OpQuest"
  	case syntax.OpRepeat:
  		return "OpRepeat"
  	case syntax.OpConcat:
  		return "OpConcat"
  	case syntax.OpAlternate:
  		return "OpAlternate"
  	}
  
  	panic(fmt.Sprintf("invalid op: %d", op))
  }
docs: // opToString gets the string name of a regular expression operation.