Carleton University - School of Computer Science Honours Project
Winter 2019
Towards More Streamlined Compiler Construction
Jagger De leo
SCS Honours Project Image
ABSTRACT
Compiler construction has a semantics problem. Tools already exist to address many of the common issues that are encountered in the process of creating a new language. This paper examines popular compiler construction tools and makes some suggestions as to where improvements can be made. With a little effort, one can define a concise and complete language grammar. Likewise, powerful tools like LLVM exist to create highly optimized, multi-platform machine code through use of an intermediate code representation. There is, however, a lack of tools available for use in defining language semantics. Significant manual work must be done in a helper language, such as C++, to give semantic meaning to a program's parse tree. A case study of the implementation of a programming language was done to identify shortcomings in the current range of tools.