Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| software:deep:dev:rts:start [2014-05-28 10:22] – graf | software:deep:dev:rts:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Runtime System (RTS) ====== | ||
| - | The Java standard library is very powerful and rich. However, as our target compiler puts its focus on efficiency we do not want to support the full library. Some of the base classes, notably java/ | ||
| - | The RTS is described in [[software: | ||
| - | |||
| - | * [[.: | ||
| - | * [[.: | ||
| - | * [[.: | ||
| - | * Strings are efficiently implemented as described in the compiler section under [[..: | ||
| - | |||
| - | ===== Content of the RTS ===== | ||
| - | We use the Java library from the Android project. It stands under the Apache Licence 2.0 and we can alter any class with ease as we also release the target library under the same licence. Some classes can be taken directly, several classes must be simplified or modified. These classes are marked by implementing a special marker interface (// | ||
| - | Currently, the class path of a deep project must include the target library with the runtime system. This allows the java compiler to find and resolve its classes when translating into Bytecode. Further, the deep project file must include the path to the class files of the runtime system in order to translate from Bytecode into machine code. | ||
| - | |||
| - | ^class^modification^implements marker interface^ | ||
| - | |java/ | ||
| - | |java/ | ||
| - | |java/ | ||
| - | |java/ | ||
| - | |java/ | ||
| - | |java/ | ||
| - | |||
| - | |||
| - | ==== Next Step ==== | ||
| - | We plan to use many more classes of the standard library. For this purpose we will have to include the target library together with the standard library in the classpath. Also, the deep project file will specify the path of the target library together with the standard library. The order of import will define the precedence of classes with the same name in both locations. | ||
| - | |||
| - | |||
| - | |||