Versions in this module Expand all Collapse all v0 v0.1.0 Dec 27, 2023 Changes in this version + const CatchAll + const ErrLit + type Lexer func(sc *Scanner, lead rune) (rune, int) + type Parser struct + Lit string + Value T + func Init[T any](opts ...ParserOptions) *Parser[T] + func (p *Parser[T]) Errf(format string, args ...any) + func (p *Parser[T]) Expect(tk rune, msg string) + func (p *Parser[T]) Finish() (T, error) + func (p *Parser[T]) Match(tk ...rune) bool + func (p *Parser[T]) More() bool + func (p *Parser[T]) Skip() + func (p *Parser[T]) Synchronize() + func (p *Parser[T]) Unread(n int) + type ParserOptions func(*emb) + func ReadFiles(docs ...string) ParserOptions + func ReadFrom(in io.Reader) ParserOptions + func SynchronizeAt(lits ...string) ParserOptions + func Verbose() ParserOptions + func WithLexer(lx Lexer) ParserOptions + type Position struct + Column int + Filename string + Line int + Offset int + func (pos *Position) IsValid() bool + func (pos Position) String() string + type Scanner struct + func ScanFiles(names ...string) *Scanner + func ScanReader(in io.ReadCloser) *Scanner + func (s *Scanner) Advance(n int) + func (s *Scanner) LexIdent() int + func (s *Scanner) LexString() (n int) + func (s *Scanner) Pos() Position + func (s *Scanner) ScanWithTable(transitions [][]byte) (prev uint8, n int) + func (s *Scanner) Token() rune + func (sc *Scanner) Error() error