[squeak-dev] [Pharo-dev] rewrite rule help

Eliot Miranda eliot.miranda at gmail.com
Sat Jun 2 02:54:59 UTC 2018


John, thanks!!

> On Jun 1, 2018, at 7:01 PM, John Brant <brant at refactoryworkers.com> wrote:
> 
>> On Jun 1, 2018, at 8:25 PM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>> 
>> Hi All,
>> 
>>    can anyone tell me why the following rules
>> 
>>    rules
>>        replace: '``@statements. interpreterProxy pop: ``@const. interpreterProxy pushInteger: ``@integer'
>>            with: '``@statements. interpreterProxy methodReturnInteger: ``@integer';
>>        replace: '``@statements. interpreterProxy pop: ``@const. ^interpreterProxy pushInteger: ``@integer'
>>            with: '``@statements. ^interpreterProxy methodReturnInteger: ``@integer'.
>> 
> 
> You need a “.” in your ``@statements (i.e., ``@.statements). The ``@ prefix matches any node, but ``@. will match a list of statements (0 or more). Currently, you are only matching sequence nodes with exactly 3 statements. You also need to add some temps in case the sequence node has temps:
> 
>    | `@temps |
>    ``@.statements.
>     interpreterProxy pop: ``@const. 
>    ^interpreterProxy pushInteger: ``@integer
> ->
>    | `@temps |
>    ``@.statements.
>    ^interpreterProxy methodReturnInteger: ``@integer
> 
> 
> John Brant
> 


More information about the Squeak-dev mailing list