luthor: Tools for lexing and utilizing lexemes that integrate with Parsec.

[ bsd3, language, library, text ] [ Propose Tags ]

Like parser combinators? Building a big parser? Save hundreds of sloc, hours of debuging and several headaches by using Luthor on top of the familiar Parsec library.

Parsec works great for small parsers, but as the size of the parser grows, complexity can grow exponentially without taking serious and tricky precautions. Luthor provides reusable utilities to isolate the complex parts of parsing. Amonst its weaponry are 1) more composable combinators, 2) pre-built token parsers, 3) tools to build a scannerful parser, and 4) tools to work with indentation. Luthor reduces overall complexity, generally increases performance and error reporting, and cuts down on wheel re-invention.

BIG CAVEAT: It is difficult to understand all the ways in which Parsec fails to be composable, so there may be some combinators in Luthor which fail to be composable. If you're getting weird (i.e. Parsec-like) results, add a try and please report.

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0, 0.0.1, 0.0.2
Change log changes.md
Dependencies base (>=4 && <5), mtl (>=2 && <3), parsec (>=3 && <4), transformers (>=0.3) [details]
License BSD-3-Clause
Author Zankoku Okuno
Maintainer zankoku.okuno@gmail.com
Category Text, Language
Home page https://github.com/Zankoku-Okuno/luthor
Bug tracker https://github.com/Zankoku-Okuno/luthor/issues
Source repo head: git clone https://github.com/Zankoku-Okuno/luthor.git
Uploaded by ZankokuOkuno at 2015-11-25T23:03:48Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 2177 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]