[Python-ml-jp 4087] Re: 「デコレーター構文」と「dis /inspect, ceval.c」について書いてみました。
kenji
kenji @ nasuinfo.or.jp
2007年 7月 20日 (金) 08:56:55 JST
小林@那須です。
>僕は「バイトコード」という言葉でco_codeをさし、
>村岡さんは構文木の情報を保っている
>pycなんかの中にあるもののことを指していたので
>話がすれ違うという経験をしました。
>「バイトコード」という言葉は後者を指す方が一般的なような気もしますし、
私の言葉では「バイトコード」の厳密な意味は、下の例の 64 01 00 などの
バイトごとの数値コードを意味します。人間に分りやすい数値コードの呼び
名:mnemonic を「バイトコード」に含めることもあります。ですので
co_code を「バイトコード」といっても違和感はありません。
64 01 00 LOAD_CONST 1
7d 00 00 STORE_FAST 0
64 02 00 LOAD_CONST 2
でも pyc には「バイトコード」だけでなく co_argcount, co_consts など、
命令の数値コード以外の構文解析結果を含みます。私は pyc の中にあるもの
をコード・オブジェクトと表現しています。これを「バイトコード」と呼ぶ
のには強い違和感を感じます。
C 言語のオブジェクト・ファイルにもバイト・コードだけでなくリンク情報
が入っています。ですのでオブジェクト・ファイル中身全体を「バイトコー
ド」ということはありません。
pyc の中にあるものを「バイトコード」と呼ぶことが一般的なのでしょうか。
私には強い違和感があります。
======= kVerifier Lab =============================
小林憲次
http://www.nasuinfo.or.jp/FreeSpace/kenji/index.htm
===================================================
Python-ml-jp メーリングリストの案内