No description
Find a file
Peter Munch-Ellingsen e582c436e8
Merge pull request #7 from metagn/master
fix for nim 2.2, provide all generic params when instantiating `Nothing`
2024-10-10 18:01:42 +02:00
examples Made to work on 0.19.0 2019-02-12 14:03:21 +01:00
src provide all generic params when instantiating Nothing 2024-09-01 00:40:40 +03:00
tests Made to work on 0.19.0 2019-02-12 14:03:21 +01:00
combparser.nimble Made to work on 0.19.0 2019-02-12 14:03:21 +01:00
nimtorst Fix nimtorst to reflect change in source path 2018-03-30 18:03:46 +02:00
README.rst Refactor tests, examples, and added more docs 2018-03-30 17:47:37 +02:00

combparser
===========
This library implements what is known as a parser combinator system. The idea
behind this is to define your language by writing small, composable parsers
and combining them into a larger logic. It was written mainly for the
protobuf library which needed a parser that could run on compile-time to
parse the protobuf specification. The original idea came from a small
example library written by kmizu:
https://gist.github.com/kmizu/2b10c2bf0ab3eafecc1a825b892482f3 but has been
extensively rewritten with more matchers, more combinators, and proper error
handling. It still has some way to go to be the user-friendly parser library
it was indented to be, but it works well enough for now. For some examples
on how to use the library see the examples folder. Most of the combinators
have been written to accept not only string input and output, but any type.
This means that this library could theoretically be used to parse not only
string data but other types of data as well. Currently however the error
reporting is only string based, but an alternate system is being considered.

This file is automatically generated from the documentation found in
combparser.nim. Use ``nim doc2 combparser.nim`` to get the full documentation.