计算机科学 > 编程语言
[提交于 2025年7月4日
]
标题: 面向解析表达式的自动错误恢复
标题: Towards Automatic Error Recovery in Parsing Expression
摘要: 错误恢复是解析器的一个关键功能,应嵌入集成开发环境(IDEs),这些环境必须即使对于语法无效的程序也要构建抽象语法树(ASTs),以提供诸如自动重构和代码补全等功能。解析表达式文法(PEGs)是一种形式化方法,它使用一种限制性的回溯形式自然地描述递归的自顶向下解析器。标记失败是对PEGs的保守扩展,它为PEG解析器添加了一个错误报告机制,这些标签也可以与恢复表达式相关联,从而也成为一种错误恢复机制。这些表达式可以利用PEGs的全部表达能力来从语法错误中恢复。手动为大型语法添加标签和恢复表达式可能很困难。在本工作中,我们提出了一种算法,该算法可以自动为PEG添加标签,并构建其对应的恢复表达式。我们通过将错误恢复添加到Titan编程语言的解析器来评估该算法。结果表明,通过少量的人工干预,我们的算法可以用于生成错误恢复解析器,其中大部分替代项是不相交的。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.