From: Albert Chou Date: 2003-03-03T06:17:10+09:00 Subject: Re: Convert python script in ruby This is a multi-part message in MIME format. ------_=_NextPart_001_01C2E100.F0A74E82 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable No, mine is a purely syntactic translator based on regular expressions, with some domain-specific ones that know how to convert from particular Python package usages (including translating "import" to "require" statements). Nothing as interesting as yours, but it does the tedious majority of the translation I needed for seeing if I could port FIT from Python to Ruby (easier than Java to Ruby, I felt). I would be happy to share my script, though it's not on the machine I'm emailing from this moment, so please remind me to send it. Al -----Original Message----- From: Robert Feldt Sent: Fri 2/28/2003 11:00 PM To: ruby-talk ML Subject: Re: Convert python script in ruby On Sat, 1 Mar 2003, Albert Chou wrote: > I've been working on a Ruby script that does a great deal of the > translation from Python to Ruby, but it's by no means a complete > solution, and I don't know whether it ever will be. Interesting, do you have a Python parser in there? I have the starts of a python-to-ruby translator in Python (don't throw rotten tomatoes please, I wanted to check it out). Its very simple to do that in Python since they export an API to the internal parser so you get a full Python parser with AST representation "for free" (hint, hint matz and I know you have it in the TODO). I think our community would really benefit from such a tool; when we find some extension they have that we want the tool would give a head start in translating. If your tool is close to complete I don't want to put more effort into mine. It was really just a hack I did when checking out Python. Is there a way we can join forces and get something more complete faster? Regards, Robert Feldt ------_=_NextPart_001_01C2E100.F0A74E82 Content-Type: application/ms-tnef; name="winmail.dat" Content-Transfer-Encoding: base64 eJ8+IgkVAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEgAEAIgAAAFJFOiBDb252ZXJ0IHB5dGhv biBzY3JpcHQgaW4gcnVieQAiDAEFgAMADgAAANMHAwACAA0AEAAHAAAAAwEBIIADAA4AAADTBwMA AgANABAABwAAAAMBAQmAAQAhAAAAMUUyMkJDMzUxMkE2OEM0Q0FDQTE1NzQ1MDg2NDdCMDMADAcB A5AGALQLAAA2AAAAAwA2AAAAAABAADkAgk6n8ADhwgEeAD0AAQAAAAUAAABSRTogAAAAAAIBRwAB AAAAMwAAAGM9VVM7YT0gO3A9RGVqYWN1YmU7bD1TRk1BSUwwMS0wMzAzMDIyMTE2MDdaLTEwNTYz AAAeAEkAAQAAACIAAABSZTogQ29udmVydCBweXRob24gc2NyaXB0IGluIHJ1YnkAAABAAE4AgM93 M8DfwgEeAFoAAQAAAA0AAABSb2JlcnQgRmVsZHQAAAAAAgFbAAEAAAA/AAAAAAAAAIErH6S+oxAZ nW4A3QEPVAIAAAAAUm9iZXJ0IEZlbGR0AFNNVFAAZmVsZHRAY2UuY2hhbG1lcnMuc2UAAAIBXAAB AAAAGgAAAFNNVFA6RkVMRFRAQ0UuQ0hBTE1FUlMuU0UAAAAeAF0AAQAAAA0AAABSb2JlcnQgRmVs ZHQAAAAAAgFeAAEAAAA/AAAAAAAAAIErH6S+oxAZnW4A3QEPVAIAAAAAUm9iZXJ0IEZlbGR0AFNN VFAAZmVsZHRAY2UuY2hhbG1lcnMuc2UAAAIBXwABAAAAGgAAAFNNVFA6RkVMRFRAQ0UuQ0hBTE1F UlMuU0UAAAAeAGYAAQAAAAUAAABTTVRQAAAAAB4AZwABAAAAFQAAAGZlbGR0QGNlLmNoYWxtZXJz LnNlAAAAAB4AaAABAAAABQAAAFNNVFAAAAAAHgBpAAEAAAAVAAAAZmVsZHRAY2UuY2hhbG1lcnMu c2UAAAAAHgBwAAEAAAAeAAAAQ29udmVydCBweXRob24gc2NyaXB0IGluIHJ1YnkAAAACAXEAAQAA ABsAAAABwt/ANih6e3xrn0pMcoVsPlEdy6OEAFAJYu8AHgB0AAEAAAANAAAAcnVieS10YWxrIE1M AAAAAB4AGgwBAAAADAAAAEFsYmVydCBDaG91AB4AHQ4BAAAAHgAAAENvbnZlcnQgcHl0aG9uIHNj cmlwdCBpbiBydWJ5AAAAAgEJEAEAAABNBQAASQUAAGsIAABMWkZ1If6X3wMACgByY3BnMTI14jID Q3RleAVBAQMB9/8KgAKkA+QHEwKAD/MAUARWPwhVB7IRJQ5RAwECAGNo4QrAc2V0MgYABsMRJfYz BEYTtzASLBEzCO8J97Y7GB8OMDURIgxgYwBQcwsJAWQzNhZQC6YHsG9ILCBtC4BlIAQAIAhhIHAI cGVseSAsc3kCMADQdA3gIHSWcgBxC2B0BbFiYRQQlGQgAiAgGCBndQtgWwXADsBwGCAEEGkCIHNz HRAD8HRoHjADcB1gZOMDcQuALXNwBZAGkB6xDwIgB5EhkB9AIGtuby0H4Ggj0R9QIAWgbnZ/BJAF QANSHcAKwB6hIFNQDnkhkB/xCrBja2FnWR1gdXMmoQQgKAuAY7UKQGQLgGce1yfCIgdwKnAXwSIk MiIYIHF19mkYICkwcwGQDrAHgAIw8HMpLiAc4SGQJ8IfoL8dcAIwBJAHkChzK4F5CGH5IUFidQVA IYAiASMzHWDfDrAnsAhgBCAAwGoFsCGAOR4gb2YtxCgWH/FJIL8dUAmAH8ECEAXAFBBlJ8I/BpAw QQWgIFAf0CjyIEYcSVQk5CX1JEFSdWJ5HiAoZR+gEnIjYQOgSrxhdh2wM5UdEDBQZh4AvnQqwAqi CoQKgDBQdzHzZmIdYBPgcHAeICRBc3sT4R1gbR4hBQMdECYRdfZnIaAhgCcEICPABUAzYs8t4QDB KzEdYEknJSAqYP0LcGwnwiTzKyEucSHRAjD3HRAhwB3AbDQhHWAYIB0x/x/QIeE4EgnwH9AhgDY7 NkRWQRgAPz8tQYJPBRBnfwuAB0AF0CDhJqFBgzZERn0DYToMggfxN4AyYh4AZD50NkQGYAIwQ8RD gGkgEDIvMjhGMDAwM7AgMTE6RoAl4E02RFRUb0PEcjPRLQGQbNprBdBMROUz0GoFkEV1+FJlOhIh JJQ34CYTBPV3C4BIEzZKTwOgBhA5ITG/BdAKwUZyHRBAQERDQzlh3yFgA2AOsEPANlk+OzEkoOc3 cQnwNxFyayfCH/EdsP8zwwT1I2Mtgx2wCcFScjQg/wMgLyRPpi+aMt81gi0UOeH/M+EjwD4xBiId sAWgKOA9cP8OsE+mIcAKQDACHRAAcB/Q0zBQIhBuJyOVdy3gLdHbBcAtUWUkoSFhbAMgN4D/Njwr yB0QIhAskjehUEEdsN8l9xQBWzE6YxggPzZMXlP/LdIqIQAgBCAvIR2xJgNIYLxvLUgiHtpLsSX1 KFok+yGQA2B3NkRO8Q6wM3IAwO8fUAeRPWQ1oncAcC4RJDP/LeAmgC1CCGA2ETBAYeEkof8eISjR PXAkMiIQNkQjY2QIfwCQJ3BhQx4gIKEyUgORQf5QMFAkQS3SK7NCIl81PTHvXhImsETVHbBmIFAD IF7M+SFzQVMysBggIMIqgS/03iIw4gNQCeApMCgrMTkh83MiLoF0em81WdMjs14Xgy1RX6QgVE9E TzYuzysiSKAIYVgSbXUDAC7x/zckUyFb8B4gN4AdUCLQJNX+cxrQIaA1EhShWsJQoR1g/yLQPhA2 RCHDDsEJ8CECa+T/YRUjgXuRZ2ItxHrxNxVCAPtecy3gYR/QYaMroWpFKBi/NjwvMCyifvQdgSeA bz2h/yRDWERZ9350PUEtIQRgOHH/AREyUiuxajUdMmjSZ1EEIH15NWom4GyRN6FoMVoBaf8f0HtD aANRAy0hJfRo0S2zvThxYTZEZ2B4sR1gYwOR/y6wS7Ew4WvAHZE+EW8BIbP3KySGM4RnZh+gK9Fg K0oQXmcLESFAkHtEP32ToAAAAB4ANRABAAAAPgAAADxBNTdCQUZERDNDNTdENzQ2QTVBMUEyMzdD RTFERTM3N0JGMTVBREBzZm1haWwwMS50ZWFsZWFmLmNvbT4AAAAeAEcQAQAAAA8AAABtZXNzYWdl L3JmYzgyMgAACwDyEAEAAAAfAPMQAQAAAFAAAABSAEUAJQAzAEEAIABDAG8AbgB2AGUAcgB0ACAA cAB5AHQAaABvAG4AIABzAGMAcgBpAHAAdAAgAGkAbgAgAHIAdQBiAHkALgBFAE0ATAAAAAsA9hAA AAAAQAAHMERBsFsA4cIBQAAIMDYTrPAA4cIBAwDeP+QEAAADAPE/CQAAAB4A+D8BAAAADAAAAEFs YmVydCBDaG91AAIB+T8BAAAATwAAAAAAAADcp0DIwEIQGrS5CAArL+GCAQAAAAAAAAAvTz1ERUpB Q1VCRS9PVT1TQU5GUkFOQ0lTQ08vQ049UkVDSVBJRU5UUy9DTj1BQ0hPVQAAHgD6PwEAAAAVAAAA U3lzdGVtIEFkbWluaXN0cmF0b3IAAAAAAgH7PwEAAAAeAAAAAAAAANynQMjAQhAatLkIACsv4YIB AAAAAAAAAC4AAAADAP0/5AQAAAMAGUAAAAAAAwAaQAAAAAADAB1AAAAAAAMAHkAAAAAAHgAwQAEA AAAGAAAAQUNIT1UAAAAeADFAAQAAAAYAAABBQ0hPVQAAAB4AMkABAAAAFQAAAGZlbGR0QGNlLmNo YWxtZXJzLnNlAAAAAB4AM0ABAAAAFQAAAGZlbGR0QGNlLmNoYWxtZXJzLnNlAAAAAB4AOEABAAAA BgAAAEFDSE9VAAAAHgA5QAEAAAACAAAALgAAAAsAKQAAAAAACwAjAAAAAAADAAYQXfwGeQMABxBF BQAAAwAQEAAAAAADABEQAAAAAB4ACBABAAAAZQAAAE5PLE1JTkVJU0FQVVJFTFlTWU5UQUNUSUNU UkFOU0xBVE9SQkFTRURPTlJFR1VMQVJFWFBSRVNTSU9OUyxXSVRIU09NRURPTUFJTi1TUEVDSUZJ Q09ORVNUSEFUS05PV0hPV1QAAAAAAgF/AAEAAAA+AAAAPEE1N0JBRkREM0M1N0Q3NDZBNUExQTIz N0NFMURFMzc3QkYxNUFEQHNmbWFpbDAxLnRlYWxlYWYuY29tPgAAAGAX ------_=_NextPart_001_01C2E100.F0A74E82--