Bewertung:

Derzeit gibt es keine Leserbewertungen. Die Bewertung basiert auf 3 Stimmen.
Compiler Design Using Kotlin(TM): An Object-Oriented Approach
Dieses Buch ist in erster Linie als Lehrbuch für einen einsemestrigen Kurs über Compilerentwurf für Studenten im Grundstudium und angehende Doktoranden gedacht. Die einzigen Voraussetzungen für dieses Buch sind die Vertrautheit mit grundlegenden Algorithmen und Datenstrukturen (Listen, Maps, Rekursion, etc.), ein rudimentäres Wissen über Computerarchitektur und Assembler und einige Erfahrung mit der Programmiersprache Kotlin oder einer eng verwandten Sprache wie Java.
Ein komplettes Studium von Compilern könnte leicht mehrere Kurse auf Graduiertenebene füllen, und daher sind einige Vereinfachungen und Kompromisse für einen einsemestrigen Kurs notwendig, der auch für Studierende im Grundstudium zugänglich ist. Im Folgenden sind einige der Entscheidungen aufgeführt, die getroffen wurden, um die Ziele dieses Buches zu erreichen.
1. Das Buch hat einen engen Fokus als projektorientierter Kurs über Compiler. Die Compiler-Theorie wird auf ein Minimum beschränkt, aber die Projektorientierung bewahrt den "Spaß" am Studium von Compilern.
2. Die zu kompilierende Quellsprache ist relativ einfach, aber mächtig genug, um interessant und anspruchsvoll zu sein. Sie verfügt über grundlegende Datentypen, Arrays, Prozeduren, Funktionen und Parameter, aber sie verweist viele andere interessante Sprachmerkmale auf die Projektübungen.
3. Die Zielsprache ist Assemblersprache für eine virtuelle Maschine mit einer stapelbasierten Architektur, die der Java Virtual Machine (JVM) ähnelt, aber viel einfacher ist als diese. Dieser Ansatz vereinfacht die Codegenerierung erheblich. Sowohl ein Assembler als auch ein Emulator für die virtuelle Maschine werden auf der Kurs-Website bereitgestellt.
4. Es werden keine speziellen compilerbezogenen Tools benötigt oder im Buch verwendet. Die Studierenden benötigen lediglich Zugang zu einem Kotlin-Compiler und einem Texteditor, aber die meisten Studierenden werden Kotlin mit einer integrierten Entwicklungsumgebung (IDE) verwenden wollen.
5. Eine sehr wichtige Komponente eines Compilers ist der Parser, der überprüft, ob ein Quellprogramm mit der Sprachsyntax konform ist und eine Zwischendarstellung des Programms erzeugt, die für die weitere Analyse und Codegenerierung geeignet ist. Es gibt verschiedene Ansätze für das Parsen, aber um den Fokus auf einen einsemestrigen Kurs zu halten, betont dieses Buch nur einen Ansatz, das rekursive Descent-Parsing mit mehreren Lookahead-Tokens.