Begin forwarded message: > From: Mathieu Suen <[hidden email]> > Date: 10 novembre 2007 01:28:21 HNEC > To: "The New Compiler, AST, IRBuilder, Closures..." > <[hidden email]> > Subject: [Newcompiler] The decompiler for the old block is ready to > test > Reply-To: "The New Compiler, AST, IRBuilder, Closures..." > <[hidden email]> > > Hi All, > > I have recently made some changes in the decompiler and now the > image can decompile. > This time the decompiler tests the equality of the method decompile > and the original method to see if they match. > If you take a 3.10 image all the image could be decompiled.(Except > for method with undefined class. see ScriptLoader>>unloadToolPlus > for an example) > > The latest version can be load either from the univers browser or > from squeaksource: > http://www.squeaksource.com/NewCompiler > > If you load from squeaksource we provide you a package loader. Load > the NewCompilerLoader and execute: > > NewCompilerLoader new loadPackages. > > This loads all the needed dependencies > > Remember the dependency are: > - NewParser > - AST > - SmaCC > - RefactoringEngine > > Mth > > > |
While inlining repeat loop is a very easy task, having the decompiler
understand that construct is a nightmare. That is because all the logic is in jump:if: while repeat loops require only a jump: ... So I think i should have a look at Mat's work Nicolas Stéphane Ducasse a écrit : > > > Begin forwarded message: > >> From: Mathieu Suen <[hidden email]> >> Date: 10 novembre 2007 01:28:21 HNEC >> To: "The New Compiler, AST, IRBuilder, Closures..." >> <[hidden email]> >> Subject: [Newcompiler] The decompiler for the old block is ready to test >> Reply-To: "The New Compiler, AST, IRBuilder, Closures..." >> <[hidden email]> >> >> Hi All, >> >> I have recently made some changes in the decompiler and now the image >> can decompile. >> This time the decompiler tests the equality of the method decompile >> and the original method to see if they match. >> If you take a 3.10 image all the image could be decompiled.(Except for >> method with undefined class. see ScriptLoader>>unloadToolPlus for an >> example) >> >> The latest version can be load either from the univers browser or from >> squeaksource: >> http://www.squeaksource.com/NewCompiler >> >> If you load from squeaksource we provide you a package loader. Load >> the NewCompilerLoader and execute: >> >> NewCompilerLoader new loadPackages. >> >> This loads all the needed dependencies >> >> Remember the dependency are: >> - NewParser >> - AST >> - SmaCC >> - RefactoringEngine >> >> Mth >> >> >> > > > |
On Nov 10, 2007, at 10:30 PM, nicolas cellier wrote:
> While inlining repeat loop is a very easy task, having the > decompiler understand that construct is a nightmare. > That is because all the logic is in jump:if: while repeat loops > require only a jump: ... > So I think i should have a look at Mat's work Yeap! but the hardest part is optimization. This because when you found a way to decompile it you break how an other decompiles. I think what could help is to have a bytecode parser. And you can write a grammer like: MessageSend: (push)* send; Block: pushThisContext sendBlockCopy jumpOverTheBlock statements; ... > > Nicolas > > Stéphane Ducasse a écrit : >> Begin forwarded message: >>> From: Mathieu Suen <[hidden email]> >>> Date: 10 novembre 2007 01:28:21 HNEC >>> To: "The New Compiler, AST, IRBuilder, Closures..." >>> <[hidden email]> >>> Subject: [Newcompiler] The decompiler for the old block is ready >>> to test >>> Reply-To: "The New Compiler, AST, IRBuilder, Closures..." >>> <[hidden email]> >>> >>> Hi All, >>> >>> I have recently made some changes in the decompiler and now the >>> image can decompile. >>> This time the decompiler tests the equality of the method >>> decompile and the original method to see if they match. >>> If you take a 3.10 image all the image could be decompiled. >>> (Except for method with undefined class. see >>> ScriptLoader>>unloadToolPlus for an example) >>> >>> The latest version can be load either from the univers browser or >>> from squeaksource: >>> http://www.squeaksource.com/NewCompiler >>> >>> If you load from squeaksource we provide you a package loader. >>> Load the NewCompilerLoader and execute: >>> >>> NewCompilerLoader new loadPackages. >>> >>> This loads all the needed dependencies >>> >>> Remember the dependency are: >>> - NewParser >>> - AST >>> - SmaCC >>> - RefactoringEngine >>> >>> Mth >>> >>> >>> > > Mth |
Free forum by Nabble | Edit this page |