Skip to main content
CenXiv.org
此网站处于试运行阶段,支持我们!
我们衷心感谢所有贡献者的支持。
贡献
赞助
cenxiv logo > cs > arXiv:2510.18479

帮助 | 高级搜索

计算机科学 > 编程语言

arXiv:2510.18479 (cs)
[提交于 2025年10月21日 ]

标题: ZipLex:带记忆导数和Zippers的可逆词法分析验证

标题: ZipLex: Verified Invertible Lexing with Memoized Derivatives and Zippers

Authors:Samuel Chassot, Viktor Kunčak
摘要: 我们提出ZipLex,一个可验证的可逆词法分析框架。 与以往只关注满足正则表达式语义和最大匹配属性的可验证词法分析器不同,ZipLex还保证词法分析和打印是互为逆运算的。 我们的设计依赖于两个方面的想法:(1) 一种新的标记序列抽象,它捕捉了序列中标记的可分离性,同时支持它们的高效操作,以及(2) 可验证数据结构和优化的结合,包括Huet的zippers和记忆导数,以实现实际性能。 我们在Scala中实现了ZipLex,并使用Stainless验证器验证了其正确性,包括可逆性。 我们的评估表明, ZipLex支持现实应用,如JSON处理和编程语言的词法分析器。 与其他不强制可逆性的可验证词法分析器相比,ZipLex比Coqlex慢4倍,但比Verbatim++快两个数量级,这表明可验证的可逆性可以在没有高昂成本的情况下实现。
摘要: We present ZipLex, a verified framework for invertible lexical analysis. Unlike past verified lexers that focus only on satisfying the semantics of regular expressions and the maximal munch property, ZipLex also guarantees that lexing and printing are mutual inverses. Our design relies on two sets of ideas: (1) a new abstraction of token sequences that captures the separability of tokens in a sequence while supporting their efficient manipulation, and (2) a combination of verified data structures and optimizations, including Huet's zippers and memoized derivatives, to achieve practical performance. We implemented ZipLex in Scala and verified its correctness, including invertibility, using the Stainless verifier. Our evaluation demonstrates that ZipLex supports realistic applications such as JSON processing and lexers of programming languages. In comparison to other verified lexers (which do not enforce invertibility), ZipLex is 4x slower than Coqlex and two orders of magnitude faster than Verbatim++, showing that verified invertibility can be achieved without prohibitive cost.
主题: 编程语言 (cs.PL) ; 形式语言与自动机理论 (cs.FL)
引用方式: arXiv:2510.18479 [cs.PL]
  (或者 arXiv:2510.18479v1 [cs.PL] 对于此版本)
  https://doi.org/10.48550/arXiv.2510.18479
通过 DataCite 发表的 arXiv DOI

提交历史

来自: Samuel Chassot [查看电子邮件]
[v1] 星期二, 2025 年 10 月 21 日 09:58:08 UTC (241 KB)
全文链接:

获取论文:

    查看标题为《》的 PDF
  • 查看中文 PDF
  • 查看 PDF
  • HTML(实验性)
  • TeX 源代码
许可图标 查看许可
当前浏览上下文:
cs.PL
< 上一篇   |   下一篇 >
新的 | 最近的 | 2025-10
切换浏览方式为:
cs
cs.FL

参考文献与引用

  • NASA ADS
  • 谷歌学术搜索
  • 语义学者
a 导出 BibTeX 引用 加载中...

BibTeX 格式的引用

×
数据由提供:

收藏

BibSonomy logo Reddit logo

文献和引用工具

文献资源探索 (什么是资源探索?)
连接的论文 (什么是连接的论文?)
Litmaps (什么是 Litmaps?)
scite 智能引用 (什么是智能引用?)

与本文相关的代码,数据和媒体

alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)

演示

复制 (什么是复制?)
Hugging Face Spaces (什么是 Spaces?)
TXYZ.AI (什么是 TXYZ.AI?)

推荐器和搜索工具

影响之花 (什么是影响之花?)
核心推荐器 (什么是核心?)
IArxiv 推荐器 (什么是 IArxiv?)
  • 作者
  • 地点
  • 机构
  • 主题

arXivLabs:与社区合作伙伴的实验项目

arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。

与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。

有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.

这篇论文的哪些作者是支持者? | 禁用 MathJax (什么是 MathJax?)
  • 关于
  • 帮助
  • contact arXivClick here to contact arXiv 联系
  • 订阅 arXiv 邮件列表点击这里订阅 订阅
  • 版权
  • 隐私政策
  • 网络无障碍帮助
  • arXiv 运营状态
    通过...获取状态通知 email 或者 slack

京ICP备2025123034号