-
Currently, the engine only implements the Earley recognizer algorithm. It *might* be better to implement the full parser.
Pros:
- Directly provide the AST to the user
Cons:
- In most cases the…
-
2004, Greg Sandstrom, A Parallel Extension of Earley’s Parsing Algorithm
2009, MIT, Parallelizing the CKY and Earley Parsing Algorithms
"many general-purpose 16 processor machines exist and the numb…
-
There are various parsing algorithms that have different properties. Earley parsers can see if a string matches the grammar in multiple different ways and return all of the options. That's mentioned b…
-
Hi,
This project looks very interesting to me as I'm trying to build earley parsers with different strategies. @vnmakarov I was wondering if it's possible for you to briefly mention how the error han…
-
The algorithm in Jay Earley's original paper has a bug, which I will call the nullables bug. We should add it to the test suite. When the nullables bug is present, “a” is a valid input for, but is r…
-
2006, Sheng-Jun Wang, Cheng-Zhi Jin, An extension of earley's algorithm for extended grammars
https://link.springer.com/chapter/10.1007/978-1-4020-3953-9_22
EUR 24.95 (It's text is also visi…
-
**Suggestion**
Recent versions of Bison are able to generate counter-examples witnessing shift/reduce and reduce/reduce conflicts, which helps fine-tuning the grammar so that it belongs to LR(1). Wou…
-
Consider this code:
```haskell
{-# LANGUAGE Haskell2010 #-}
{-# LANGUAGE RecursiveDo #-}
import Text.Earley
import Control.Applicative
data L = A | B | C deriving (Eq, Show)
lang :: Gramm…
-
Once the parser finishes parsing some ambiguity, it would be really nice to expose this ambiguity to the user, rather than just multiplying the output by this ambiguity size.
For example `disambigu…
-
Currently we have `builtins.match` for parsing strings using regular expressions. Perhaps it would be appropriate to also have `builtins.earley` function that takes an ABNF (or EBNF) grammar and a str…