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.

asked Mar 8, 2013 at 20:54
10
  • 4
    I think you probably have to stick to the "Otherwise, I will simply convert it manually" part. Commented Mar 8, 2013 at 20:58
  • 1
    can't you convert the python to php, then just apply the facebook thingie to convert the php to c++ :-P Commented Mar 8, 2013 at 21:02
  • 1
    How much code? Might be quicker to just learn Python. Commented Mar 8, 2013 at 21:04
  • 3
    What is your motivation in doing the conversion? Does the resulting code need to be human-readable and human-maintainable? Commented Mar 8, 2013 at 21:07
  • 1
    @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). Commented Mar 8, 2013 at 21:07

2 Answers 2

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.

answered Mar 8, 2013 at 21:03
Sign up to request clarification or add additional context in comments.

5 Comments

You are going to have to write C++ while reading the Python. - what I would have recommended as well. +1
That's what I will do. Thanks for the input.
same way matlab managed to do it @BurhanKhalid
You mention that x = 1 means something different in Python and C++. What is the difference?
Take a look at my PyCon talk: Facts and Myths about Python Names and Values
1

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

answered Mar 8, 2013 at 22:57

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.