⭐ A performant Nim parsing library built for humans.
This is the first release of Microparsec, a performant Nim parsing library built for humans. This release mostly implements features from Attoparsec. This supports Nim 1.2.6+ and can be installed using Nimble:
$ nimble install microparsec
The basic design consists of wrapping a stream (from the standard streams
library) to hold a state as we parse. All parsers then use this wrapped interface, so that the state is always in sync.
The error messages are heavily inspired by Megaparsec.
debugParse
(#19)satisfy
(#38)skip
satisfyWith
anyChar
ch
(Attoparsec: char
) (#20)notChar
peekCh
(Attoparsec: peekChar
)peekChF
(Attoparsec: peekChar'
)digit
letter
space
inClass
notInClass
attempt
(Attoparsec: try
)<?>
choice
count
option
many
(#20)many1
manyTil
sepBy
sepBy1
skipMany
skipMany1
match
<|>
(#20)str
(Attoparsec: string
) (#2)eof
optional
between
(#20)flatMap
(#20)map
(#7, #20)identifier
to the documentation (#4)