I don't see any french text. Just a PDF of a blog article I wrote, the
LaTeX source of the program-checking paper, and an empty LaTeX
template.

Lukas

On 4 November 2010 13:30, Stéphane Ducasse <[email protected]> wrote:
> Normally I added some text in french :(
> do not pay attention too much on the style
> dump information and like that we can get material to work on
> I think that having examples is the key point to get started.
>
>
>>
>> On 4 November 2010 10:09, Stéphane Ducasse <[email protected]> wrote:
>>> I'm adding some other files (in french) :(
>>> but I'm stuck with git....
>>
>> git pull
>> git add french-rewrite.tex
>> git commit
>> git push
>>
>>>> Yeah, where do I find that chapter?
>>>>
>>>> There is a section on the AST matching/search in my PhD as Helvetia
>>>> builds on top of it. Not on the AST rewriting though, Helvetia uses a
>>>> different mechanism there. Still it might be a good start.
>>>>
>>>> Lukas
>>>>
>>>> On 4 November 2010 09:49, Stéphane Ducasse <[email protected]> 
>>>> wrote:
>>>>> lukas
>>>>>
>>>>> I would love to have a chapter on Rules. I have a starter that I wrote 
>>>>> long time ago for the squeak french book
>>>>> but it would be cool if you could add to it.
>>>>>
>>>>> Stef
>>>>>
>>>>> On Nov 4, 2010, at 12:55 AM, Lukas Renggli wrote:
>>>>>
>>>>>>> If I try to match it like:
>>>>>>>  '`...@browser showOn: `...@target; from: `...@origin; using: [ 
>>>>>>> `...@browser `[email protected]]'
>>>>>>
>>>>>> The match expression
>>>>>>
>>>>>>   �...@browser `[email protected]
>>>>>>
>>>>>> doesn't make sense. Statements (.) cannot be a message selector that
>>>>>> would be expected after a receiver. Also, you cannot have a selector
>>>>>> list (@) if you don't give also an argument list to match. So the
>>>>>> closest valid thing is
>>>>>>
>>>>>>   �...@browser `message
>>>>>>
>>>>>> which looks for unary message sends (recursive is not necessary here
>>>>>> either, because there is nothing to recurse into), or
>>>>>>
>>>>>>   �...@browser `...@message: `...@message
>>>>>>
>>>>>> which looks for arbitrary message sends and recursively into all 
>>>>>> arguments.
>>>>>>
>>>>>>> It seems to only get those appearances which contain a single 
>>>>>>> appearance of browser inside the block.
>>>>>>
>>>>>> As I wrote in the previous mail you need to do it with nested
>>>>>> rewrites. Inside the block you match for any sequence of statements:
>>>>>>
>>>>>>   �[email protected]
>>>>>>
>>>>>> And as replacement you use the `{ :context | ... } trick to perform a
>>>>>> new rewrite somehow along the following untested lines:
>>>>>>
>>>>>>    `{ :context |
>>>>>>        RBParseTreeRewriter new
>>>>>>            " replace whatever matched to `...@browser with the variable 
>>>>>> a "
>>>>>>            replaceTree: (context at: '`...@browser') with: (RBParser
>>>>>> parseExpression: 'a');
>>>>>>            " execute on the list of statements "
>>>>>>            executeTree: (context at: '`[email protected]');
>>>>>>            " return the rewritten tree "
>>>>>>            tree }
>>>>>>
>>>>>> Cheers,
>>>>>> Lukas
>>>>>>
>>>>>> --
>>>>>> Lukas Renggli
>>>>>> www.lukas-renggli.ch
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Lukas Renggli
>>>> www.lukas-renggli.ch
>>>>
>>>
>>>
>>>
>>
>>
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>
>
>



-- 
Lukas Renggli
www.lukas-renggli.ch

Reply via email to