Separating Parsing Expression Grammars using Cell-Probe Lower Bounds
Jungyeom Kim, Jihyeok Park
Abstract
We resolve three open problems concerning parsing expression grammars (PEGs). We construct a single language C satisfying C∈LINPEG and CR∈LINPEG. This proves that some linear context-free language is not a PEG language and that PEG languages are not closed under reversal, confirming a conjecture of Loff, Moreira, and Reis. Factoring the same witness resolves the concatenation-closure problem of Rubtsov and Chudinov negatively, in the strong form PEG·REG⊂eqPEG despite REG·PEG⊂eqPEG. It also refutes closure under Kleene star, homomorphisms, and substitutions. Our main technique converts scaffolding automata (SCAs), which characterize reversals of PEG languages, into dynamic data structures in the cell-probe model. For any suitably local serialization of a problem with preprocessing, updates, and a final Boolean query, an SCA recognizer yields an exact deterministic cell-probe data structure whose operation costs are proportional to the corresponding encoding lengths. Cell-probe lower bounds can therefore prove SCA non-membership and, by reversal, PEG non-membership. We apply this transfer to Multiphase Inner Product using one-symbol update blocks and a query suffix of length O( n), while keeping both the language and its reversal linear context-free. Ko's cell-probe lower bound then yields the witness above. The arguments are additionally formalized in Lean 4.
Create a lesson
Related papers
Beyond Locks and Thread IDs: Static Data Race Detection Off The Beaten Path (Extended Version)
Daniel Bund, Julian Erhard, Michael Petter et al.
Fine-grained Causal Reversibility for Asynchronous Channel-based Programming
Shunya Oguchi, Shoji Yuen, Nobuko Yoshida et al.
URIUM: A Programming Language for a Practical Open Course on Compiler Design
Francisco J. Moreno Velo, Almudena García Jurado-Centurión
Cambria: Resource Abstraction for Parametrized Algebraic Effects and Handlers
Jack Liell-Cock, Sam Staton
Tacet: A Language and Type System for Automatic Statistical Validity Accounting
Chiké Abuah
You may implement this later: Cofunctors as partial implementations
Vincent Wang-Maścianica