Warenkorb
€ 0,00 0 Buch dabei,
portofrei
Übersetzung objektorientierter Programmiersprachen als Buch
PORTO-
FREI

Übersetzung objektorientierter Programmiersprachen

Konzepte, abstrakte Maschinen und Praktikum 'Java-Compiler'. 'Springer-Lehrbuch'. Auflage 1998. Mit 29…
Buch (kartoniert)
Dieses Buch vermittelt sowohl Studierenden der Informatik als auch Softwareentwicklern fundierte Grundlagen und Vorgehensweisen zur Entwicklung von Compilern für objektorientierte Programmiersprachen. Anhand mehrerer Sprachen (Smalltalk-80, Java, C++ … weiterlesen
Buch

32,99*

inkl. MwSt.
Portofrei
Sofort lieferbar
Übersetzung objektorientierter Programmiersprachen als Buch

Produktdetails

Titel: Übersetzung objektorientierter Programmiersprachen
Autor/en: Bernhard Bauer, Riitta Höllerer

ISBN: 3540642560
EAN: 9783540642565
Konzepte, abstrakte Maschinen und Praktikum 'Java-Compiler'.
'Springer-Lehrbuch'.
Auflage 1998.
Mit 29 Abbildungen.
Springer-Verlag GmbH

15. Oktober 1998 - kartoniert - XIV

Beschreibung

Dieses Buch vermittelt sowohl Studierenden der Informatik als auch Softwareentwicklern fundierte Grundlagen und Vorgehensweisen zur Entwicklung von Compilern für objektorientierte Programmiersprachen. Anhand mehrerer Sprachen (Smalltalk-80, Java, C++) werden die Konzepte objektorientierter Sprachen und ihrer Übersetzung dargestellt.
Die Themengebiete des Theorieteils sind: - objektorientierte Konzepte - Übersetzung objektorientierter Sprachen - abstrakte (virtuelle) Maschinen - Typinferenz und Typüberprüfung - Optimierungen - Speicherbereinigung (garbage collection). Im Praxisteil des Buches wird die Spezifikation eines Übersetzers für Java entwickelt. Diese Spezifikation kann als Eingabe für einen Übersetzergenerator verwendet werden, der daraus ein ablauffähiges C-Programm erzeugt.
Zahlreiche Illustrationen und Beispiele veranschaulichen die Lerninhalte. Durch das Praktikum im zweiten Teil mit Aufgaben und Lösungen (im WWW) kann der vermittelte Stoff am Beispiel eines Java-Compilers eingeübt werden. Das Buch entstand aus einer zweistündigen Vorlesung mit darauf aufbauendem Praktikum. Es ist auch zum Selbststudium geeignet.

Inhaltsverzeichnis

1: Theorie.- 1 Einleitung.- 1.1 Übersetzung von Programmiersprachen.- 1.2 Objektorientiertheit und objektorientierte Programmiersprachen.- 1.3 Reine und hybride objektorientierte Programmiersprachen.- 1.4 Die Programmiersprache Java.- 1.5 Überblick über die weiteren Kapitel.- 2 Objektorientierte Konzepte.- 2.1 Klassenbasierte objektorientierte Sprachen.- 2.1.1 Objekte und Klassen.- 2.1.2 Gleichheit und Kopieren von Objekten.- 2.1.3 Abstrakte Klassen und Interface-Klassen.- 2.1.4 Multi-Methoden.- 2.2 Vererbung.- 2.2.1 Einfachvererbung.- 2.2.2 Mehrfachvererbung.- 2.2.3 Dynamische Vererbung.- 2.3 Kapselung.- 2.4 Parametrisierung und generische Datentypen.- 2.5 Parametrisierung versus Vererbung.- 2.6 Polymorphismus.- 3 Übersetzung objektorientierter Konzepte und abstrakte Maschinen.- 3.1 Lose Übersetzung.- 3.1.1 Abstrakte Maschine AM.- 3.1.1.1 Laufzeitumgebung der abstrakten Maschine AM..- 3.1.1.2 Befehle der abstrakten Maschine AM.- 3.1.1.3 Adressierungsarten.- 3.1.2 Klassen und Einfachvererbung.- 3.1.3 Methodendeklarationen.- 3.1.4 Nachrichten und Methodenaufrufe.- 3.1.5 Objekte.- 3.1.6 Semiformale Beschreibung der Semantik der abstrakten Maschine.- 3.2 Smalltalk-80-Realisierung.- 3.2.1 Klassen und Einfachvererbung.- 3.2.2 Übersetzung von Methoden.- 3.2.3 Objekte.- 3.2.4 Objektverwaltung.- 3.2.5 Methodenaufruf.- 3.2.6 Die abstrakte Maschine für Smalltalk-80.- 3.3 Java-Realisierung.- 3.3.1 Klassen und einfache Vererbung.- 3.3.1.1 Einträge im Konstantenpool.- 3.3.1.2 Einträge für Instanzvariablen.- 3.3.1.3 Einträge für Methoden.- 3.3.1.4 Bemerkungen.- 3.3.2 Methodendeklarationen.- 3.3.3 Methodenaufruf und Rücksprung.- 3.3.4 Objekte.- 3.3.5 Die virtuelle Maschine von Java.- 3.4 C++-Realisierung.- 3.4.1 Methoden, Klassen und einfache Vererbung.- 3.4.2 Objekte.- 3.4.3 Methodenaufruf.- 3.4.4 Mehrfachvererbung.- 3.5 Parametrisierung.- 3.5.1 Kopierende Sicht.- 3.5.2 Echte generische Sicht.- 4 Typinferenz und Typüberprüfung.- 4.1 Typisierung und Binden.- 4.1.1 Typisierung.- 4.1.2 Binden und Methodensuche.- 4.1.3 Zusammenhang von Typisierung und Binden.- 4.1.4 Typisierungsprobleme.- 4.2 Typisierung mit Datenflußanalyse.- 4.2.1 Datenflußanalyse.- 4.2.2 Typisierung mit Datenflußanalyse.- 4.3 Typisierung mit Constraints.- 5 Optimierungen.- 5.1 Standardoptimierungen.- 5.1.1 Elimination redundanter Ausdrücke.- 5.1.2 Konstantenfaltung.- 5.1.3 Elimination toten Programmcodes.- 5.1.4 Kopien-Verbreitung.- 5.1.5 Schleifenoptimierungen.- 5.1.6 Reduktion des Operators und algebraische Umformungen.- 5.1.7 Kontrollflußoptimierungen.- 5.2 Objektorientierte Optimierungen.- 5.2.1 Intraprozedurale Klassenanalyse.- 5.2.2 Analyse der Klassenhierarchie.- 5.2.3 Effiziente Implementierung der Methodensuche.- zur Übersetzungszeit.- 5.2.4 Inkrementelle Programmentwicklung und separate Übersetzung.- 5.2.5 Klassentest.- 5.2.5.1 Einfach-Klassentest.- 5.2.5.2 Unterklassentest.- 5.2.5.3 Verwendung von Klassentests und Splitting.- 5.2.6 Funktionsexpansion.- 5.2.7 Wertbasierte Analyse und Instanzvariablen-Optimierung..- 5.2.8 Profile-Informationen.- 5.2.9 Spezialisierte Varianten: Customization.- 5.2.10 Lookup- und Inline-Caches.- 6 Speicherbereinigung.- 6.1 Nicht-inkrementelle Techniken.- 6.1.1 Mark-Scan-Speicherbereinigung.- 6.1.2 Kopierende Speicherbereinigung.- 6.1.2.1 Kopierende Speicherbereinigung mit zwei Regionen.- 6.1.2.2 Kopierende Speicherbereinigung mit Generationen.- 6.2 Inkrementelle Techniken: Referenzzählende Algorithmen.- 7 Ausblick.- 7.1 Compiler-Entwicklung.- 7.1.1 Bootstrapping und Cross-Compiler.- 7.1.2 Compiler-Generatoren.- 7.2 Varianten von Compilern.- 7.2.1 Dynamische Recompilierung.- 7.2.2 Deutsch-Schiffman-Technik.- 7.2.3 Just-In-Time Compiler.- 7.2.4 Compiler und Programmkorrektheit.- 7.3 Hardware-Unterstützung.- 2: Praxis.- 8 Compilerbaupraktikum.- 9 Java - Die Programmiersprache.- 9.1 Java-Merkmale.- 9.2 Objekte in Java.- 9.3 Ausdrücke und Statements.- 9.4 Einschränkungen.- 9.5 Aufgaben.- 10 Das MAX-System.- 10.1 Eigenschaften.- 10.2 MAX-Spezifikationen.- 10.3 Ordnungssortierte Terme.- 10.4 Occurrence- bzw. Knotensorten.- 10.5 Muster.- 10.5.1 Sondersymbole in den Mustern.- 10.5.2 Mustersyntax.- 10.6 Attribute.- 10.7 Funktionen.- 10.8 Kontextbedingungen.- 10.9 Generierung eines Java-Übersetzers mit dem MAX-System.- 10.10 Aufgaben.- 11 Befehle der virtuellen Java-Maschine.- 11.1 Konstanten auf den Keller laden.- 11.2 Lokale Variablen auf den Keller laden.- 11.3 Speichern in eine lokale Variable.- 11.4 Manipulation des Kellers.- 11.5 Behandlung von Objekten.- 11.6 Arithmetische Befehle.- 11.7 Sprungbefehle.- 11.8 Methodenaufruf und Rücksprung.- 11.9 Überprüfung der Klassenzugehörigkeit.- 11.10 Erzeugung des JVM-Codes.- 12 Übersetzerspezifikation.- 12.1 Bindungsanalyse (Identifikation).- 12.1.1 Ziele der Bindungsanalyse.- 12.1.2 Bindungsanalyse für Java.- 12.1.3 Aufgaben.- 12.2 Typdeklarationen und Typisierung.- 12.2.1 Typdeklarationen.- 12.2.2 Typisierung von Ausdrücken.- 12.2.3 Aufgaben.- 12.3 MAX-Spezifikation der Klassendatei.- 12.3.1 Aufgaben.- 12.4 Ausdrücke und ihre Codeerzeugung.- 12.4.1 Wert eines Ausdrucks.- 12.4.2 Codeerzeugung für Ausdrücke.- 12.5 Statements und ihre Codeerzeugung.- 12.5.1 Statements.- 12.5.2 Code für Statements.- 12.5.3 Ausdrücke als Statements.- 12.5.4 Aufgaben.- 12.6 Methodendeklaration.- 12.6.1 Abstrakte Syntax.- 12.6.2 Methodeneinträge in die Klassendatei.- 12.6.3 Attributierung für Method@-Knoten.- 12.7 Kellerrahmen von Java-Methodeninkarnationen.- 12.8 Methodenaufruf.- 12.8.1 Abstrakte Syntax.- 12.8.2 Methodenreferenzeinträge im Konstantenpool.- 12.8.3 JVM-Code.- 12.8.4 Attributierung für MethodCall@-Knoten.- 12.8.5 Aufgaben.- 12.9 Vererbung.- 12.9.1 Vererbung in Java.- 12.9.2 Implementierung von Vererbung.- 12.9.3 Berücksichtigung der Vererbungshierarchie.- 12.9.4 Implementierung von super.- 12.9.5 Aufgaben.- 12.10 Ausgabeschnittstelle.- 12.10.1 Java-Klassen für print-Ausgaben.- 12.10.2 Code für print-Ausgaben.- 12.10.3 Aufgaben.- Anhang A: Klassenfile und Bytecode.- Anhang B: Java-Syntax.- Literatur.

Mehr aus dieser Reihe

zurück
Entwicklungspsychologie des Kindes- und Jugendalters für Bachelor
Buch (kartoniert)
von Arnold Lohaus, M…
Basiswissen Medizinische Statistik
Buch (kartoniert)
von Christel Weiß, B…
Basiswissen Psychiatrie und Psychotherapie
Buch (kartoniert)
von Volker Arolt, Ch…
Psychologie
Buch (gebunden)
von David G. Myers, …
Arbeits-, Organisations- und Personalpsychologie für Bachelor
Buch (kartoniert)
vor
Servicehotline
089 - 70 80 99 47

Mo. - Fr. 8.00 - 20.00 Uhr
Sa. 10.00 - 20.00 Uhr
Filialhotline
089 - 30 75 75 75

Mo. - Sa. 9.00 - 20.00 Uhr
Bleiben Sie in Kontakt:
Sicher & bequem bezahlen:
akzeptierte Zahlungsarten: Überweisung, offene Rechnung,
Visa, Master Card, American Express, Paypal
Zustellung durch:
* Alle Preise verstehen sich inkl. der gesetzlichen MwSt. Informationen über den Versand und anfallende Versandkosten finden Sie hier.
** Deutschsprachige eBooks und Bücher dürfen aufgrund der in Deutschland geltenden Buchpreisbindung und/oder Vorgaben von Verlagen nicht rabattiert werden. Soweit von uns deutschsprachige eBooks und Bücher günstiger angezeigt werden, wurde bei diesen kürzlich von den Verlagen der Preis gesenkt oder die Buchpreisbindung wurde für diese Titel inzwischen aufgehoben. Angaben zu Preisnachlässen beziehen sich auf den dargestellten Vergleichspreis.