Design & Implementation of Separate Compilation for Encore
Abstract: Separate compilation can bring several benefits to a module system such as allowing modules to be pre-compiled and then linked with different programs on the same system, which can result in shorter compilation times for repeated compilations of aprogram. Encore is a programming language that currently does not support separate compilation of modules. This project presents a design and implementation of separate compilation support for the Encore module system which leverages the factthat Encore compiles to C. The problems and challenges that were faced and their solutions are presented alongside some of the design choices that were made. The design and implementation were then evaluated with a focus on compiler performanceand correctness. The final result of the project is an implementation of separate compilation that shows promising results when it comes to decreasing the compilation speed of Encore programs, but it requires some optimizations and future work,especially when it comes to improving usability.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)