basic: introduce basic one-shot INI-style decoder

Signed-off-by: Alejandro Mery <amery@jpi.io>
This commit is contained in:
2023-09-01 14:21:55 +00:00
parent c92e0df47b
commit 174f72c4cf
5 changed files with 270 additions and 0 deletions
+10
View File
@@ -16,6 +16,7 @@ of stricter parsers of similar form.
[godoc-lexer]: https://pkg.go.dev/asciigoat.org/core/lexer
[godoc-parser-parser]: https://pkg.go.dev/asciigoat.org/ini/parser#Parser
[godoc-basic-parser]: https://pkg.go.dev/asciigoat.org/ini/basic#Decode
[wikipedia-dosini]: https://en.wikipedia.org/wiki/INI_file
@@ -25,6 +26,15 @@ of stricter parsers of similar form.
[`asciigoat`'s lexer][godoc-lexer] to process an `INI`-style document
emiting tokens and errors via callbacks.
## Basic Parser
[`basic.Decode()`][godoc-basic-parser] provies a one-shot decoder
that returns a structured document for you to post-process.
To allow for correct handling of repetition of section and field names downstream,
it uses arrays instead of maps, and makes almost no judgment
about what section or field names are acceptable.
## Other Implementations
Other implementations exist, and they are mature and feature-rich, but they