March 2026

Conference Paper

eCC++ : A Compiler Construction Framework for Embedded Domain-Specific Languages

By:
Gonzalez Tallada, Marc ; Denny, Joel E; Valero Lara, Pedro ; Lee, Seyong ; Teranishi, Keita ; Vetter, Jeffrey S
Page Number:
667-677
Book Title:
2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)
Publication Date:
March 12, 2026
Publisher Location:
IEEE, New Jersey, United States of America
Conference Name:
29th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2024)
Conference Location:
San Francisco, California, United States of America
Conference Sponsor:
IEEE
View DOI Listing:
https://doi.org/10.1109/IPDPSW63119.2024.00129

Abstract

eCC++ is a new compiler construction framework for embedding domain-specific programming languages within C++. That is, the host language is C++, the guest language is the DSL to be embedded in C++, and eCC++ is the tool that enables the embedding. The eCC++ framework is composed of three main components: a front-end, an API for program verification based on a functional and declarative intermediate representation (IR), and a Multi-Level Intermediate Representation (MLIR) code generator. The eCC++ front-end consists of a library of C++ classes and operators that can be used to define the guest language. Guest sources are compiled with any standard C++ compiler, and when run, the resulting executable generates an eCC++ IR representation of the program, which can be verified within the eCC++ framework. Finally, eCC++ allows for high-level and domain-specific optimizations before generating MLIR. In summary, eCC++ aims to act as a generic front-end that enables embedding guest languages into C++, and provides necessary compiler technology for program verification, targeting the existing capabilities in the MLIR infrastructure. The paper evaluates the eCC++ expressiveness and usability describing the process of embedding GraphIt, a high-performance graph language in C++.