Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gertrúd Schluckebier Geändert vor über 10 Jahren
1
A. Zündorf, SE Group Reverse Engineering K2 1 Reverse Engineering: Ziele Heute Compileransatz, die Zweite Findet UMLClass getName() Vorkommen Completion anbieten
2
A. Zündorf, SE Group Reverse Engineering K2 2 Erweiterte Symboltabelle
3
A. Zündorf, SE Group Reverse Engineering K2 3 Analyse der Methodenrümpfe genaue Syntaktische Struktur wird nicht benötigt (if, while, for,... können gleich behandelt / ignoriert werden Klammerung parsen ist wichtig Sondersymbole ignorieren methodBody ::= bracketExpr bracketExpr ::= ( "(" | "[" | "{" ) (token * ( nameExpr | bracketExpr ))* ( ")" | "]" | "}" ) nameExpr ::= name [ bracketExpr ] [. nameExpr ]
4
A. Zündorf, SE Group Reverse Engineering K2 4 Tipps zur Aufgabenstellung gebt als erstes zu jedem nameExpr das Element aus der Symboltabelle aus Dann einfach nur noch getName der Klasse UMLClass ausgeben Eventuell zwei Compilerläufe: –erster Lauf baut Symboltabelle –zweiter Lauf analysiert die nameExpr's Methodensignaturen ignorieren (getName hat keine Parameter) Lokale Variablen einfach wie Attribute in die Symboltabelle eintragen (eventuell Parameter auch) (eventuell merken und am Ende der Methode wieder löschen)
5
A. Zündorf, SE Group Reverse Engineering K2 5 Tipps zur Completion Methode proposeCompletions ließt Attribut toBeCompleted schreibt Vorschläge in possibleCompletions CompletionSnipIt.txt von der Web Seite holen Testen mit FWT GUI
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.