This course examines the fundamental theory and practice of implementing
today's programming languages.
Students should emerge with a good appreciation for the implementation
issues and strategies behind making programs in high level programming
languages work correctly
and efficiently on a target machine.
A major part of the course is
the practical experience of implementing various phases of a compiler for
a small object-oriented programming language.
Students learn translation methodology that is useful in many other
situations in addition to compilation.
You should consider taking CISC 471 / 672 if you are curious about:
the inner workings of a basic compiler
the implementation of object-oriented programming language features
building a large software system starting with a base library of useful
the answers to many of your questions about how programming languages
the issues in gaining good performance from a high level language program
on a particular target architecture
AND you have the proper prerequisites. Note: There is no assumption of previous
coursework in compilers.