Intermediate Code Representations

If you are interested in building a front end for the GNU Compiler Collection (GCC) as a senior project, read through the gcc frontend, visit the GCC wiki or GNU GCC wiki. To work with GCC your compiler must ultimately generate RTL (register transfer language) which is the intermediate language that gcc uses.

A python project that allows you to walk the tree of intermediate representations for GCC is SSA project SSA is Static Single Assignment, which is similar to 3-address code.