On Friday, 3 May 2024 at 17:38:10 UTC, Chris Piker wrote:
> On Thursday, 25 April 2024 at 16:57:53 UTC, mw wrote:
> On Wednesday, 24 April 2024 at 22:07:41 UTC, Chris Piker wrote:
> Python-AST to D source converter may already exist?
https://github.com/joortcom/eiffel_rename/tree/main/yi
A rudimentary converter from (extended) Python to D. Maybe you can use it as a starting point.
Thanks for the suggestions. I put the question aside for a bit, but yesterday ran across a python transpiler here:
https://github.com/py2many/py2many
It already has support for C++, Go and others. Since I have mountains of python code created over many years, maybe it would be worth contributing to this project out of self interest.
Can you take a look at py2many and see what you think about it? Getting D on the support list might be good.
Hi,
I have made basic py2many.pyd work at language/syntax level in my dlang fork:
https://github.com/mw66/py2many/tree/dlang
The following examples works now:
https://github.com/mw66/py2many/tree/dlang/tests/expected
py2many/ 13:56:23$ ls ./tests/expected/*.d
./tests/expected/bubble_sort.d
./tests/expected/cls.d
./tests/expected/fib.d
./tests/expected/import_tests.d
./tests/expected/classes.d
./tests/expected/dict.d
./tests/expected/hello_world.d
./tests/expected/nested_dict.d
I haven't created PR to be merged into the main branch, since it's better to pass all the tests.
All the remaining work is to make Python's specific feature (e.g. async), library (e.g. complex number, NamedTemporaryFile) work in D. There are many things need to be done, if you have time, you can pick up from my fork, and work from there. (E.g. you can create PR to my branch, and when everything is ready, we submit to the main py2many all together).
HTH.