parsley
A fast and modern parser combinator library for Scala (by j-mie6)
scallion
LL(1) parser combinators in Scala (by epfl-lara)
parsley | scallion | |
---|---|---|
2 | 1 | |
161 | 54 | |
- | - | |
7.8 | 10.0 | |
3 days ago | over 1 year ago | |
Scala | Scala | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
parsley
Posts with mentions or reviews of parsley.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-09.
-
How do I remove the forward reference error in my parser? (20 lines)
Or alternatively my own https://github.com/j-mie6/parsley for a more Haskell-style library - it has a wiki that discusses a lot of the main ideas, including how to deal with Def/Val/lazy val
-
What do I need to start writing an Extension or Template Haskell?
Depends on your existing knowledge of Haskell and stuff like monads, applicatives, etc. I haven't gotten around to writing a tutorial for Parser Combinators yet (I'd actually like to write a book about them at some point) in Haskell, but I do have this wiki here ( https://github.com/j-mie6/Parsley/wiki/Guide-to-Parser-Combinators ) for my parser combinator library in Scala, that might be of some help. A Haskell version of a lot of the later material there can be found in this paper https://dl.acm.org/doi/10.1145/3471874.3472984. The paper assumes some familiarity with Parser Combinators, the wiki does not (but is written in Scala): it's the resource I use to teach my 2nd year undergrads about Parser Combinators for their compilers project. It doesn't talk about monads/applicatives at all. I'm more than happy to answer any questions you have about either of those two.
scallion
Posts with mentions or reviews of scallion.
We have used some of these posts to build our list of alternatives
and similar projects.
-
Functional abstractions for hand-rolled LR parsers
The scallion project has an LL(1) parser combinator library that it describes here. It exposes an applicative interface with the addition of a fixpoint combinator. You may be able to do the same for LR.
What are some alternatives?
When comparing parsley and scallion you can also consider the following projects:
Fast Parse - Writing Fast Parsers Fast in Scala
Apache Spark - Apache Spark - A unified analytics engine for large-scale data processing
scala.meta - Library to read, analyze, transform and generate Scala programs
feel-scala - FEEL parser and interpreter written in Scala