Home General Staff Contact Partners Alumni Research Areas Projects Papers Books Reports Awards Teaching Lectures Exams B.Theses M.Theses PhD Theses Go Abroad Misc Talks Library Gallery Links Search Webmaster |
Erzeugung von CodeDOM-Syntaxbäumen aus C#-QuellcodeDieses Projekt ist als Bakkalaureatsprojekt (Studienkennzahl 521) gedacht (mit zusätzlicher Erfolgsprämie!). Im Rahmen eines Projektes [1] mit der Shared Source Implementierung der Common Language Infrastructure (CLI) (Codename Rotor) [2] wurde der Compilergenerator Coco/R [3] dahingehend erweitert, dass er nun nicht mehr nur LL(1)-Grammatiken verwenden, sondern auch Schritte zur Auflösung von LL(1)-Konflikten setzen kann. Für diese Version von Coco/R wurde auch eine attributierte Grammatik (ATG) für die Programmiersprache C# [4] entwickelt, aus der Coco/R einen vollständigen Top-Down-Parser für C#-Programme erzeugt. Durch Einfügen zusätzlicher semantischer Aktionen in diese Vorlage können nun beliebige Analyse- bzw. Compilerwerkzeuge für C#-Quellcode erzeugt werden. CodeDOM
CodeDOM (Code Document Object Model) [6][7][8] ist eine Technologie von
Microsoft, die dazu dient, die Struktur von Quellcodeprogrammen im Speicher
darzustellen. In der Klassenbibliothek des Microsoft .NET Frameworks [5] gibt
es eigene Namensräume, die CodeDOM unterstützen ( Ziel
Das Ziel dieser Arbeit ist es, die C#-Grammatik-Vorlage so zu attributieren
und mit semantischen Aktion zu versehen, dass der daraus generierte Parser aus
C#-Programmen eine CodeDOM-Repräsentation erzeugt (Der Parser soll das
Interface Außerdem soll in der schriftlichen Arbeit CodeDOM genau beschrieben und eventuell mit ähnlichen Technologien verglichen werden. Referenzen[1] SSCLI-Project: Compiler Generation Tools for C#[2] .NET Rotor (SSCLI) [3] Compiler Generator Coco/R [4] C# Language Specification [5] Microsoft .NET Development [6] Steinert, A.: Bring the Power of Templates to Your .NET Applications with CodeDOM NamespaceCodeDOM [7] Korzeniowski, B.J.: Microsoft .NET CodeDom Technology – Part 1, 2, 3. [8] Perry, N.: A Definition of the CodeDOM Abstract Language Betreuer: Dipl.-Ing. Albrecht Wöß Beginn der Arbeit: 17. März 2003 Abgabe: 1. Juli 2003 Bearbeiter: Peter Niederwieser Weil dieses Projekt eine Demoapplikation unseres SSCLI-Projektes [1] ist, können wir für die erfolgreiche und termingerechte Abwicklung auch eine Prämie auszahlen!!! |