Automated Translation of Java Source Code to Eiffel
Re-usability is an important software engineering concept actively advocated for the last forty years. While re-usability has been addressed for systems implemented using the same programming language, it does not usually handle interoperability with different programming languages. This paper presents a solution for the reuse of Java code within Eiffel programs based on a source-to-source translation from Java to Eiffel. The paper focuses on the critical aspects of the translation and illustrates them by formal means. The translation is implemented in the freely available tool J2Eif; it provides Eiffel replacements for the components of the Java run-time environment, including Java Native Interface services and reflection mechanisms.