Open Access Open Access  Restricted Access Subscription Access

Building A Family of Compilers

Pooja Gulia, Simran Bhatti, Vandana Tayal


The name "Compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language. We have developed and maintained a set of closelyrelated compilers. Although, much of their code is duplicated and shared, they have been maintainedseparately because they are treated as different compilers. We present a perspective on the past contributions, current status, and future directions of compiler technology and make four main recommendations in support of a vibrant compiler field in the years tocome.Even if, they were merged together, the combined code would become too complicated to serve as the base for another extension. We describe our experience to address this problem by adopting the product line engineering paradigm to build a family of compilers. This paradigm encourages developers to focus on developing a set of compilers rather than ondeveloping one particular compiler.


Cite this Article
Gulia Pooja, Bhatti Simran, Tayal Vandana. Building A Family of Compilers. Recent Trends in Programming Languages. 2015; 2(2): 25–29p.



Compiler, programming language, paradigm

Full Text:



Blume et al. Exception handlers as extensible cases. University of Chicago, CS Technical Report.

Kio KC, Taejon L, Patrick D. Feature-Oriented Product Line Engineering. IEEE Software. 2002; 4: 58–65p.

L. Kwan woo , K. C. Kio, L. Taejon. XXX Concepts and Guidelines of Feature Modeling for Product Line Software Engineering.


Simon Peyton Jones. Norman Ramsey and Fermín Reign. C–: A Portable Assembly Language that Supports Garbage Collection. PPDP.

F. Karl, B. Moshe. Open Source Development with CVS. 1999.

Ben et al. Version Control with Subversion, O’Reilly Media. 2004.

Appel, Andrew W., David B. MacQueen. Standard ML of New Jersey. In: Programming Language Implementation and Logic Programming, 1–13p. Springer Berlin Heidelberg, 1991.

Stallman, Richard. Using and porting the GNU compiler collection. In: MIT Artificial Intelligence Laboratory. 2001. The GNU Compiler Collection.

David PL. On the Design and Development of Program Families. IEEE Transactions on Software Engineering . 1976.

David PL. Designing Software for Ease of Extension and Contraction. IEEE Transactions on 1. 1976: 1–9p.

David G., Mary Shaw. An Introduction to Software Architecture.1994.

Robert H. Programming in Standard ML. Carnegie Mellon University. Working draft. 1997.

Larry PC. ML for the Working Programmer. Cambridge University Press. 1996.

Czarnecki and Eisenecker. Generative Programming-Methods, Tools, and Applications, Addison-Wesley. 2000.

A. Robert, G. David. Formalizing Architectural Connection. IEEE Computer Society Press. 1994.


  • There are currently no refbacks.