Versions in this module Expand all Collapse all v1 v1.0.0 Mar 22, 2019 Changes in this version + var ErrNoState = errors.New("no state") + var ErrUnknownError = errors.New("unknown error") + type Parser struct + func New(t Tokeniser) Parser + func (p *Parser) Accept(types ...TokenType) bool + func (p *Parser) AcceptRun(types ...TokenType) TokenType + func (p *Parser) AcceptToken(tokens ...Token) bool + func (p *Parser) Done() (Phrase, PhraseFunc) + func (p *Parser) Error() (Phrase, PhraseFunc) + func (p *Parser) Except(types ...TokenType) bool + func (p *Parser) ExceptRun(types ...TokenType) TokenType + func (p *Parser) Get() []Token + func (p *Parser) GetPhrase() (Phrase, error) + func (p *Parser) GetToken() (Token, error) + func (p *Parser) Len() int + func (p *Parser) Peek() Token + func (p *Parser) PhraserState(pf PhraseFunc) + type Phrase struct + Data []Token + Type PhraseType + type PhraseFunc func(*Parser) (Phrase, PhraseFunc) + type PhraseType int + const PhraseDone + const PhraseError + type Token struct + Data string + Type TokenType + type TokenFunc func(*Tokeniser) (Token, TokenFunc) + type TokenType int + const TokenDone + const TokenError + type Tokeniser struct + Err error + func NewByteTokeniser(data []byte) Tokeniser + func NewReaderTokeniser(reader io.Reader) Tokeniser + func NewStringTokeniser(str string) Tokeniser + func (t *Tokeniser) Accept(chars string) bool + func (t *Tokeniser) AcceptRun(chars string) rune + func (t *Tokeniser) Done() (Token, TokenFunc) + func (t *Tokeniser) Error() (Token, TokenFunc) + func (t *Tokeniser) Except(chars string) bool + func (t *Tokeniser) ExceptRun(chars string) rune + func (t *Tokeniser) Get() string + func (t *Tokeniser) GetToken() (Token, error) + func (t *Tokeniser) Len() int + func (t *Tokeniser) Peek() rune + func (t *Tokeniser) TokeniserState(tf TokenFunc)