Fine-grained aspects of automatic refactoring in C2Eiffel
Master Thesis, April 2011 — September 2011
Author: Adrian Friedli
Supervisor: Marco Trudel
The C2Eiffel framework translates C source code to Eiffel source code.
It aims to generate code that looks natural to a programmer such that it is
readable and maintainable. While this is already the case for most parts of
common C programs, there are areas for improvements.
External C functions are currently wrapped in the generated Eiffel code since the used libraries are not translated. In this thesis I will replace some standard and often used C functions by the corresponding Eiffel equivalents. In the attempt to replace standard C string functions I will also try to replace the current translation of C strings to integer arrays with native Eiffel strings.
I will also remove jump statements like break that are often used in C programs but are not available in Eiffel. This will increase the readability of the code compared to the current implementation that emulates the jump mechanism in Eiffel and produces hard to read code.