From 54ae6fe27ea7a70783e3ca9e41e8a24a527d0591 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Mon, 28 Aug 2023 23:46:05 +0000 Subject: [PATCH] parser: add placeholder for ini Parser Signed-off-by: Alejandro Mery --- go.mod | 2 ++ go.sum | 2 ++ parser/parser.go | 25 +++++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 go.sum create mode 100644 parser/parser.go diff --git a/go.mod b/go.mod index 05200fa..bca134e 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,5 @@ module asciigoat.org/ini go 1.19 + +require asciigoat.org/core v0.3.2 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..d948413 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +asciigoat.org/core v0.3.2 h1:ef4cixd5YPDFUPylgcqMXQMKJTnMD/1IROsFAm/UOO0= +asciigoat.org/core v0.3.2/go.mod h1:o4QARukIxCAnOnIi7gIWd+7z1P1d9qNxuZmOVG4MAno= diff --git a/parser/parser.go b/parser/parser.go new file mode 100644 index 0000000..5d399fd --- /dev/null +++ b/parser/parser.go @@ -0,0 +1,25 @@ +// 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.Reader +} + +// 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.NewReader(r), + } +}