Score: 1

The Squirrel Parser: A Linear-Time PEG Packrat Parser Capable of Left Recursion and Optimal Error Recovery

Published: January 8, 2026 | arXiv ID: 2601.05012v1

By: Luke A. D. Hutchison

BigTech Affiliations: Massachusetts Institute of Technology

Potential Business Impact:

Finds mistakes in computer code faster.

Business Areas:
Natural Language Processing Artificial Intelligence, Data and Analytics, Software

We present the squirrel parser, a PEG packrat parser that directly handles all forms of left recursion with optimal error recovery, while maintaining linear time complexity in the length of the input even in the presence of an arbitrary number of errors. Traditional approaches to handling left recursion in a recursive descent parser require grammar rewriting or complex algorithmic extensions. We derive a minimal algorithm from first principles: cycle detection via per-position state tracking and $O(1)$-per-LR-cycle communication from descendant to ancestor recursion frames, and fixed-point search via iterative expansion. For error recovery, we derived a set of four axioms and twelve constraints that must be imposed upon an optimal error recovery design to ensure completeness, correctness, optimality of performance, and intuitiveness of behavior. We utilized a constraint satisfaction mechanism to search the space of all possibilities, arriving at a provably optimal and robust error recovery strategy that maintains perfect performance linearity.

Country of Origin
🇺🇸 United States

Page Count
17 pages

Category
Computer Science:
Programming Languages