Files
ini/parser/parser.go
T
amery 3008e1e0a2 parser: WIP
Signed-off-by: Alejandro Mery <amery@jpi.io>
2023-08-29 00:30:15 +00:00

37 lines
579 B
Go

// 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),
}
}