parboiled2
parboiled2 copied to clipboard
A macro-based PEG parser generator for Scala 2.10+
Just to show that the new test-case in https://github.com/sirthias/parboiled2/pull/362 blows up without the accompanying fix. Should cause CI to timeout.
As reported by @hughsimpson in https://github.com/akka/akka-http/pull/4079#issuecomment-1091141651: > found that if there were more than two non-literal subrules in a parser chained with ~ it basically takes forever to compile, unless...
Trying to compile ```scala //> using scala "3.1.1" //> using lib "org.parboiled::parboiled:2.4.0" import org.parboiled2.Parser trait TestParser { this: Parser => val fun = (x: Int) => x def testRule =...
When trying to optimize the performance of [sangria](https://github.com/sangria-graphql/sangria), I found this: I was quite surprised as the query does not contain any comments. All coming from this rule: ``` def...
Can be implemented largely by simply wrapping a parser and using a special `ParserInput`, which allows for insertion and removal of virtual characters in the same way as the `MutableInputBuffer`...
Solve https://github.com/sirthias/parboiled2/issues/26 Only subset of rules support "continuation parsing". If approach is fine then it will be extended to rest of rules.
`run(println("marker"))` works but we can do better. Related to #105.
The following code ``` scala def f: RuleN[Int :: Int :: Int :: HNil] = ??? def g = rule { zeroOrMore(f) } ``` results in the following error: ```...
When a rule transforms the value stack (rather than simply pushing values onto it) then these transformations are not always rolled back (as one would expect) when an `optional` or...
- https://github.com/sirthias/parboiled2/blob/dc9f7b5cb15f189a48492ba659bf5bd240c614fe/scalaParser/src/test/scala/scalaparser/RealSourcesSpec.scala#L17-L25 - https://github.com/sirthias/parboiled2/blob/dc9f7b5cb15f189a48492ba659bf5bd240c614fe/scalaParser/src/test/scala/scalaparser/RealSourcesSpec.scala#L75