Path: csiph.com!weretis.net!feeder9.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: John R Levine Newsgroups: comp.compilers Subject: Paper: Syntactic Completions with Material Obligations Date: Tue, 26 Aug 2025 15:43:01 -0400 Organization: Compilers Central Sender: johnl%iecc.com Approved: comp.compilers@iecc.com Message-ID: <25-08-018@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="1005"; mail-complaints-to="abuse@iecc.com" Keywords: parse, tools Posted-Date: 26 Aug 2025 15:43:45 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:3692 This paper proposes a code editor and parser using obligations, a term I had not seen before and they do not define, but appears to mean a pseudo-tokens that require other tokens later to make them valid. They seem to do better at recovering from syntax errors than other schemes do. https://arxiv.org/abs/2508.16848 Abstract: Code editors provide essential services that help developers understand, navigate, and modify programs. However, these services often fail in the presence of syntax errors. Existing syntax error recovery techniques, like panic mode and multi-option repairs, are either too coarse, e.g. in deleting large swathes of code, or lead to a proliferation of possible completions. This paper introduces 𝚝𝚢𝚕𝚛, a parser and editor generator that completes arbitrarily malformed code by inserting obligations, which generalize holes to cover missing operands, operators, mixfix keywords, and sort transitions. 𝚝𝚢𝚕𝚛 is backed by a novel theory of tile-based parsing, which extends operator-precedence parsing in two ways. First, traditional token precedence comparisons are replaced by a notion of grammar walks, which form the basis for generating obligations. Second, a distinct "molding" system based on grammar zippers expand grammar expressivity by allowing the system to disambiguate between possible parses and completions based on an obligation minimization criterion. In addition to serving as a novel approach to error correction, 𝚝𝚢𝚕𝚛's design enables the development of an editor that visually materializes obligations to the human user, serving as a novel hybrid between a text editor and a structure editor. We introduce 𝚝𝚢𝚕𝚛 by example, then formalize its key ideas. Finally, we conduct a human subjects study to evaluate the extent to which an editor like 𝚝𝚢𝚕𝚛 that materializes syntactic obligations might be usable and useful, finding both points of positivity and interesting new avenues for future work. Regards, John Levine, comp.compilers moderator, johnl@iecc.com, http://compilers.iecc.com