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. In the first section of the code generated by the compiler will be explained. After that, some critical components of EiffelStudio will be analysed. After that the articel gets more tutorial like and shows how and where some extensions were integrated.
+
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 08: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.