scanner-attoparsec: Inject attoparsec parser with backtracking into non-backtracking scanner

[ bsd3, library, parsing ] [ Propose Tags ]

Backtracking kills performance, so scanner package doesn't support it. But sometimes you just need it. E.g. you have a mostly non-backtracking parser, but a small bit of its grammar is too complex to transform it to non-backtracking form. In that case you can inject a backtracking attoparsec parser into otherwise non-backtracking scanner.

See also http://hackage.haskell.org/scanner


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1, 0.2
Change log changelog.md
Dependencies attoparsec (>=0.14.1), base (<5), bytestring, scanner (<0.4) [details]
License BSD-3-Clause
Copyright (c) Yuras Shumovich 2016
Author Yuras Shumovich
Maintainer shumovichy@gmail.com
Category Parsing
Home page https://github.com/Yuras/scanner-attoparsec
Source repo head: git clone git@github.com:Yuras/scanner-attoparsec.git
Uploaded by YurasShumovich at 2021-04-02T23:26:48Z
Distributions NixOS:0.2
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 933 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-04-02 [all 1 reports]

Readme for scanner-attoparsec-0.2

[back to package description]

scanner-attoparsec

Inject attoparsec parser with backtracking into non-backtracking scanner

Haskell CI

Backtracking kills performance, so scanner package doesn't support it. But sometimes you just need it. E.g. you have a mostly non-backtracking parser, but a small bit of its grammar is too complex to transform it to non-backtracking form. In that case you can inject a backtracking attoparsec parser into otherwise non-backtracking scanner.

See also http://hackage.haskell.org/package/scanner