To allow Eiffel programs to run on the Java Virtual Machine we have adopted a translation scheme ... more To allow Eiffel programs to run on the Java Virtual Machine we have adopted a translation scheme which addresses issues of library interoperability for the two languages. We describe an approach which permits Eiffel code to inherit Java code directly rather than adopt a more conventional external call mechanism. With this approach we can choose to access the Java code as descendants or as clients. In effect we are able to make the Java classes appear directly as Eiffel classes. In particular we can program applets in Eiffel just as a Java programmer does, inheriting directly from the applet class provided by the system and redefining appropriate routines. In addition, where Eiffel library classes are implemented with external calls provided by the Eiffel run-time, our translator is able to mix its translated code with Java implementations of the run-time functions. This ability to inherit Java code in the Eiffel source, and to use inherited versions of Eiffel run-time code on the Java side allows us to utilise both Eiffel and Java libraries in JVM-targetted Eiffel programs
To allow Eiffel programs to run on the Java Virtual Machine we have adopted a translation scheme ... more To allow Eiffel programs to run on the Java Virtual Machine we have adopted a translation scheme which addresses issues of library interoperability for the two languages. We describe an approach which permits Eiffel code to inherit Java code directly rather than adopt a more conventional external call mechanism. With this approach we can choose to access the Java code as descendants or as clients. In effect we are able to make the Java classes appear directly as Eiffel classes. In particular we can program applets in Eiffel just as a Java programmer does, inheriting directly from the applet class provided by the system and redefining appropriate routines. In addition, where Eiffel library classes are implemented with external calls provided by the Eiffel run-time, our translator is able to mix its translated code with Java implementations of the run-time functions. This ability to inherit Java code in the Eiffel source, and to use inherited versions of Eiffel run-time code on the Java side allows us to utilise both Eiffel and Java libraries in JVM-targetted Eiffel programs
Uploads
Papers by Ian Joyner