论文标题

LANGCC:下一代编译器

langcc: A Next-Generation Compiler Compiler

论文作者

Zimmerman, Joe

论文摘要

传统上,解析一直是编译器开发的一个费力且容易出错的组成部分,并且大多数用于完整工业编程语言的解析器仍然是手工编写的。作者[ZIM22]表明,通过对Knuth等人的标准LR范式进行的许多新创新,自动解析器的产生可能是实用的。通过这种方法,我们可以自动为几乎所有“易于解析”的语言生成有效的解析器。这包括Golang 1.17.8和Python 3.9.12,我们生成的解析器的分别比标准解析器快1.2倍和4.3倍。该文档是一份伴侣技术报告,描述了该工作的软件实现,该报告可在https://github.com/jzimmerman/langcc上开放源。

Traditionally, parsing has been a laborious and error-prone component of compiler development, and most parsers for full industrial programming languages are still written by hand. The author [Zim22] shows that automatic parser generation can be practical, via a number of new innovations upon the standard LR paradigm of Knuth et al. With this methodology, we can automatically generate efficient parsers for virtually all languages that are intuitively "easy to parse". This includes Golang 1.17.8 and Python 3.9.12, for which our generated parsers are, respectively, 1.2x and 4.3x faster than the standard parsers. This document is a companion technical report which describes the software implementation of that work, which is available open-source at https://github.com/jzimmerman/langcc.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源