Ruby to Python translator

Hi all!
I’m thinking about implementing a ruby to python translator (this is a
program that takes a ruby program and generates its equivalent program
in python). In order to get started, I would like to know if there is
a ruby grammar implemented in python or with another tool.

The final idea for the project would be to run ruby code on the OLPC.

Can you give me any pointers?

Aureliano.

On Nov 15, 2007, at 10:37 , Aureliano C. wrote:

I’m thinking about implementing a ruby to python translator (this is a
program that takes a ruby program and generates its equivalent program
in python). In order to get started, I would like to know if there is
a ruby grammar implemented in python or with another tool.

None that I know of outside of ruby.

The final idea for the project would be to run ruby code on the OLPC.

Why not run ruby on OLPC? Just to avoid the extra install?

On Nov 15, 7:37 pm, Aureliano C. removed_email_address@domain.invalid wrote:

Hi all!
I’m thinking about implementing a ruby to python translator (this is a
program that takes a ruby program and generates its equivalent program
in python). In order to get started, I would like to know if there is
a ruby grammar implemented in python or with another tool.

You might have a look at the “Ruby top down Grammar” project. It is a
hosting language neutral Ruby grammar. You might translate that
grammar
to a Python recursive descent parser or interprete the grammar from
some
Python code. If you know Python well that should be doable in a few
days
time. Be warned that you would be the first client of this grammar.

On Nov 16, 2007 8:57 AM, Michael N. removed_email_address@domain.invalid wrote:

It should be easier to compile Ruby to Python than it is for compiling Ruby to
Javascript.

From what I’ve heard and seen of Javascript, I’m not sure that the
opposite isn’t true.

Javascript gets much less credit than it deserves.


Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

Aureliano C. schrieb:

Hi all!
I’m thinking about implementing a ruby to python translator (this is a
program that takes a ruby program and generates its equivalent program
in python). In order to get started, I would like to know if there is
a ruby grammar implemented in python or with another tool.

The final idea for the project would be to run ruby code on the OLPC.

Can you give me any pointers?

I’m translating Ruby to Javascript and use ParseTree for that. Python is
a
little less dynamic than Ruby, so for example AFAIK Python doesn’t
execute
module-level code when it is loaded as Ruby does. That means that you
can’t
simply convert Ruby to Python code 1:1. What I am doing with RubyJS (my
Ruby to
Javascript compiler) is to first evaluate the Ruby code (all
meta-programming
stuff is going on here) and then compile each class to Javascript. This
is very
powerful.

It should be easier to compile Ruby to Python than it is for compiling
Ruby to
Javascript. But I’d be more interested in compiling Python to Ruby,
which should
be even easier.

Regards,

Michael

Rick DeNatale schrieb:

On Nov 16, 2007 8:57 AM, Michael N. removed_email_address@domain.invalid wrote:

It should be easier to compile Ruby to Python than it is for compiling Ruby to
Javascript.

From what I’ve heard and seen of Javascript, I’m not sure that the
opposite isn’t true.

IMHO Python has a much better underlying model, just take Javascript
“null”
special values. They are not objects! This makes it harder to compile
from an
“everything is an object language” to Javascript. Just one example :slight_smile:

Regards,

Michael

some
Python code. If you know Python well that should be doable in a few
days
time. Be warned that you would be the first client of this grammar.

That’s what I was looking for, tanks.

I’m thinking about implementing a ruby to python translator (this is a
program that takes a ruby program and generates its equivalent program
in python). In order to get started, I would like to know if there is
a ruby grammar implemented in python or with another tool.

None that I know of outside of ruby.

The final idea for the project would be to run ruby code on the OLPC.

Why not run ruby on OLPC? Just to avoid the extra install?

Yeah! But it’s a lot more important that seems like an entertaining
project.

It’s probably possible to translate Ruby to JavaScript using Opal, and then translate it to Python using js2py.