Fwd: [Newcompiler] The decompiler for the old block is ready to test

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Fwd: [Newcompiler] The decompiler for the old block is ready to test

Stéphane Ducasse-3


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
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Fwd: [Newcompiler] The decompiler for the old block is ready to test

Nicolas Cellier-3
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
>>
>>
>>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Newcompiler] The decompiler for the old block is ready to test

Mathieu SUEN
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