Tuesday, May 16, 2006

 

Compiler passes of the third degree

Have you ever wondered what EiffelStudio is doing when the messages whizz past about processing items at Degree 6 ... Degree 5 etc?

In simpler times, we might have referred to "compiler passes", as the compiler processed the source code (sometimes more than once), then processed its internal structures to generate the object code.

EiffelStudio today has many different stages of compilation - locating classes, parsing the classes, checking inheritance, checking validity, generating "melted" code (suitable for interpretation), generating C code, building dispatch tables, dead code removal and optimization, and finally calling the back-end C compiler. Most of these stages are named by their "degrees", a cute pun that reflects the notions of "melting" or "freezing" the code.

At the EiffelStudio wiki there is a guide to what's happening at each degree - so now you know what the compiler is doing while you are waiting.

Comments:
A related and interesting article
http://se.ethz.ch/~meyer/publications/computer/visitor.pdf
uses degrees 4 and 3 of gobo gelint as the test material in a quantative study of the componentization of visitor pattern. There are also other articles on the componentization effort of patterns.

regards jussi santti
 
Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?