Ambiguity in C: Parsing Trouble and Editor Implications
Summary
The article surveys persistent ambiguities in C's grammar, including pointer declarations, parenthesized declarations, anonymous arguments, casts, and polyfixic operators. It argues against building a full type table for parsing, proposing heuristic prioritization and context-based rules, and emphasizes editor tooling needs over compiler frontends. It also contrasts three strategies to deal with ambiguity and critiques the role of compiler frontends in editors and LSP ecosystems.