ok I added the files this is better. stef On Nov 4, 2010, at 2:07 PM, Lukas Renggli wrote:
> There is a Data folder, but only the pdf of my blog is in there. > > Lukas > > On 4 November 2010 14:04, Stéphane Ducasse <[email protected]> wrote: >> no data folder? >> probably forgot the push >> >> RewriteRules ls >> Data/ RewriteRules.tex >> Lint.odt program-checking-paper.tex >> Lint.tex >> RewriteRules git push >> Everything up-to-date >> RewriteRules >> >> >> >> Stef >> >> On Nov 4, 2010, at 1:45 PM, Lukas Renggli wrote: >> >>> 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 >>> >> >> >> > > > > -- > Lukas Renggli > www.lukas-renggli.ch >
