CECIL: using Eiffel from other languages

Eiffel Power (TM) from ISE

How to run a CECIL program

1 - Using CECIL

2 - Compiling your Eiffel system for CECIL

3 -Building a CECIL archive

4 - Using a CECIL archive

4.1 - Linking the CECIL archive into a program

4.2 - Initializing the Eiffel 4 run-time

5 - Restrictions

6 - Notes

Overview of the CECIL Interface

1 - Eiffel basic types

1.1 - More about EIF_OBJECT, EIF_REFERENCE, and basic expanded types

Back to index

2 - Protecting the Eiffel objects

Back to index

2.1 - Eiffel objects passed in a C external

Back to index

2.2 - Accessing the direct reference to an Eiffel object: eif_access

2.3 - Keeping a reference from C after an external call: eif_adopt

3 - Other CECIL functions:

3.1 - Creating Eiffel objects from C: eif_create

3.2 - Protecting the objects returned by Eiffel functions.

3.3 - Getting the type id of an Eiffel type: eif_type_id

 3.4 - Getting the type id of a generic type (until v4.2): eif_generic_type.

3.5 - Raising an eiffel panic: eif_panic.

3.6 - Releasing an Eiffel indirection pointer: eif_wean

3.7 - Getting the attribute from an Eiffel object: eif_field

3.8 - Getting the address of an Eiffel routine

3.9 - Enabling/Disabling the visible exception (only available in v4.3)

3.10 - Creating an Eiffel string: RTMS

3.11 - Getting the return-type of an attribute: eif_attribute_type (only available in v4.3)

3.12 - Getting the class name corresponding to a type id: eif_name

3.13 - Getting the type id of an Eiffel object: eif_type.

4 - Restrictions in CECIL

4.1 - Declaring routines taking real as argument

4.2 - Cast of the Eiffel routines in C.

4.3 - Visible classes

4.4 - Visible features

5 - Bugs

5.1 - Bug in export clause

Back to index

5.2 - Bad macros in eif_cecil.h

Back to index