Compiler Visualisierung: Parsing

Studienarbeit / Bachelorarbeit

In der Lehre im Bereich Programmiersprachen und Übersetzer mangelt es oft an der Möglichkeit, Sachverhalte visuell ansprechend und anschaulich zu demonstrieren. Obwohl für die zugrundeliegenden Kalküle anschauliche Darstellungen existieren, z.B. in Form von Diagrammen endlicher Automaten, Kellerautomaten, Bäumen, werden solche Darstellungen im Produktiv-Betrieb nicht benötigt und daher nicht erzeugt. Für Lehr- und Demonstrationszwecke sind solche Visualisierungen dagegen sehr hilfreich, gerade wenn sie nicht nur statisch sind, sondern während der Eingabeverarbeitung animiert "in Aktion" gezeigt werden.

In dieser Arbeit soll ein solches Compiler-Animationswerkzeug für den Bereich der syntaktischen Analyse entwickelt werden. Die Arbeit soll im Eli-System eingebettet werden. Eli ist ein Werkzeugsystem zum Entwurf und zur Implementierung von Programmiersprachen und anwendungsspezifischen Sprachen. Eli enthält zahlreiche generierende Werkzeuge und Bibliotheken, die die Lösung von Übersetzungsaufgaben systematisieren und den Herstellungsprozeß von Sprachimplementierungen automatisieren.

Die Integration der Animationskomponente in ein Compiler-generierendes System hebt diese Arbeit von anderen Arbeiten zur Compiler-Visualisierung ab. In der Regel werden visuelle Demonstratoren nur für feste Sprachen und Compiler entwickelt und nicht durch Generatoren erzeugt.

Zur Implementierung der syntaktischen Anaylyse spezifiziert ein Eli-Benutzer die konkrete und die abstrakte Sytnax der zu implementierenden Sprache. Ein Parser-Generator generiert daraus einen tabellen-getriebenen Syntax-Analysator. An den Parser-Treiber muß die zu entwickelnde Visualisierungskomponente angeschlossen werden.

Zu den Aufgaben dieser Arbeit gehören

  • Untersuchung verwandter Arbeiten zur Visualisierung im Übersetzerbereich.
  • Entwurf der Visualisierungs-Komponente, insbesondere die Berechnung des Layouts des LR-Automatendiagramms, die Animation von Automatenkeller, Token-Eingabe und Darstellung der semantischen Aktionen zum Baumaufbau.
  • Anpassung des Parser-Generators zur Ankopplung der Visualisierungs-Komponente.

Bearbeiterin: Helena Deck

Ansprechpartner: Peter Pfahler

Impressum | Webmaster | Letzte Änderungen am : 16.10.2013