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.

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.

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.

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.