Softwareprojekt Übersetzerbau 2013
(19517e)
Typ | Projekt |
---|---|
Dozent/in | Prof. Dr. Elfriede Fehr (a.D.), Till Zoppke |
Semester | Sommersemester 2013 |
Veranstaltungsumfang | 4 SWS |
Raum | Takustraße 9, SR 049 |
Beginn | 11.04.2013 | 14:00 |
Links
- Kickoff-Folien
- Java-Bytecode
- LLVM
- Interface: Lexer und Parser
- Interface: Symboltabelle und Quadrupel
- Interface: Backend
- JUnit
- Milestone 1: fuc
- Milestone 1: javabite
- Statische Codeanalyse
- Eclipse Plugin
- Milestone 2: fuc
- Milestone 2: javabite
- Refactoring
- JGraphX
- Continuous Integration
- GUI Testautomatisierung
- Test Driven Development
- Git internals
- Milestone 3: Javabite
- Milestone 3: fuc
Softwareprojekt Übersetzerbau
Im Softwareprojekt Übersetzerbau entwickeln wir in zwei Gruppen von 12-15 TeilnehmerInnen einen modularen Compiler für eine einfache Programmiersprache. Zunachst einigen wir uns auf die Schnittstellen zwischen den Modulen (Lexer, Parser, Codegenerator, Backend). Anschließend implementiert jede Gruppe ihren eigenen, vollständigen Compiler. Das Backend der einen Gruppe soll Java-Bytecode erzeugen, für das andere Backend wird das Target noch festgelegt. Neben dem eigentlichen Compiler sollen auch Module zur Visualisierung z.B. eines abstrakten Syntaxbaumes oder eines Flussgraphen implementiert werden. Ein Einsatz der Software als Toolkit für die Vorlesung Übersetzerbau ab WS 2013/14 ist vorgesehen. Wir programmieren in Java.
Ressourcen
Terminplanung
Dr. Garbage
Mit der Tool-Suite Dr. Garbage von Prof. Sergej Alekseev und Sebastian Reschke lässt sich ByteCode visualisieren und analysieren. Für uns sind besonders der ByteCode-Editor und der Operanden-Stack interessant. Dazu in Eclipse unter "Help --> Install new Software" in das Feld "work with" folgende URL eingeben: https://sourceforge.net/projects/drgarbagetools/files/eclipse/4.2/beta/plugins/Den Bytecode-Visualizer bzw. -Editor öffnet man, indem man im Navigator ("Window --> Show View --> Navigator") zum Class-File navigiert, und dann über rechte Maustaste/ Kontextmenu den Eintrag "Open with" anwählt. Dort sollten dann die beiden Tools aufgeführt sein, wenn das Plugin erfolgreich installiert ist. Unter "Window --> Show View --> Other" finden sich zwei weitere Tools, der Control-Flow-Graph und der Operand-Stack.