Scripting a Refactoring with Rascal and Eclipse
Mark Hills, Paul Klint, & Jurgen J. Vinju Fifth Workshop on Refactoring Tools 2012 June 1, 2012 Rapperswil, Switzerland
http://www.rascal-mpl.org
Friday, June 15, 2012
Scripting a Refactoring with Rascal and Eclipse Mark Hills, Paul - - PowerPoint PPT Presentation
Scripting a Refactoring with Rascal and Eclipse Mark Hills, Paul Klint, & Jurgen J. Vinju Fifth Workshop on Refactoring Tools 2012 June 1, 2012 Rapperswil, Switzerland http://www.rascal-mpl.org Friday, June 15, 2012 Overview A Brief
Friday, June 15, 2012
2
Friday, June 15, 2012
3
Friday, June 15, 2012
4
Friday, June 15, 2012
5
Friday, June 15, 2012
6
Friday, June 15, 2012
7
Friday, June 15, 2012
8
Friday, June 15, 2012
9
Legend Extract Analyze Synthesize
Extract Facts Preparatory Transformations Transform Methods Generate Interpreter Classes Clean New Code Remove Old Methods
Rascal Source Code
V2I Analysis
Visitor Code Entities Visitor Classes Visitor Methods Fields Used in Visitors Methods Used in Visitors Transformed Interpreter Code Transformed Visitor Code Data
Transformation Process Analysis Process
Analysis Info Flow Source Code Flow Visitor Interfaces
Friday, June 15, 2012
10
Friday, June 15, 2012
11
Legend Extract Analyze Synthesize
Extract Facts Preparatory Transformations Transform Methods Generate Interpreter Classes Clean New Code Remove Old Methods
Rascal Source Code
V2I Analysis
Visitor Code Entities Visitor Classes Visitor Methods Fields Used in Visitors Methods Used in Visitors Transformed Interpreter Code Transformed Visitor Code Data
Transformation Process Analysis Process
Analysis Info Flow Source Code Flow Visitor Interfaces
Friday, June 15, 2012
12 Legend Extract Analyze Synthesize
Extract Facts Preparatory Transformations Transform Methods Generate Interpreter Classes Clean New Code Remove Old Methods
Rascal Source Code
V2I Analysis
Visitor Code Entities Visitor Classes Visitor Methods Fields Used in Visitors Methods Used in Visitors Transformed Interpreter Code Transformed Visitor Code Data
Transformation Process Analysis Process
Analysis Info Flow Source Code Flow Visitor Interfaces
Friday, June 15, 2012
13
Legend Extract Analyze Synthesize
Extract Facts Preparatory Transformations Transform Methods Generate Interpreter Classes Clean New Code Remove Old Methods
Rascal Source Code
V2I Analysis
Visitor Code Entities Visitor Classes Visitor Methods Fields Used in Visitors Methods Used in Visitors Transformed Interpreter Code Transformed Visitor Code Data
Transformation Process Analysis Process
Analysis Info Flow Source Code Flow Visitor Interfaces
Friday, June 15, 2012
14
Friday, June 15, 2012
15
Legend Extract Analyze Synthesize
Extract Facts Preparatory Transformations Transform Methods Generate Interpreter Classes Clean New Code Remove Old Methods
Rascal Source Code
V2I Analysis
Visitor Code Entities Visitor Classes Visitor Methods Fields Used in Visitors Methods Used in Visitors Transformed Interpreter Code Transformed Visitor Code Data
Transformation Process Analysis Process
Analysis Info Flow Source Code Flow Visitor Interfaces
Friday, June 15, 2012
16
Friday, June 15, 2012
17
Friday, June 15, 2012
18
Friday, June 15, 2012
19
Friday, June 15, 2012
20
Friday, June 15, 2012
21
Friday, June 15, 2012
22
Friday, June 15, 2012
23
Friday, June 15, 2012
24
Friday, June 15, 2012