Ruby to Python translator

A

Aureliano Calvo

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

Ryan Davis

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

Markus Liedl

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

Michael Neumann

Aureliano said:
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
 
R

Rick DeNatale

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

Mark Shroyer

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.

There's a pretty good chance I'm misinterpreting what you mean by
this; however,

[sed:~] mshroyer$ echo '
class SomeClass:
def greet(self):
print "Hello there..."

c = SomeClass()
c.greet()
' > mymodule.py
[sed:~] mshroyer$ python
Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04)
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more
information.
 
M

Michael Neumann

Rick said:
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 :)

Regards,

Michael
 
A

Aureliano Calvo

Hi all!
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.

That's what I was looking for, tanks.
 
A

Aureliano Calvo

I'm thinking about implementing a ruby to python translator (this is a
None that I know of outside of ruby.


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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top