Übersetzerbau [electronic resource] : Virtuelle Maschinen /
Wilhelm, Reinhard.author.
Seidl, Helmut.author.
Will man für eine moderne Programmiersprache Code erzeugen, wird man schnell feststellen, dass man bei der Übersetzung gerne Befehle verwenden würde, die so von einer konkreten Maschine nicht bereit gestellt werden. Andererseits ändern sich die Instruktionssätze moderner Rechner so schnell, dass es auch gar nicht sinnvoll erscheint, den Compiler zu sehr auf zufälligerweise bereitgestellte Operationen festzulegen. Eine solche Festlegung könnte nämlich bedeuten, dass man nach wenigen Jahren den Compiler gänzlich neu schreiben müsste. Um dieses zu vermeiden wird ein Code für eine idealisierte Maschine erzeugt, deren Befehle dann jeweils nur noch auf den verschiedenen konkreten Zielrechnern zu implementieren sind. Einerseits erleichtert dieses Vorgehen die Portierbarkeit des Compilers. Andererseits vereinfacht dies auch die Übersetzung selbst, da man den Befehlssatz entsprechend der jeweiligen zu übersetzenden Programmiersprache geeignet wählen kann. In dem Buch werden solche virtuellen Maschinen für imperative, funktionale, logische und objekt-orientierte Programmiersprachen vorgestellt. Dabei wird insbesonds auf die Übersetzungsschemata eingegangen, wie man für die jeweiligen konkreten Programmkonstrukte der Programmiersprache die Befehlsfolgen für die zugehörige virtuelle Maschine konstruiert. Neben einer vertieften Einsicht in allgemeine Konzepte von Programmiersprachen vermittelt unser Buch darum grundlegende Techniken zur Implementierung moderner Übersetzer.
Bibliographic Level Mode of Issuance: Monograph
Die Übersetzung imperativer Programmiersprachen -- Übersetzung funktionaler Programmiersprachen -- Die Übersetzung logischer Programmiersprachen -- Die Übersetzung objektorientierter Programmiersprachen.
Will man für eine moderne Programmiersprache Code erzeugen, wird man schnell feststellen, dass man bei der Übersetzung gerne Befehle verwenden würde, die so von einer konkreten Maschine nicht bereit gestellt werden. Andererseits ändern sich die Instruktionssätze moderner Rechner so schnell, dass es auch gar nicht sinnvoll erscheint, den Compiler zu sehr auf zufälligerweise bereitgestellte Operationen festzulegen. Eine solche Festlegung könnte nämlich bedeuten, dass man nach wenigen Jahren den Compiler gänzlich neu schreiben müsste. Um dieses zu vermeiden wird ein Code für eine idealisierte Maschine erzeugt, deren Befehle dann jeweils nur noch auf den verschiedenen konkreten Zielrechnern zu implementieren sind. Einerseits erleichtert dieses Vorgehen die Portierbarkeit des Compilers. Andererseits vereinfacht dies auch die Übersetzung selbst, da man den Befehlssatz entsprechend der jeweiligen zu übersetzenden Programmiersprache geeignet wählen kann. In dem Buch werden solche virtuellen Maschinen für imperative, funktionale, logische und objekt-orientierte Programmiersprachen vorgestellt. Dabei wird insbesonds auf die Übersetzungsschemata eingegangen, wie man für die jeweiligen konkreten Programmkonstrukte der Programmiersprache die Befehlsfolgen für die zugehörige virtuelle Maschine konstruiert. Neben einer vertieften Einsicht in allgemeine Konzepte von Programmiersprachen vermittelt unser Buch darum grundlegende Techniken zur Implementierung moderner Übersetzer.
Programming languages (Electronic computers).
Computer programming.
Programming Languages, Compilers, Interpreters.
Programming Techniques.
eXamen.press