Dominique Colnet

Learn More
SmallEiffel is an Eiffel compiler which uses a fast simple type inference mechanism to remove most late binding calls, replacing them by static bindings. Starting from the system's entry point, it compiles only statically living code, which saves compiling and then removing dead code. As the whole system is analyzed at compile time, multiple inheritance and(More)
The design of the Eiffel language makes it possible to perform global optimizations on Eiffel programs. In this paper, we describe some of the techniques we used in SmallEiffel, The GNU Eiffel Compiler, to generate highly efficient executables for Eiffel programs. Most of these techniques — related to global analysis or not — may also be applied to other(More)
SmartEiffel has been enjoying two different mechanisms to express subtyping and implementation inheritance for one year. After large scale practical tests and thanks to user feedback, this paper finalises the new typing policy of SmartEiffel, which combines two forms of multiple inheritance with genericity in one statically-checked, object-oriented(More)
RÉSUMÉ. Le code source du compilateur SmallEiffel fait un usage intensif de l’aliasing afin d’atteindre les meilleures performances, tant en termes de mémoire que de vitesse d’exécution. Cette technique semble très appropriée à la compilation mais peut aussi s’appliquer à une large gamme d’applications. Grâce aux capacités de programmation par contrat du(More)