In der Geschichte der Informatik ist eine Vielzahl von Programmiersprachen entstanden. Diese erlauben es uns, Programme so eindeutig zu beschreiben, dass sie von einer Maschine ausgeführt werden können. Dabei besteht ein großer Abstand zwischen verschiedenen Hochsprachen, die für die Beschreibung von Algorithmen und Domänenwissen optimiert sind, und den verschiedenen Formen von Maschinensprache, die von einer (echten oder virtuellen) Maschine direkt ausgeführt werden können.
Dieser Abstand wird von Compilern und Interpretern überbrückt. In dieser Vorlesung beschäftigen wir uns mit Grundlagen und Umsetzung von Konzepten des Compilerbaus. Wir wollen dabei unter anderem die folgenden Fragen beantworten.
Im begleitenden Labor werden wir einen funktionsfähigen Compiler für eine einfache Sprache entwickeln.