Universität München,

Institut für Informatik,

Lehr- und Forschungseinheit für Programmierung und Softwaretechnik


FORTGESCHRITTENENPRAKTIKUM:


Einsatz von Sun's Java Compiler Compilers (JCC) zur Erstellung von Parse-Trees am Beispiel der Sprache LEGO

Inhalt:

JavaCC ist ein Tool der Firma Sun Microsystems , daß aus einer kontextfreien Grammatik in geeigneter Form einen Compiler in Java-Quellcode erstellt, welcher diese Grammatik verarbeiten kann. Da diese Funktionalität den gängigen Compiler-Generator Tools LEX und YACC entspricht, sollen insbesondere die Unterschiede zwischen den beiden Ansätzen kurz beschrieben werden.
Zur Zeit läßt JavaCC keine linksrekursiven Grammatiken zu. Diese werden erst in einem späteren Release erlaubt sein. Deshalb soll in der Arbeit ein geeignetes Tool entwickelt werden, daß eine Grammatikbeschreibung mit linksrekursiven Produktionsregeln in eine äquivalente rekursionsfreie Grammatik übersetzt.
Um später einmal in Quellcode-Archiven auch nach Programmstrukturen suchen zu können, soll ein geeignetes Verfahren für die persistente Speicherung von Parse-Bäumen enwickelt werden. Ebenso soll es möglich sein, einen derart abgelegten Parsebaum in geeigneter Weise darstellen zu können.
Der gesamte Ablauf soll dann am Beispiel von LEGO Quellcode demonstrierbar sein.

Voraussetzungen:

Aufgabensteller:

Prof. Dr. Martin Wirsing

Information/Betreuung:

Dr. Bernhard Reus

Literatur:

Introduction into automata theory, languages and computation, John E. Hopcroft, J.D. Ullman, Addison-Wesley, 1979. LEGO-Dokumentation, JavaCC-Dokumentation.

Bearbeiter:

Alfred Waas

Fertigstellung :

Ende SS'97
( Bernhard Reus 22.05.97)