Title :
Building a Family of Compilers
Author :
Chae, Wonseok ; Blume, Matthias
Author_Institution :
Toyota Technol. Inst. at Chicago, Chicago, IL
Abstract :
We have developed and maintained a set of closely related compilers. Although much of their code is duplicated and shared, they have been maintained separately because they are treated as different compilers. 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 on developing one particular compiler. We show engineering activities for a family of compilers from product line analysis through product line architecture design to product line component design. Then, we present how to build particular compilers from core assets resulting from the previous activities and how to take advantage of modern programming language technology to organize this task. Our experience demonstrates that the product line engineering as a developing paradigm can ease the construction of a family of compilers.
Keywords :
compiler generators; product development; software reusability; compilers; product line analysis; product line architecture design; product line component design; programming language technology; Buildings; Computer languages; Design engineering; Education; Maintenance engineering; Product design; Program processors; Software architecture; Software maintenance; Software systems; compilers; feature-oriented; module system; product line engineering; standard ml;
Conference_Titel :
Software Product Line Conference, 2008. SPLC '08. 12th International
Conference_Location :
Limerick
Print_ISBN :
978-0-7695-3303-2
DOI :
10.1109/SPLC.2008.28