parseback
parseback copied to clipboard
A Scala implementation of parsing with derivatives
Hi guys, It would be nice to see this available on Central. It shouldn't be too hard to support publishing to sonatype on travis.
Executing the Direct Grammar on a worksheet ```scala import parseback._ import parseback.compat.cats._ import cats.Eval implicit val W = Whitespace("""\s+"""r) lazy val expr: Parser[Int] = ( expr ~ "+" ~ term...
I'm using parseback in my project, but parsing is very slow due to many whitespaces. In practice, there is no DSL does not have whitespace. I have introduced a lexing...
Hi, I am new to parseback and this could be completly me running against a wall, but I am having trouble getting your example of the arithmetic expression grammar to...
Given the following test case ```Scala import cats.Eval import parseback._ import parseback.ast._ import parseback.compat.cats._ object Testcase extends App { sealed trait Expr extends Node case class Identifier(name: String) extends Expr...
Straight out of the ASF+SDF playbook. Identifiers are usually ambiguous with keywords. It's important to be able to address this with negation disambiguation. It's technically possible to implement this by...
The original Might, Darias and Spiewak paper reported a 90x speed-up when implementing compaction. Adams, Hollenbeck and Might validated this, as well as providing some improvements to the grammar traversals...
One of the benchmarks that I think would be particularly interesting is to use the [C YACC grammar](https://www.lysator.liu.se/c/ANSI-C-grammar-y.html) (the Lex specification is [here](https://www.lysator.liu.se/c/ANSI-C-grammar-l.html)) to parse the full stdlib. This is...
[This](https://github.com/djspiewak/parseback/blob/master/core/src/main/scala/parseback/package.scala#L68-L136) is the current state of the `^^` syntax in parseback. It is done in this way to achieve two goals: - The parameter to `^^` should be an arity-*n*...