Generative and Transformational Techniques in Software Engineering IV

This is the true story of the development of a PL/I compiler for Microsoft’s .NET platform. This compiler uses a front-end originally designed for legacy modernization purposes. It was developed without any influence on the language design that was thus imposed upon the development team. It targets a virtual machine with an architecture totally different from the one PL/1 was designed for. The impact of these factors on the the development and architecture are discussed. More pragmatic concerns such as compile-time performance, testing and quality control, emulating PL/I numeric data types, CICS and SQL extensions are discussed as well.