antlr-haskell alternatives and similar packages
Based on the "Library" category.
Alternatively, view antlr-haskell alternatives based on common mentions on social networks and blogs.
tensors7.5 0.0 antlr-haskell VS tensorsTensors in Haskell
c-mosquitto6.8 0.0 antlr-haskell VS c-mosquittoSimple Amazon IoT compatible client
boots4.0 0.0 antlr-haskell VS bootsIoC Monad in Haskell.
byteunits2.8 0.0 antlr-haskell VS byteunitsHuman friendly conversion between byte units (KB, MB, GB...)
rfc2.6 0.0 antlr-haskell VS rfcRobert Fischer's Common library for Haskell
par-dual2.5 0.0 antlr-haskell VS par-dual:repeat: ParDual class for a Parallel <-> Sequential relationship
bglib1.3 0.0 antlr-haskell VS bglibHaskell implementation of serial communication with BLED112 dongle
cfenv1.3 0.0 antlr-haskell VS cfenvA Haskell port of https://github.com/cloudfoundry-community/go-cfenv
glider-nlpNatural Language Processing library
Static code analysis for 29 languages.
Do you think we are missing an alternative of antlr-haskell or a related project?
A Haskell implementation of ANTLR.
In implementing ANTLR we referenced the behavior of the original Java version (ANTLR4): The definitive ANTLR4 Reference. However we have taken much liberty in the design of this library compared to the workflow of the original Java version. In particular in implementing ANTLR for Haskell we have followed the following principles:
- Parsing backends should be interchangeable
- GLR, LR, SLR, LL, ALL(*)
- Code should be first class and declarative
- The implementation of G4 is metacircular
- Regular expressions are interpreted
- Implement algorithms from first principles
- Set notation is used in implementing LL and LR algorithms.
- Pure functional implementations of parsing algorithms can eventually support embedding of arbitrary (including IO) actions without breaking the predictive parsing abstraction.
More info can be found here: https://www.cronburg.com/2018/antlr-haskell-project/
The library can be built with:
stack build # stack version 2.3.3 stack test :simple
Or with cabal-22.214.171.124 like:
cabal configure cabal install --only-dependencies --enable-tests cabal build cabal test sexpression
Here's a good one to run when making changes to the library, and you're unsure of what may become affected by those changes:
stack test :simple :atn :ll :lr :sexpression :allstar :c
And then compare the results with that of this upstream branch. Some of the GLR features (incremental and partial tokenization, notably) are still experimental, and so there are known test cases which currently fail.
- September 25th, 2020. Released version 0.1.0.1: bug fixes, documentation, and library versioning updates.