Visuelle Syntax-Werkzeuge
 

 
Gläserne Compiler Nützliche Quellen

Viele Programmierer haben nur eine rudimentäre Vorstellung davon, was in den von ihnen verwendeten Compilern intern abläuft - sie wollen und brauchen es auch gar nicht zu wissen. Andere dagegen würden vielleicht ganz gerne einmal ihr Hauptwerkzeug bei der Arbeit beobachten, etwa in der Art, wie man den Ablauf eines Programms mit Hilfe eines Debuggers verfolgt.

Genau für diesen Zweck haben wir unsere visuellen Compiler-Compiler entwickelt. Wie andere Compiler-Compiler erzeugen sie aus geeigneten Sprachbeschreibungen Compiler. Allerdings mit dem Unterschied, dass die hier generierten Compiler "durchsichtig" sind: In einem Fenster zeigen sie laufend ihren internen Zustand. Mit der Maus kann man sie vorwärts und rückwärts steuern, in Einzelschritten oder gezielt an eine bestimmte Stelle. Und während der Arbeit kann man jederzeit die Steuerinformationen einsehen, welche die Verarbeitung kontrollieren.

Hintergrundinformationen dazu in den Quellen rechts sowie bei den "technischen Kenndaten" und den Beschreibungen der Werkzeuge unten!

Lesen Sie ...

  • ... warum auch für Sie Syntaxwerkzeuge nützlich sein können in [ Motivation ]
  • ... mehr über typische Anwendungsbeispiele im [ Beispielband ]
  • ... was man über Syntaxwerkzeuge wissen sollte im [ Tutorial ]
  • ... wie gut Sie sich in diesem Gebiet auskennen im [ Fragenkatalog ]
  • ... eine ausführliche Darstellung der Grundlagen und Anwendungsmöglichkeiten im [ Online-Buch ] rechts

[Zurück zur Übersicht]
 
Aufbau von Compiler-Compilern Technische Kenndaten

Unsere Compiler-Compiler enthalten jeweils

  • ... einen Scannergenerator
  • ... verschiedene Parsergeneratoren, mit denen alle gängigen Arten von Parsern (LL(1), LR(0), SLR(1), LALR(1) und LR(1)) erzeugt werden können
  • ... zwei Attributauswertergeneratoren für die datengetriebene bzw. die bedarfsgetriebene Attributauswertung

Syntaxgesteuerte Spezialeditoren erleichtern die Eingabe der Definitionen: Reguläre Tokendefinitionen beim Scanner, kontextfreie Grammatik beim Parser und Attributierung beim Auswerter.

Visuelle Debugger sorgen für den gewünschten "Durchblick" beim Testen der erzeugten Compilerkomponenten. Eine Besonderheit hierbei:

  • Parser kann man auch nichtdeterministisch betreiben, wobei die benötigten Entscheidungen entweder vom Benutzer erfragt oder per Backtracking durchprobiert werden.

[Zurück zur Übersicht]
 
Alles über Jaccie Alles über SIC

Der Name Jaccie steht für Java-basierter Compiler-Compiler mit interaktiver Entwicklungsumgebung. Jaccie wird seit 1995 im Rahmen von Studien- und Diplomarbeiten von Studenten entwickelt und ausgebaut. Derzeit entspricht der Leistungsumfang etwa dem des Prototypen SIC (siehe rechts).

Zu Jaccie gibt es schon reichlich Dokumentation:

  • Das [ Jaccie-Handbuch ] erläutert ausführlich die Installation und die Handhabung von Jaccie.
  • Die Sammlung kleiner, typischer Anwendungsbeispiele im [ Jaccie-Beispielband ] ist von Studenten im Rahmen von Hausaufgaben ausgearbeitet worden.
  • Ebenfalls von Studenten ausgearbeitet wurde die Jaccie-Version des Projekts [ miniDoc ]. Eine ausführliche Beschreibung findet man im Kapitel 7 des [ Online-Buchs ].

Das Jaccie-System in Form eines jar-Files können Sie nebst Beispielen, Projekt und kompletter Dokumentation (bzw. Teilen davon) von der [[ Download-Seite ]] herunterladen.

Der Name SIC steht für Smalltalk-basierter interaktiver Compiler-Compiler. SIC wurde von 1989 bis 1995 im Rahmen von ca 20 Studien- und Diplomarbeiten entwickelt. SIC wurde auf den internationalen Tagungen STACS'91 und OOPSLA'92 präsentiert und 1991 auf dem CIP-Kongress in Berlin mit dem deutschen Hochschul-Software-Preis der ASK ausgezeichnet. Das aktuelle SIC95 dient als Prototyp für die Entwicklung von Jaccie (siehe links).

Zu SIC gibt es folgende Dokumentation:

  • Das [ SIC-Handbuch ] erläutert ausführlich die Installation und den Gebrauch von SIC sowie viele mit SIC entwickelte Beispiele (u.a. miniDoc aus dem [ Online-Buch ]). Die (englische!) Kurzfassung [ SIC-Kurzanleitung ] stellt auch die Sprache Smalltalk vor, soweit das zum Verständnis nötig ist.
  • Der oben schon erwähnte [ Beispielband ] enthält i.W. SIC-Beispiele.

Das SIC-System in Form von VisualWorks-Paketen können Sie nebst Beispielen und Handbuch von der [[ Download-Seite ]] herunterladen.

[Zurück zur Übersicht]
 

Wie Sie uns erreichen

Wenn Sie ...

  • ... Fragen zur Verwendung unserer Werkzeuge haben,
  • ... Fehler melden oder Verbesserungen vorschlagen wollen,
  • ... eigene Beispiele zur Verfügung stellen
  • ... oder einfach Kontakt aufnehmen möchten,
dann schreiben Sie bitte an Dr. Lothar Schmitz

[Zurück zur Übersicht]
 

Erstellt am 18.07.2004