mentat/edn
Nick Alexander cbffe5e545 Use rust-peg for tx parsing.
There are few reasons to do this:

- it's difficult to add symbol interning to combine-based parsers like
  tx-parser -- literally every type changes to reflect the interner,
  and that means every convenience macro we've built needs to chagne.
  It's trivial to add interning to rust-peg-based parsers.

- combine has rolled forward to 3.2, and I spent a similar amount of
  time investigating how to upgrade tx-parser (to take advantage of
  the new parser! macros in combine that I think are necessary for
  adapting to changing types) as I did just converting to rust-peg.

- it's easy to improve the error messages in rust-peg, where-as I have
  tried twice to improve the nested error messages in combine and am
  stumped.

- it's roughly 4x faster to parse strings directly as opposed to
  edn::ValueAndSpan, and it'll be even better when we intern directly.
2018-05-10 10:24:05 -07:00
..
src Use rust-peg for tx parsing. 2018-05-10 10:24:05 -07:00
tests Correctly parse and unescape quotes etc. inside EDN strings. (#434) (#589) 2018-03-15 07:13:27 -07:00
build.rs Implement a basic EDN parser. (#149) r=rnewman,bgrins,nalexander 2017-01-11 13:03:04 -08:00
Cargo.toml (chore) Pre: Use the same features of uuid throughout the project. 2018-04-19 09:58:41 -07:00
README.md Update README for edn; r=me 2017-02-16 18:32:36 +00:00

This crate implements a basic EDN parser for Project Mentat.

It was originally developed as a separate project called barnardsstar.