How to convert python source code to C++ source code [duplicate]
Asked Answered
U

2

5

I have been trying to find a way to convert .py source file to .cpp source (as a time saver from doing it manually). I've never used python before and was hoping for a quick way to convert it, and cleanup any code the converter might not do well.

So far, some of the options that I have found while googling seem to be: nuitka, cython, and pypy/rpython.

However, the documentation I have read only seem to produce executables, and not actual source code.

At this point, I have found py2c, but cannot seem to find any documentation on how to use it. Also, judging by the posted roadmap on the wiki, it does not seem to be a finished product, and so I'm doubtful as to its reliability.

If you can provide other sources on how this can be accomplished, or shed some light on something I may have missed on the above-mentioned possibilities, it would be appreciated. Otherwise, I will simply convert it manually.

Ulani answered 8/3, 2013 at 20:54 Comment(10)
I think you probably have to stick to the "Otherwise, I will simply convert it manually" part.Femi
can't you convert the python to php, then just apply the facebook thingie to convert the php to c++ :-PMantooth
@Cheersandhth.-Alf Your method seems simpler.Selfidentity
How much code? Might be quicker to just learn Python.Cudlip
What is your motivation in doing the conversion? Does the resulting code need to be human-readable and human-maintainable?Choriamb
@Cheersandhth.-Alf Not only is the PHP-to-C++ compiler discontinued in favor of a JIT compiling VM, its output is not usable for anything except handing it off to a C++ compiler. The same is true for most compilers really. And while Python->PHP seems a bit less "abs-freaking-olutely infeasible" than Python->C++, I'm not aware of any automated tool doing this well (and keep thinking of reasons why it's hard at the rate of hundreds per minute).Birthstone
@Robᵩ The resulting code does need to be human-readable/maintainable, and added to a VC++ project. The decision was taken to not keep it in its python form. I had some hope for this when I found this: py2c but judging by the responses, probably not a good idea. I will just stick to re-writing it.Ulani
Would you consider embedding Python in your application?Norri
@Peter Wood That was my first instinct, and the idea was considered but dismissed. There will be some changes to it's functionality, so it will probably be for the best anyway.Ulani
Possible duplicate of Convert Python program to C/C++ code?Schoenfelder
E
13

Programming languages cannot be easily converted like this. For example, Python has a large standard library, C++ doesn't have the same library. How do you translate those calls?

More fundamentally, the semantics of the language are very different, even a statement as simple as x = 1 means something different in Python and C++.

You are going to have to write C++ while reading the Python.

Echeverria answered 8/3, 2013 at 21:3 Comment(5)
You are going to have to write C++ while reading the Python. - what I would have recommended as well. +1Bolero
That's what I will do. Thanks for the input.Ulani
same way matlab managed to do it @BurhanKhalidQuintus
You mention that x = 1 means something different in Python and C++. What is the difference?Olmsted
Take a look at my PyCon talk: Facts and Myths about Python Names and ValuesEcheverria
D
1

Have a look at shedskin, if it won't do the whole job,it still might be helpfull.

Discography answered 8/3, 2013 at 22:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.