func New(startState StateFn, lex lexer.Lexer, channelCap int) Parser {
	p := &parser{
		lex:      lex,
		tokens:   queue.New(4),  
		pos:      0,
		sequence: 0,
		eofToken: nil,
		eof:      false,
		state:    startState,
		chn:      make(chan interface{}, channelCap),
	}
	return p
}
New returns a new Parser object
package parser
import "github.com/iNamik/go_lexer"
import "github.com/iNamik/go_container/queue"
type StateFn func(Parser) StateFn
type Marker struct {
	sequence int
	pos      int
}
type Parser interface {
	Line() int
	Column() int
	PeekTokenType(int) lexer.TokenType
	PeekToken(int) *lexer.Token
	NextToken() *lexer.Token
	SkipToken()
	SkipTokens(int)
	BackupToken()
	BackupTokens(int)
	ClearTokens()
	Emit(interface{})
	EOF() bool
	Next() interface{}
	Marker() *Marker
	Reset(*Marker)
}