The idea is very simple:
We want to change some code in a programmatic way
In order to do this, first we want to match the code we want and then change it.
Many times we want to match an expression having different information: about the selector, about the source code (temporary vars, statements).
- all the methods with 2 arguments,
- all methods called in a particular way
- a method containing a specific statement.
The first conclusion is that we want a flexible way for matching.
In order to do transformations sometimes we want to refer to the existing code, sometimes this expressions are very complex.
My goal for this time is to develop tools to make simple writing searching patterns and easier writing transformations.
Here I will write about my GSoc project: Better rewriting rule tools implemented in Pharo Smalltalk, about the experience and progress.