Compilerbau 2
Sommersemester 2000

Lastenheft


$Author: lammers $

$Log: Lastenheft.html,v $
Revision 1.2  2000/04/11 12:33:33  lammers
Kleinigkeiten ergänzt

Revision 1.1  2000/04/11 10:46:50  lammers
Initial revision

    

Zielsetzung

Es soll ein Compiler-Baukastensystem erstellt werden, das die syntaktische Analyse, die Analyse der statischen Semantik und die Codeerzeugung für eine LR(1)-Sprache auf ein gegebenes Zielsystem durchführt. Als Anwendung und Test wird eine LR(1)-Sprache entworfen und ein Compiler dafür mit dem System generiert. Programme in dieser Sprache werden dann mit dem erzeugten System kompiliert und auf dem Zielsystem getestet.
Die lexikalische Analyse wird dabei von einem existierende System (flex) übernommen.

Zielsystem

Das Zielsystem ist der am Fachbereich entwicklete von-Neumann-Rechner-Simulator (file:/share/info-3/)

Zielsprache

Die Zielsprache ist die am FB entworfenen MMS, allerdings werden noch Modifikationen notwendig sein. Wir setzen auf einen 3-Phasen Compiler, müssen also die Tokenklassen bzw. die zugehörigen regulären Ausdrücke und die darauf basierende Grammatik festlegen.

Funktionen

/LH10/
Generierung eines Syntaxanalysators aus einer LR(1)-Grammatik
/LH20/
Generierung von Simulatorcode aus der Ausgabe eines mit /LH10/ generierten Syntaxanalysators.
/LH25/
Analyse der Korrektheit der statischen Semantik.
/LH30opt/
Laufzeitsystem bereitstellen

Daten

/LD10/
reguläre Ausdrücke der Tokenklassen der MMS
/LD20/
LR(1)-Grammatik der MMS in systemlesbarer Form
/LD30/
Festlegung der informellen Semantik der MMS, soweit notwendig, in textueller Form

Benutzeroberfläche

Es reicht eine einfache, textuell zu bedienende Oberfläche. Die Compilerphasen der MMS sollten dann aber in einem Schritt durchlaufen werden können.

Tests / Einsatz

  1. Generierung des MMS-Compilers
  2. Einsatz des Compilers für mehrere Programme
  3. Test der erzeugten Programme auf dem Simulator
  4. Test des Verhaltens bei syntaktischen Fehlern
  5. Test des Verhaltens bei semantischen Fehlern

Qualitätsziele

Ziel ++ + +- -
Funktionalität x
Zuverlässigkeit X
Benutzbarkeit x
Effizienz X
Änderbarkeit X

Ergänzungen


Dietmar Lammers
Last modified: Wed May 3 11:42:47 MET DST 2000