|ePolyglot: Examination and development of multilanguage programming using Eiffel, Python, and Haskell|
|Prev||Chapter 18. Dependencies and Data Flow||Next|
This is probably the most complex process. The developer hand-writes a cecil.se file to selectively expose Eiffel features and compiles the appropriate source files with the SmallEiffel compile_to_c command, generating source files and the eiffel-glue.h file. Using the make_eiffel_glue.py script, the eiffel-glue.h file is transformed into the eiffel-glue.i interface file. Using swig, the eiffel-glue.i file is transformed into the source code file eiffel-glue_wrap.c and the documentation file eiffel-glue_wrap.doc. The new eiffel-glue_wrap.doc documentation file and the original hand-created cecil.se file are then parsed by the make_python_shadow_classes.py to generate the python_shadows.py file, which contains class definitions for all the python shadow classes. The entire bundle of C source files and wrapper code is then transformed into the shared library or standalone interpreter by the Makefile.pre.in make script.