Wie die Zeit doch vergeht. Mittlerweile ist die erste Woche vorbei. Die Bearbeitungszeit für die Kurseinheit 1 hat somit Halbzeit. Dieser Blogartikel ist also auch gleichzeitig mein erster Beitrag zu meiner Challenge, in der ich regelmäßig den Status meiner Bearbeitung und die Themen, die der Kurs 01810 – Übersetzerbau aktuell behandelt hat, beschreiben möchte.
Aktuelle Inhalte
Das erste Kapitel der Kurseinheit 1 konnte ich recht schnell abschließen. Darin wurden allgemeine Informationen zu den Hintergründen und Einsatzgebieten eines Übersetzers, zum Aufbau und zur Systemumgebung erklärt. Im Allgemeinen war das nicht viel Neues, da ich als Softwareentwickler mit diesen Themen fast tagtäglich zu tun habe. Und doch war es sehr schön, dass alles einmal konkret und fokussiert nachzulesen. Ohne den Ballast einer konkreten Programmiersprache, Technologie oder Plattform. Ganz allgemein und teilweise abstrakt. Aber dennoch gut zu lesen, nachzuvollziehen und mit der ein oder anderen witzigen Bemerkung beziehungsweise dem ein oder anderen Seitenhieb. Die Autoren scheinen die Programmiersprache C nicht sonderlich zu mögen. Oder sind sich einfach dessen Komplexität bewusst :).
Während der Bearbeitung habe ich zwei zusammenfassende Abbildungen erstellt, die den Inhalt des ersten Kapitels fast vollständig enthalten. Glaube ich zumindest. Wenn ich etwas vergessen haben sollte, freue ich mich natürlich über einen Hinweis.
Abbildung 1 fasst die Übersetzungsphasen zusammen. Das Diagramm ist dem Skript angelehnt. Dazu habe ich die Datenformate in den Ablauf übernommen, die von der jeweiligen Phase entgegengenommen beziehungsweise als Ergebnis zurückgegeben werden. Zusätzlich zu kleinen Randnotizen, welche Besonderheiten und Aufgaben die jeweiligen Phasen haben.
Die zweite Abbildung beschreibt die Systemumgebung eines Übersetzers. Auch hier habe ich die Abbildung aus dem Skript übernommen und mit zahlreichen Anmerkungen ergänzt. Das Skript beschreibt die einzelnen Bestandteile der Systemumgebung und geht auch auf andere Anwendungsbereiche ein, in denen kein Lader/Binder vorhanden sein muss, sondern das Ergebnis auf andere Weise weiterverarbeitet wird.
Das erste Kapitel schließt mit dem Unterschied zwischen Compiler und Interpreter und der Erklärung zu realen und abstrakten Maschinen ab. Sehr schön beschrieben und ein schöner Exkurs zu Java & Co.
Auch mit dem zweiten Kapitel habe ich bereits begonnen, habe dort allerdings nur die ersten Seiten gelesen. Jetzt wird es auf jeden Fall erst einmal theoretischer, da es um die lexikalische Analyse geht. Dazu gehören auch reguläre Ausdrücke, reguläre Sprachen, sowie natürlich deterministische endliche Automaten und Zustandsdiagramme. Darauf freue ich mich schon, auch wenn ich einiges nachholen beziehungsweise auffrischen muss.
Mein Fortschritt
Gemessen an den reinen Seitenzahlen bin ich recht weit fortgeschritten. Ziemlich genau die Hälfte der ersten Kurseinheit ist durchgearbeitet. Allerdings behandelt das erste Kapitel hauptsächlich einführende Dinge. Theoretische Aspekte kommen erst jetzt im zweiten Kapitel. Da wird meine Bearbeitungsgeschwindigkeit sicherlich (stark) nachlassen. Allerdings werde ich wahrscheinlich auch mehr neue Dinge lernen.
Des Weiteren seht noch die erste Einsendeaufgabe an. Die möchte ich schon gerne bearbeiten und einschicken, wenn auch nur teilweise. Auch wenn die Bearbeitung nicht verpflichtend ist und keine Mindestpunktzahl erreicht werden muss. Mal schauen, wie die aktuelle Woche verläuft. Am Wochenende bin ich schon gut verplant, was mir aktuell ein bisschen Kopfzerbrechen bereitet.
Fazit
Ein wirklich gelungener Einstieg in die Materie und das Skript. Schön geschrieben, gut zu verstehen, aufgelockert und nicht langweilig. Bin gespannt, was noch kommt. Auch das Niveau ist ordentlich. Genau so, wie ich es von der FernUni Hagen gewöhnt war.
Angefixt bin ich allemal. Ob ich das Tempo halten kann, wird sich zeigen. Auch der Umfang dieser Berichte könnte stark schwanken. Allzu theoretische Dinge möchte ich hier nicht aufbereiten. Entschieden habe ich mich da aber noch nicht.
Als Erscheinungsdatum wird sich wohl der Dienstag nach der abgelaufenen Bearbeitungswoche durchsetzen. Den Beitrag noch am Montag zu schreiben, könnte schwierig werden. Insbesondere, wenn eine Einsendeaufgabe ansteht.
[…] Mittlerweile sind zwei Wochen vorbei, was in FernUni Hagen-Abschnitten bedeutet, dass die erste Kurseinheit abgeschlossen sein sollte. Das ist erfreulicherweise auch der Fall, wenn auch nicht ganz so, wie ich erwartet beziehungsweise gehofft hatte. Der erste Bericht steht in einem vorherigen Blogbeitrag. […]