[Python-ml-jp 4086] バイトコードの呼び名

Yusuke Muraoka jbking @ jibaku.104.net
2007年 7月 20日 (金) 05:01:40 JST


#小林さんの資料は尖ってて参考になります。

その村岡です。

他との兼ね合いもあって、最近調べてました。

公式ドキュメントでは

co_codeに格納されているコードを「バイトコード」
pycのバイトコードを「疑似コンパイルコード」

と呼んでいます。
また、バイトコードと疑似コンパイルコードは、(一手間加えて)marshalモジュールを使うことで相互に変換することができます。
http://d.hatena.ne.jp/jbking/20070606/revenge_binary

といった感じなんですが、Javaから入ってきた私みたいな人からすると、.classに該当する.pycをバイトコードと呼んでしまいがちです。


07/07/19 に NISHIO Hirokazu<pythonml @ nishiohirokazu.org> さんは書きました:
> 西尾です。
> すごくいい資料ですね。
> あまりこういう深いところを解説している記事がないので助かります。
>
> ところで、co_codeについて「命令バイト・コード」と呼んでいるようですけど、
> 先日村岡さんと議論をしたときに、
> 僕は「バイトコード」という言葉でco_codeをさし、
> 村岡さんは構文木の情報を保っている
> pycなんかの中にあるもののことを指していたので
> 話がすれ違うという経験をしました。
> 「バイトコード」という言葉は後者を指す方が一般的なような気もしますし、
> co_codeを指すのに何か混同しにくいいい言葉があるといいのですが…
>
> On 7/19/07, kenji <kenji @ nasuinfo.or.jp> wrote:
> > 小林@那須です。下の二つの python 記事を書いてみました。
> >
> > ● python のデコレーター構文
> > http://www.nasuinfo.or.jp/FreeSpace/kenji/sf/python/virtualMachine/decorator.htm
> >
> > 私がデコレーター構文を理解するときに苦労したので、同様な苦労をしなく
> > て済むように書いてみました。syntax sugar の部分と closure の部分を分
> > けて説明してみました。Closure を callable object で代換できることを挿
> > 入したことで、デコレーター構文の closure の解りにくさを解消できたつも
> > りです。
> >
> > ● dis/inspectモジュールと ceval.c を使った Python のハッキング
> > http://www.nasuinfo.or.jp/FreeSpace/kenji/sf/python/virtualMachine/PyVM.htm
> >
> >   python interpreter の内部の動きを inspect モジュールと python
> >   virtual machine の二つの側面から解説してみました。Frame Object,
> >   Function Object, Code Object について説明しました。こちらは
> >   ceval.c に挑戦しようとしている方に読んでもらうことを望みます。意外
> >   と簡単に ceval.c を追跡できるようになります。
> >
> > 後ろの記事は英語まで広げても殆ど書かれていないことだと思います。書い
> > てみて、非常に纏めにくいテーマだと感じました。皆が書こうとしない理由
> > が解りました。また自分で自信がない所でも断定してしまった所も多くあり
> > ます。
> >
> > これらを読んで、御批判いただけますでしょうか。
> >
> > ======= kVerifier Lab =============================
> > 小林憲次
> > http://www.nasuinfo.or.jp/FreeSpace/kenji/index.htm
> > ===================================================
> > _______________________________________________
> > Python-ml-jp mailing list
> > Python-ml-jp @ python.jp
> > http://www.python.jp/mailman/listinfo/python-ml-jp
> >
> _______________________________________________
> Python-ml-jp mailing list
> Python-ml-jp @ python.jp
> http://www.python.jp/mailman/listinfo/python-ml-jp
>


-- 
村岡 友介
mail: yusuke.muraoka @ gmail.com
blog: http://d.hatena.ne.jp/jbking/



Python-ml-jp メーリングリストの案内