langcc: A Next-Generation Compiler Compiler

09/17/2022
by   Joe Zimmerman, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/17/2022

Practical LR Parser Generation

Parsing is a fundamental building block in modern compilers, and for ind...
research
12/15/2021

Exploring Aspects of Polyglot High-Performance Virtual Machine GraalVM

Contemporary software often becomes vastly complex, and we are required ...
research
03/31/2020

An Open-Source, Industrial-Strength Optimizing Compiler for Quantum Programs

Quilc is an open-source, optimizing compiler for gate-based quantum prog...
research
04/30/2021

Open-Source Memory Compiler for Automatic RRAM Generation and Verification

The lack of open-source memory compilers in academia typically causes si...
research
07/10/2019

HTCC: Haskell to Handel-C Compiler

Functional programming languages, such as Haskell, enable simple, concis...
research
11/16/2020

A Modern Compiler for the French Tax Code

In France, income tax is computed from taxpayers' individual returns, us...
research
05/12/2018

Compiler Construction with Basic Programming Languages Constructs and Generalized Interpreting Automata

We have been developing and applying an approach to teach compiler const...

Please sign up or login with your details

Forgot password? Click here to reset