Language Translation Tools

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

Language Translation Tools

andre
Hi everyone,

do any frameworks or tools exist for VisualWorks that could help port an application (some 80+ classes only) to Objective-C++ and/or C++0x ? I'm not looking for a complete solution, just something that can save me creating hundreds of files and class skeletons by hand.

Smalltalk is forbidden on iOS by Apple. Even if it would be allowed, I doubt I could get the VM compiled for that platform. Therefore I need a port.

I can imagine that associating every instance variable with a type (class) could already be sufficient to do the type inferencing for all methods. Although I have no detailed idea yet how to map both languages. It is certainly not worth the effort to brew my own solution anyway. So some already existing tool would be really nice.

Any hint is appreciated.

Andre



_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: Language Translation Tools

stephane ducasse-2
> Hi everyone,
>
> do any frameworks or tools exist for VisualWorks that could help port an application (some 80+ classes only) to Objective-C++ and/or C++0x ? I'm not looking for a complete solution, just something that can save me creating hundreds of files and class skeletons by hand.
>
> Smalltalk is forbidden on iOS by Apple. Even if it would be allowed, I doubt I could get the VM compiled for that platform. Therefore I need a port.

This is not true. Smalltalk is not forbidden. This is JIT and self modifying code.

DrGeoII is going today to the AppStore.

> I can imagine that associating every instance variable with a type (class) could already be sufficient to do the type inferencing for all methods. Although I have no detailed idea yet how to map both languages. It is certainly not worth the effort to brew my own solution anyway. So some already existing tool would be really nice.
>
> Any hint is appreciated.
>
> Andre
>
>
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: Language Translation Tools

Paul Baumann
In reply to this post by andre
I wrote one and it is open source, but it is about 15 years old. It parses Smalltalk to nodes that are then able to print in formatted Smalltalk or Java syntax code. The nodes could even be wrapped to look like a CompiledMethod and executed. One of the uses was to allow VAST runtime images to be patched in compliance with VA license restrictions (at the time) that restricted the compiler from being part of a runtime image. It was named something like "Runtime Packager" but it is the parsing and node functionality of it is what you'd find useful.

The problem is finding that code. It was originally written for VA and VW when it ran on ENVY/Developer. I recall it recognized all the various dialect-specific namespace syntax conventions too. Search engines still return some search results for it but I didn't see any of the original websites that hosted the code. If you really need it then I'll look for it at home and send it to you.

It was fast and should cleanup without much trouble. It has two ways to generate code. The original (and best) was to have the nodes write themselves. The Visitor pattern of the Design Patterns book looked interesting so I implemented it that way too (and later reduced to be more like a Strategy).

It was fun code to work on way back then but the need for it went away after license restrictions were relaxed. The node graph could be serialized using SRP to be more space compact than native bytecodes. I'd wanted to make it part of cross-dialect code repository solution and add dialect-specific source translation directly off the data stream. There wasn't enough interest in cross-platform tools and Store was already on the drawing board for VW.

Paul Baumann




-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of andre
Sent: Thursday, August 16, 2012 14:51
To: [hidden email] list
Subject: [vwnc] Language Translation Tools

Hi everyone,

do any frameworks or tools exist for VisualWorks that could help port an application (some 80+ classes only) to Objective-C++ and/or C++0x ? I'm not looking for a complete solution, just something that can save me creating hundreds of files and class skeletons by hand.

Smalltalk is forbidden on iOS by Apple. Even if it would be allowed, I doubt I could get the VM compiled for that platform. Therefore I need a port.

I can imagine that associating every instance variable with a type (class) could already be sufficient to do the type inferencing for all methods. Although I have no detailed idea yet how to map both languages. It is certainly not worth the effort to brew my own solution anyway. So some already existing tool would be really nice.

Any hint is appreciated.

Andre



_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc


This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc