English

Marpa, A practical general parser: the recognizer

Computation and Language 2023-01-27 v3

Abstract

The Marpa recognizer is described. Marpa is a practical and fully implemented algorithm for the recognition, parsing and evaluation of context-free grammars. The Marpa recognizer is the first to unite the improvements to Earley's algorithm found in Joop Leo's 1991 paper to those in Aycock and Horspool's 2002 paper. Marpa tracks the full state of the parse, at it proceeds, in a form convenient for the application. This greatly improves error detection and enables event-driven parsing. One such technique is "Ruby Slippers" parsing, in which the input is altered in response to the parser's expectations.

Cite

@article{arxiv.1910.08129,
  title  = {Marpa, A practical general parser: the recognizer},
  author = {Jeffrey Kegler},
  journal= {arXiv preprint arXiv:1910.08129},
  year   = {2023}
}

Comments

v2: Corrections and minor format improvements. v3: Rewrite presentation of Leo algorithm. Corrections and minor format improvements

R2 v1 2026-06-23T11:47:12.212Z