scala-parser-combinators icon indicating copy to clipboard operation
scala-parser-combinators copied to clipboard

simple combinator-based parsing for Scala. formerly part of the Scala standard library, now a separate community-maintained module

Results 28 scala-parser-combinators issues
Sort by recently updated
recently updated
newest added

At the moment the decision of whether or not to skip whitespace in literal and regex (RegexParsers.scala) is made on the basis of whether the skipWhitespace method returns true or...

enhancement

```given [A, B](using CanEqual[A, A], CanEqual[B, B]): CanEqual[A ~ B, A ~ B] = CanEqual.derived``` This would allow pattern-based productions to compile in the presence of strict equality. Example: https://github.com/lucproglangcourse/expressions-scala/blob/main/src/main/scala/CombinatorParser.scala

help wanted

## About this PR 📦 Updates [org.scala-lang:scala-library](https://github.com/scala/scala) from `2.13.12` to `2.13.13` 📜 [GitHub Release Notes](https://github.com/scala/scala/releases/tag/v2.13.13) - [Version Diff](https://github.com/scala/scala/compare/v2.13.12...v2.13.13) ## Usage ✅ **Please merge!** I'll automatically update this PR to resolve...

I am writing the parser for first-order conditions. I am using Scala and the scala-parser-combinators library. It works well, but I discovered this issue. Here, I report the clause for...

When `phrase` is applied to successful parse result which has `lastFailure`, it returns only the original failure. I think it would be better to add a message that indicates the...

## About this PR 📦 Updates [org.scala-lang:scala-library](https://github.com/scala/scala) from `2.13.13` to `2.13.14` 📜 [GitHub Release Notes](https://github.com/scala/scala/releases/tag/v2.13.14) - [Version Diff](https://github.com/scala/scala/compare/v2.13.13...v2.13.14) ## Usage ✅ **Please merge!** I'll automatically update this PR to resolve...

When both branches of a `|||` combinator produce a `Failure` as a result, the resulting error message is the one coming from the branch that matched the longest chain. This...

```scala implicit def literal(s: String): Parser[String] = new Parser[String] { def apply(in: Input) = { val source = in.source val offset = in.offset val start = handleWhiteSpace(source, offset) var i...