From Newsgroup: comp.compilers
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 EYUYEYUoEYUoEYUc, 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. EYUYEYUoEYUoEYUc 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, EYUYEYUoEYUoEYUc'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 EYUYEYUoEYUoEYUc by example, then formalize its key ideas. Finally, we conduct a human subjects study to
evaluate the extent to which an editor like EYUYEYUoEYUoEYUc 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
--- Synchronet 3.21a-Linux NewsLink 1.2