Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik CB – SS 2019 – Organisatorisches 03.04.19 1
Organisatorisches • Burkhard Messer, TA C 830, Tel. 5019-2511 • E-Mail: burkhard.messer@htw-berlin.de Regeln für E-Mail beachten: Es kann nicht sichergestellt werden, dass E-Mails ankommen. • Web: http://wi.f4.htw-berlin.de/users/messer/ • Sprechstunde: Donnerstag, 16:30 bis 17:30 Uhr, TA C 830 CB – SS 2019 – Organisatorisches 2
Fachgebiet Compilerbau • Compilerbau (wie auch Betriebssysteme) werden nur noch selten gelehrt. • Beide beinhalten aber Techniken, die in anderen Bereichen notwendig sind: – Parsieren von Datenaustausch-Formaten: XML, JSON – Im Web: Ajax mit JavaScript-Tests der Responses – Application Firewalls für Webservices, SQL-Filter – Realisierung von Shells, z.B. bash, rexx oder Powershell – Reguläre Ausdrücke – Domain Specific Languages (DSL) CB – SS 2019 – Organisatorisches 3
Ziele der Veranstaltung I Das wesentliche Ziel der Veranstaltung besteht darin, dass Sie einen Compiler für eine kleine, aber benutzbare Sprache realisieren. CB – SS 2019 – Organisatorisches 4
Ziele der Veranstaltung II Nach der Veranstaltung … kennen Sie die Architektur von Compilern, … wissen Sie, wie LL(1)-Grammatiken aussehen, … kennen Sie Zwischensprachen und Generieren von Code, … kennen Sie Aspekte moderner Programmiersprachen, … können Sie selbst eine Programmiersprache entwerfen. Es werden keine Inhalte aus dem Reich der Theoretischen Informatik behandelt, sondern nur die praktischen Aspekte. CB – SS 2019 – Organisatorisches 5
Aufbau der Veranstaltung • 1. Teil: Realisierung des Compilers für Plong – Lexikalische Analyse – LL(1)-Parser – Abstrakter Syntaxbaum – Codegenerierung für eine virtuelle Maschine – Testen von Compilern • 2. Teil: Compilertechniken – Reflexion, Annotationen – Generics/Typenparameter – Aspekte – Pointer (smart, optional, weak etc.) – (etwas) Extensible Languages – (etwas) Bootstrapping – (etwas) Optimierung • 3. Teil: Entwurf von Programmiersprachen CB – SS 2019 – Organisatorisches 6
Bewertung I • Die Veranstaltung besteht aus zwei Teilen: – Vorlesung mit Klausur (max. 16 Punkte) • • CB – SS 2019 – Organisatorisches 7
Bewertung II – Die Aufgabenblätter Nr. Thema Punkte 1 Sprache Plong 3 2 Scanner 8 3 LL(1)-Parser 7 24 Punkte 4 Abstrakter Syntaxbaum 6 5 Interpreter EM1 +6 6 Codegenerierung +6 Zusatzaufgaben 7 Optimierung +4 Die Punktezahl entspricht dem Schwierigkeitsgrad der Lösung. Die Aufgaben müssen in der obigen Reihenfolge gemacht werden. Es kann sein, dass sich während der Veranstaltung heraus stellt, dass es so nicht geht; dann gibt es Änderungen, die vom Umfang her dem hier entsprechen. CB – SS 2019 – Organisatorisches 8
Bewertung III – Abgabe der Lösungen • 1. Prüfungszeitraum: – Der letzte Termin ist der Übungstermin 1 Woche vor der Klausur. In dieser Übung kann noch abgegeben werden. – Später abgegebene Lösungen auch per Email werden für den 1. Prüfungszeitraum nicht berücksichtigt. • 2. Prüfungszeitraum: – Es wird ein spätester Abgabetermin genannt, der jedoch spätestens zum Klausurtermin sein darf. Letzteres ist die Regel. – Später abgegebene Lösungen auch per Email werden für diese Veranstaltung nicht berücksichtigt. Bei jeder Abgabe einer Lösung müssen alle Namen der Gruppenmitglieder angegeben werden. Nachträgliche Änderungen der Gruppe sind nicht zulässig. CB – SS 2019 – Organisatorisches 9
Bewertung IV – die Zensur Punkte Von Bis Zensur 38 40 1.0 36 37 1.3 34 35 1.7 32 33 2.0 30 31 2.3 28 29 2.7 26 27 3.0 24 25 3.3 Die Punkte werden zum Zeitpunkt 22 23 3.7 der Prüfung zusammengezählt. 20 21 4.0 Ein nachträgliches Nachreichen 0 19 5.0 ist nicht möglich. CB – SS 2019 – Organisatorisches 10
Gruppenarbeit • Gruppenarbeit ist bis zu max. 3 Personen zulässig. • Miteinander reden ist nicht nur erlaubt, sondern erwünscht. • Aber: Abschreiben ist nicht zulässig! Wenn jemand eine fremde Kopie als seine eigene abgibt, so werden Original und alle Kopien nicht gewertet. Die Übungen finden alle 14 Tage in den ungeraden Wochen statt. CB – SS 2019 – Organisatorisches 11
Übungen gemeinsam mit „IT-Security“ • Besprechung der Aufgabenblätter wird während der Übungen durchgeführt. • Für die Übungen werden grundsätzlich nur Open Source Produkte verwendet, so dass Sie die Übungen mit Ihren eigenen Geräten machen können. Tipp: Immer vorbereitet zum Übungstermin erscheinen. Nicht erst am PC mit dem Nachdenken beginnen. CB – SS 2019 – Organisatorisches 12
Realisierung I • Es wird in Java 11 programmiert. • Für den Build-Prozess wird maven 3.6 verwendet. • Wer möchte kann mit git und einem der Projektserver arbeiten. • Jedes Implement wird mit Unit-Tests getestet. • Es wird das Test Driven Development-Verfahren angewendet. • Die Tests werden vorgegeben, dazu gehört auch die JUnit 5- Umgebung.. • Eclipse oder netbeans sollten benutzt werden, Der Dozent unterstützt netbeans 10, aber alles sollte auch mit eclipse laufen. CB – SS 2019 – Organisatorisches 13
Realisierung II CB – SS 2019 – Organisatorisches 14
Programmiersprache Plong – PL/0 NG I CB – SS 2019 – Organisatorisches 15
Programmiersprache Plong – PL/0 NG II CB – SS 2019 – Organisatorisches 16
Theorie-Prüfungsleistung • Klausur am Ende des Semesters, voraussichtlich Anfang Juli 2019 bzw. Ende September 2019 • Die Klausur besteht aus 10-15 Fragen, die aus den Fragebögen – mit leichten Umformulierungen – kommen. • In der Klausur können max. 16 Punkte erreicht werden. • In der Klausur wird nicht "programmiert", sondern das theoretische Wissen abgefragt. • Tipp: Wer alle Übungen selbst gemacht hat, hat kaum Probleme in der Klausur. CB – SS 2019 – Organisatorisches 17
Vorlesung • Die Vorlesung deckt den theoretischen Teil ab. • Fragebögen (50-100 Fragen) – decken den notwendigen Teil der Theorie ab – zeigen, was wichtig ist – bringen Sie dazu, sich auch anderes anzusehen • Auf Wunsch: Besprechung der Fragen zu einem Vorlesungstermin, in der Regel 1 Woche vor der Klausur des 1. Prüfungszeitraums. – Zu dieser Fragestunde ist eine Vorbereitung Voraussetzung. – Es gibt davon keine Mitschnitte. CB – SS 2019 – Organisatorisches 18
Didaktik • Alles, was lediglich gehört wurde, gilt als nicht gelernt. • Alles, was selbst gemacht wurde, ist gelernt. Dieses Zeichen weist auf eine "gefährliche" Möglichkeit hin – wer dies missachtet, erlebt wahrscheinlich unangenehme Abenteuer. Dieses Zeichen heißt "Aufpassen!". CB – SS 2019 – Organisatorisches 19
Das war's dann wohl.... CB – SS 2019 – Organisatorisches 20
Sie können auch lesen