Mercurial > lbo > hg > rcombinators
changeset 38:8569decb05da
Add LICENSE, README
author | Lewin Bormann <lewin@lewin-bormann.info> |
---|---|
date | Sat, 08 Jun 2019 10:53:45 +0200 |
parents | 1d67d854b5d7 |
children | 0b3da01a454a |
files | LICENSE README.md |
diffstat | 2 files changed, 34 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENSE Sat Jun 08 10:53:45 2019 +0200 @@ -0,0 +1,19 @@ +Copyright (c) 2019 Lewin Bormann <lbo@spheniscida.de> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Sat Jun 08 10:53:45 2019 +0200 @@ -0,0 +1,15 @@ +# `rcombinators` + +[![Build Status](https://travis-ci.org/dermesser/rcombinators.svg?branch=master))](https://travis-ci.org/dermesser/rcombinators) + +`rcombinators` is a Rust version of the [`pcombinators`](https://github.com/dermesser/pcombinators) +library, providing parser combinators in Rust. As opposed to some other parser libraries it works +without much magic syntax for users; however this also means a bit more boilerplate and occasionally +less performance due to the "pedestrian" way of doing things. + +Compared to `pcombinators` we still achieve up to 100x more throughput as well as type safety, +making writing parsers less error-prone. + +An example of a working parser can be found in `examples/json/`, which is a working yet simplistic +JSON parser (it doesn't work with escaped characters in strings, for example), demonstrating how to +combine the parsers provided by rcombinators.