2008-08-26 13 views
10

私はPyPyの翻訳を理解しようと苦労してきました。実際には、実際のコードをLLVMのようなものに実際に翻訳する上で、良い文書を見つけるのは難しいです。そんなことがあるの?それに関する公式のPyPyのドキュメントは、私が自分で試してみることのできるものを提供するのではなく、機能を見過ごしているだけです。PyPyの翻訳機能の詳細はどこで知ることができますか?

答えて

5

この文書では、細部のかなりのビットに入るようだ(と私は完全な説明はstackoverflowの答えの範囲外だと思います):

翻訳の一般的な考え方特に革新的ではありませんが、最近では「現実の」アプリケーションで人気/適用性が高まっています。 GWTは、Java(Javascriptを生成する)でこれを行い、あなたには、いくつかの手の上に例、PyPy's Getting Started文書はというセクションがあり、「アウトしようとする場合

+1

リンクが死んでいます(PyPyが移動しました)。これは同じ文書ですか? http://pypy.readthedocs.org/en/latest/translation.html – leewz

+0

@leewangzhongおそらく、私はこの時点で元のリンクがどのように見えたのか分かりません。 – rcreswick

+0

ああ、私たちは見つける方法があります。 https://web.archive.org/web/20111227090444/http://codespeak.net/pypy/dist/pypy/doc/translation.html。あなたの答えを更新する価値がありますか? – leewz

2

あなたはPython特有の翻訳を探していますか、単に一般的な "どのようにコードをバイトコードにコンパイルしますか"を探していますか?後者の場合はthe LLVM tutorialにチェックしてください。私は特に、あなた自身の言語のためのコンパイラを書くことを教える第2章を見つける。興味深い。

3

YHCと呼ばれる)だけでなく、様々な他の言語にHaskellのを変換するためのライブラリがあります翻訳者 "です。

3

PyPyトランスレータは、一般に公開されているものではありません。 独自のPythonインタプリタ(JITとGCを含み、両方ともRPythonで書かれていますが、この限定された のPythonのサブセットを翻訳しています)。 Pythonの翻訳ツールチェインを知らずに(そしてさらに重要なことに、 をRPythonに限定することなく)良いJITとGCを使えば、 さえスピードアップすることができます。

乾杯、 fijal

1

単に説明を読んだから、絶対に革命的な何か、

は、私の知る限りでは、PyPyはそれが最初のシステムであるという意味で、新規であるように見えます用に設計されており、言語を実装しています。パーサジェネレータなどのフロントエンドの多くを助けるためのツールや、コード生成などのバックエンドのためのツールはありますが、2つを接続するためにはあまり存在しません。

関連する問題