Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik

Die Seite wird erstellt Peer Hoffmann
 
WEITER LESEN
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
Compilerbau
               Organisatorisches und Leistungskriterien
                       Sommersemester 2019

                                      Burkhard Messer
                                         HTW Berlin
                                   FB 4 Wirtschaftsinformatik

CB – SS 2019 – Organisatorisches                                03.04.19 1
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
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
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
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
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
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
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
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
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
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
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
Bewertung I

            • Die Veranstaltung besteht aus zwei Teilen:
                   – Vorlesung mit Klausur (max. 16 Punkte)

            •

            •

CB – SS 2019 – Organisatorisches                              7
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
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
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
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
Compilerbau Organisatorisches und Leistungskriterien Sommersemester 2019 - Burkhard Messer HTW Berlin FB 4 Wirtschaftsinformatik
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