Skip to content

Latest commit

 

History

History
15 lines (12 loc) · 715 Bytes

README.markdown

File metadata and controls

15 lines (12 loc) · 715 Bytes

hasekll-earley

The code implements Earley parsing algorithm in Haskell 1. Context-free grammars and processing rules are specified directly in Haskell, without templates or other forms of pre-processing, using the monadic syntax with the DoRec extension. Programming in this style feels like using parser combinators but does not prevent global grammar analysis.

Warning: This code is alpha quality, as I have not yet convinced myself that the implementation is correct, especially with handling epsilon rules. Nor did I do any complexity analysis yet, so it may be performing worse advertised (Earley is supposed to be cubic).