Difference between revisions of "First Steps"
m (→Introduction) |
m (→Overview) |
||
Line 3: | Line 3: | ||
====Overview==== | ====Overview==== | ||
− | EiffelStudio is first and foremost a compiler that translates programs written in the Eiffel language into different output formats where one of them is C code. To study a translation process it is important to understand both the source and the target language. The former is a perquisite for this article. | + | EiffelStudio is first and foremost a compiler that translates programs written in the Eiffel language into different output formats where one of them is C code. To study a translation process it is important to understand both the source and the target language. The former is a perquisite for this article. |
+ | |||
+ | When trying to identify the difficult parts of the Eiffel to C compilation it helps to analyze the differences between the two languages. The most important ones are enlisted here: | ||
+ | - Eiffel supports objects | ||
+ | - Eiffel has garbage collection | ||
+ | - Eiffel has dynamic binding | ||
+ | - Eiffel supports generics | ||
+ | - Eiffel supports closures, C only supports function pointers | ||
+ | - Eiffel supports design by contract. | ||
+ | - Melting ice technology (only for workbench code). | ||
+ | |||
+ | Of course the languages have other differences to, Eiffel has the from loop construct whereas C has the for and while constructs. But this stuff is very easily translated. |
Revision as of 07:29, 24 January 2007
Introduction
The source code of EiffelStudio was recently made open in a dual licensing model. This makes it possible for a broad group of developers to both learn from and extend the huge code base that embodies EiffelStudio. This article tries to give a good initial understanding behind the most basic ideas of the EiffelStudio implementation.
Overview
EiffelStudio is first and foremost a compiler that translates programs written in the Eiffel language into different output formats where one of them is C code. To study a translation process it is important to understand both the source and the target language. The former is a perquisite for this article.
When trying to identify the difficult parts of the Eiffel to C compilation it helps to analyze the differences between the two languages. The most important ones are enlisted here: - Eiffel supports objects - Eiffel has garbage collection - Eiffel has dynamic binding - Eiffel supports generics - Eiffel supports closures, C only supports function pointers - Eiffel supports design by contract. - Melting ice technology (only for workbench code).
Of course the languages have other differences to, Eiffel has the from loop construct whereas C has the for and while constructs. But this stuff is very easily translated.