// Package parser parses dosini-style files package parser import ( "io" "asciigoat.org/core/lexer" ) // Parser parses a dosini-style document type Parser struct { src *lexer.Lexer } func (*Parser) init() error { return nil } // Run parses the source func (p *Parser) Run() error { if err := p.init(); err != nil { return err } return lexer.Run(p.initialState) } // NewParser creates a dosini-style parser using // an [io.Reader] as source func NewParser(r io.Reader) *Parser { if r == nil { return nil } return &Parser{ src: lexer.NewLexerReader(r), } }