func NewParser(r *reader.Reader) *RespParser {
	p := &RespParser{
		stack: []stackFrame{{}},
	}
	p.Reset(r)
	return p
}
NewParser creates a parser ready to read a single RESP value from r.
package redis
import (
	"errors"
	"strconv"
	"github.com/box/memsniff/assembly/reader"
)
const (
	tagStatus = '+'
	tagError  = '-'
	tagInt    = ':'
	tagBulk   = '$'
	tagArray  = '*'
	stackLimit = 8
)
var (
	ProtocolErr       = errors.New("RESP protocol error")
	RecursionLimitErr = errors.New("too many nested RESP arrays")
)
type ParserOptions struct {
	BulkCaptureLimit int
}
type RespParser struct {
	stack   []stackFrame
	Options ParserOptions
}
type stackFrame struct {
	run    func() error
	result interface{}
}