Karlsruher Institut f¨ ur Technologie
Lehrstuhl f¨ ur Programmierparadigmen
Sprachtechnologie und Compiler, Sommersemester 2014 Dozent: Prof. Dr.-Ing. G. Snelting
Ubungsleiter: Sebastian Buchwald¨ Sebastian.Buchwald@kit.edu Ubungsblatt 11¨ Ausgabe: 8.7.2014 Besprechung: 14.7.2014
Aufgabe 1:Bottom-Up Pattern Matching
Gegeben seien die aus der Vorlesung bekannten Baumersetzungregeln und folgender Zwischencodebaum:
= ind
+
Ca +
Ri Ri
+ ind
+
Ca +
Ri Ri
C42
Verwenden Sie Bottom-Up Pattern Matching um eine optimale Befehlssequenz f¨ur den Zwischencodebaum zu erzeugen. Gehen Sie dabei davon aus, dass jeder erzeugte Befehl Kosten 1 hat.
Aufgabe 2:Praxis: Compiler-Vergleich
Schreiben Sie mehrere kleine Testprogramme und vergleichen Sie den generierten x86-64-Assemblers f¨ur zwei optimierende Compiler. K¨onnen Sie Unterschiede feststellen?
Falls ja, beantworten Sie folgende Fragen:
1. Welche der beiden Assembler-Varianten ist der anderen vorzuziehen?
2. Welche Phasen der Compiler sind f¨ur die Unterschiede verantwortlich?
1