XML |
ist ein flexibles Format zur Darstellung und Verarbeitung von
Baumstrukturen. Das Parsen und Aufbauen von Bäumen kann mit
Standard-Werkzeugen realisiert werden.
Daher ist es sinnvoll für unterschiedliche Analysen von
Java-Programmen, zum Beispiel die Berechnung von Qualitäts-Kennzahlen und
zur grafischen Darstellung der Strukturen eines Programm, eine
XML-Zwischendarstellung zu benutzen.
|
Parser |
Die Analyse von Java-Quellen soll mittels eines Java-Parsers geschehen.
Hierzu ist eine
Java-Grammatik und ein Parser erzeugendes System, zum Beispiel JLex und CUP,
notwendig. Grammatiken für Java und Parser, die einen Syntaxbaum aufbauen,
stehen im Web zur Verfügung. Es soll als Quellsprache Java 1.4 unterstützt werden.
Man kann bei dieser Aufgabe von
fehlerfrei übersetzbaren Java-Programmen ausgehen, die Fehlerbehandlung
kann also sehr einfach gehalten werden.
|
|
|
Syntaxbaum |
Der erzeugte Syntaxbaum muss in ein
XML-Dokument transformiert werden. Hierzu ist es notwendig,
aus der Java-Grammatik eine geeignete XML-Dokument-Typ-Definition (DTD)
zu entwickeln und die Syntaxbäume entsprechend dieser DTD umzuformen.
|
|
|
Klassen und Pakete |
Das System soll sowohl für einzelne Klassen aus auch für ganze Pakete
einsetzbar sein. Für Pakete ist zu prüfen, ob man den Include-Mechanismus von XML-DTDs
nutzen kann.
|
Ausgabe |
Die Ausgabe des XML-Codes soll in einem lesbaren Format mit vernünftiger Einrückung erfolgen.
Die erzeugten Dokumente sollen validiert werden können.
|
|
|
Programmiersprachen und Werkzeuge |
Java 1.4, Parsergeneratoren (JLex / CUP oder JavaCC), Java XML Werkzeuge
|
|
|