Institut für Computersprachen
Programmiersprachen und Übersetzer
| Diplomarbeit | |
| Titel | Extending Java |
| Autor | Lackner, Martin |
| Erscheinungsjahr | 2001 |
| Abstract | Java ist eine stark typisierte, objektorientierte Programmiersprache, die wegen ihrer Maschinen unabhängigen Zielarchitektur, der Java Virtual Machine (JVM), sehr interessant ist. Unabhängig davon benötigt Java zusätzliche Ausdruckskraft, um weitreichend nützlich zu sein. Diese Arbeit erweitert Java in zwei Bereiche, in denen mehr Unterstützung durch die Programmiersprache hilfreich wäre. Diese Bereiche sind parametrischer Polymorphismus und Verträge. Parametrischer Polymorphismus ermöglicht die Definition und Implementierung von generischen Typen und Methoden. Verträge beschreiben ein Übereinkommen zwischen dem Autor und dem Nutzer einer Klasse oder eines Interfaces in der Form von Invarianten in diesen Typen und Vor- und Nachbedingungen von Methoden. Werden diese Mechanismen von Programmierern eingesetzt, dann erhöht das deren Produktivität und die Zuverlässigkeit sowie die Sicherheit des programmierten Codes, insbesondere wenn sie zum Erstellen von Klassenbibliotheken verwendet werden. Diese Arbeit präsentiert eine Lösung, die auf zwei Entwürfen basiert, die im Zuge des Java Community Process (JCP) von Sun veröffentlicht wurden. Es wird die Wirkungsweise der Lösung und das Übersetzen des Codes beschrieben. Auch wird sie mit anderen Vorschlägen verglichen. Dieser Ansatz wurde als Erweiterung des Compilers KJC, FJC genannt, implementiert. KJC ist ein Teil des GNU Projektes Kopi. FJC kann die erweiterte Java Sprache nach JVM Byte Code und nach Java Source Code übersetzen. |
| Status | Verfügbar |