Lehrstuhl Informatik II   
Sprachen und Beschreibungsstrukturen      
   Home Lehre Sommersemester 09 Vorlesungen Virtuelle Maschinen login

Virtuelle Maschinen

Dozent:Prof. Dr. Helmut Seidl
Ort/Zeit:Vorlesung: Di 10:00-11:30 im 02.07.014 und Übung: Do 12:15-13:45 im 02.07.034
ModulNummer:IN2040
Beschreibung:    Virtuelle Maschinen und Übersetzung von Programmiersprachen wie C, Prolog und einer funktionalen Sprache werden behandelt.

Aktuelles

  • Die Übung am Donnerstag, 23.07.2009, findet von 10:15 bis 11:45 im Raum MI 02.07.034 statt.
  • Die mündliche Prüfung findet am Montag, den 3.8. statt.

Inhalt

Will man für eine Programmiersprache wie Prolog Code erzeugen, wird man schnell feststellen, dass man bei der Übersetzung gerne Befehle verwenden würde, die so von einer konkreten Maschine nicht bereitgestellt 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 sich nach wenigen Jahren bereits gemüßigt fühlen müsste, den Compiler gänzlich neuzuschreiben. Bereits bei der Implementierung des ersten Pascal Compilers kam man darum auf die Idee, zuerst Code für eine leicht idealisierte Maschine zu erzeugen, deren Befehle dann jeweils nur noch auf den verschiedenen konkreten Zielrechnern zu implementieren waren. Auch die Übersetzung moderner Programmiersprachen wie Prolog, Haskell oder Java basiert auf diesem Prinzip. 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. Speziell behandeln wir:

  • die Übersetzung von C,
  • die Übersetzung einer funktionalen Sprache,
  • die Übersetzung von Prolog sowie
  • die Übersetzung einer nebenläufigen Variante von C.

Aufzeichnungen

TTT-Archiv

Folien

Übungsblätter

    Übung Abgabetermin
    Blatt 01: PDF
    Blatt 02: PDF
    Blatt 03: PDF
    Blatt 04: PDF
    Blatt 05: PDF (Updated)
    Blatt 06: PDF
    Blatt 07: PDF
    Blatt 08: PDF
    Blatt 09: PDF
    Blatt 10: PDF
    Blatt 11: PDF (Bonus)

    CMa-Beispiel (Archiv)
    4. Mai 2009
    12. Mai 2009
    19. Mai 2009
    26. Mai 2009
    2. Juni 2009
    9. Juni 2009
    16. Juni 2009
    23. Juni 2009
    30. Juni 2009
    7. Juli 2009
    Zum Ende der Vorlesung

    (Wdh.)

Tools

  • VAM: Visualisierungstool für Abstrakte Maschinen (minor update)


TUM - Lehrstuhl Informatik II (Sprachen und Beschreibungsstrukturen) Thanks: Tango and TinyMCE     Generationszeit: 8 ms