The APLR(1) Algorithm for Generating Compact LR(1) Parsers is Simpler and More Capable than IELR(1)
Summary
The article introduces APLR(1), a compact LR(1) parser generator algorithm that preserves LR(1) adequacy while merging states to reduce automaton size. It compares APLR(1) with IELR(1) and IELR⁺(1), and discusses remergeability, state merging, and lookahead correction in the Hocc implementation. It also presents experiments across grammars showing APLR(1)'s viability with conflict resolution enabled, and highlights practical considerations for implementing parser generators.