[CB-Logo]

Compilerbau II - Bericht Scanner - KW 21


[Compilerbau II] [Grammatik] [Gruppen] [Pflichten Scanner] [Pflichten Parser] [Pflichten CodeGen]

Im Verlaufe der letzten Woche haben wir uns mehrmals getroffen und haben folgende Ergebnisse erzielt:

  1. Im Rahmen aller vier Mitglieder der Scanner-Gruppe wurde vereinbart, den Scanner-Generator in Pascal zu programmieren und den zugehörigen Pascal-Compiler der UNIX-Workstations zu benutzen, der mit pc aufgerufen wird.
  2. Veraussichtlich wird der gelieferte Scanner dann ein C-Programm sein. Darüber werden sich Martin und Christoph in den nächsten zwei Wochen noch einigen.

  3. Weiterhin sind wir uns darüber einig, daß wir die im Pflichtenheft angesprochene Datei mit den Regulären Ausdrücken und zugehörigen Tokenklassen der MML-Sprache in folgender Weise anfertigen werden: Die auftretenden Regulären Ausdrücke werden in Postfixnotation angegeben, d.h. jegliche Klammern werden entfallen. Ein Regulärer Ausdruck der Form ((a+b)°c)* wird in Postfixnotation folgendermaßen aussehen : ab+c°*. Die Datei wird veraussichtlich folgendes Format erhalten:
  4. "Tokenklassennummer" : "Regulärer Ausdruck in Postfixnotation" EndofLine

    Bsp.: 1 : pr°o°g°r°a°m°m°

    2 : b°e°g°i°n°

    Von Gruppe CodeGen erwarten wir immer noch die Tabelle mit den numerierten Tokenklassen!!!

    Die letzendlich genaue Form dieser Datei wird Roman in nächster Zeit festlegen, angelegt wird Sie dann von Christoph.

  5. Um die Arbeit gut aufteilen zu können ohne dabei viele Schnittstellen zu bekommen, haben wir uns darauf geeinigt, alle Zwischenergebnisse im Bezug auf den Endlichen Automaten in Dateien abzuspeichern.

So haben wir die Möglichkeit, getrennt unsere Prozeduren zu schreiben.

Den Nachteil der Laufzeitoptimierung nehmen wir dafür in Kauf.

Im folgenden haben wir uns folgende Aufgabenverteilung ausgedacht:

 

NDEA in einen DEA umwandelt. Dieser DEA wird ebenfalls in einer Datei abgespeichert.

  1. Die gemeinsame Schnittstelle zwischen Roman und Wilm wird im Verlaufe der nächsten Woche verhandelt werden. Dabei geht es hauptsächlich darum, wie die von Roman gelieferte Datei aussehen wird.
  2. Ebenso wird die Schnittstelle zwischen Wilm und dem Duo Martin/Christoph behandelt.

  3. Weiterhin haben wir uns noch überlegt, ein übergeordnetes Program " ScannerGenerator " zu schreiben, welches auf die einzelnen Prozeduren zugreift.
  4. Zudem wird dieses Program die individuelle EA-Prozedur, welche im jeweiligen Fall den passenden DEA simulieren soll, in ein vorgefertigtes unvollständiges C-Programm "Scanner" kopieren. Um diese Problem bemühen sich wie gesagt Martin und Christoph.

  5. In dem Duo Martin/Christoph erfolgte folgende Aufgabenaufteilung:
  6. Christoph schreibt das unvollständige C-Programm "Scanner", welches als Rahmen für den jeweiligen Scanner einer bestimmten Sprache dient. Die Prozedur, die individuell den DEA liefert, wird im jeweils vorliegenden Fall in dieses C-Programm hineinkopiert.

    Über die gemeinsame Schnittstelle, die beim Aufruf einer Prozedur EA (z.Bsp. Parameter und geliefertes Ergebnis) zu finden ist, werden sich Martin und Christoph in den nächsten Wochen Gedanken machen.

  7. Über die Realisierung der einzelnen Aufgaben wird in den nächsten Wochen berichtet.
  8. Dieser Zwischenbericht dient als schriftliche Festsetzung der Aufgabenaufteilung innerhalb der Scannergruppe und wird von allen Teilnehmern freiwillig unterschrieben.
  9. Für jegliche Unklarheiten von dritter Seite her stehen alle vier Scannermitglieder Tag und Nacht zu Verfügung.
  10. Internetsurftip: http://www.geocities.com/colosseum/6854 (muß man gesehen haben!!)

 

______________ _______________ _______________ _______________

Roman Sauer Wilm Schomburg Martin Schneiders Christoph Mertens


IfI Mathe WWU
Dietmar Lammers
Last modified: Tue Jun 9 14:51:29 MET DST 1998