Amrita Bagchi Amrita Bagchi

The Evolution of Programming Languages


Impacts on Compilers


High performance compilers (i.e., the code generated performs well) are crucial for the adoption of new language concepts and computer architectures. Also important is the resource utilization of the compiler itself.

Modern compilers are large. On my laptop the compressed source of gcc is 38MB so uncompressed it must be about 100MB.


The Science of Building a Compiler


Modeling in Compiler Design and Implementation


We will encounter several aspects of computer science during the course. Some, e.g., trees, I'm sure you already know well. Other, more theoretical aspects, such as nondeterministic finite automata, may be new.


The Science of Code Optimization


We will do very little optimization. That topic is typically the subject of a second compiler course. Considerable theory has been developed for optimization, but sadly we will see essentially none of it. We can, however, appreciate the pragmatic requirements.

  • The optimizations must be correct (in allcases).
  • Performance must be improved for most programs.
  • The increase in compilation time must be reasonable.
  • The implementation effort must be reasonable.


Amrita Bagchi

Amrita Bagchi Creator

(No description available)

Suggested Creators

Amrita Bagchi