ノート:インタプリタ
PerlやJavaは、コンパイラというよりはもともとインタプリタであるので、ジャストインタイムコンパイラの類ではないでしょうか。おこめ 08:00 2003年5月16日 (UTC)
全面的に内容が間違っているようです。
[編集]本文「インタープリタ」の内容について全面的に間違っているようにみられます。 マシンが直接実行しうるコードを吐き出すものがコンパイラで 何らかのコードを随時変換(インタープリット)しな実行するものがインタープリタであり 本項目の説明は「スクリプティングエンジンか否か」になっています。
例えば中間コードを吐き出すBASICは変換エンジンとリンクしてネイティブな実行ファイルを作っても あくまで「インタープリタ」とされてきました。 又、perlについても動的に生成するのはあくまで中間コードなので純粋なるインタープリタといえる他 java等についての記述もバイトマシンをインタープリタの一分野としていますが エミュレータとインタープリタでは若干毛色が違う上 pythonについての記述もbyteコード実行等と関係ないことを書かれています。
仮想マシンのマシンコードから動的にネイティブコードを生成しているものをあえてわけるというのはありだと思いますが ブラックボックスとして実装の自由を考えると インタープリタ(テキストタイプ・中間コードタイプ)・エミュレータ・コンパイラの3系統がせいぜいではないでしょうか。
中間コードタイプの代表格としてFlashのswfファイル 静的な中間コード生成の選択肢のあるものとしてluaというのも本項目には必須ではないかと思います。
実装部分でのポリシーにより作者がコンパイラだといいはっている言語であれば 看過の余地はありますが 本文は調査に基づかない個人的偏見でしかないと断言でき wikipediaにふさわしくないといえます。
perl等もあわせて修正を願います。--Beach waker 2009年11月4日 (水) 06:11 (UTC)
- 「マシンが直接実行しうるコードを吐き出すものがコンパイラ」というのは賛成できません。中間コードへのコンパイルなどはどうなるんです? -- NiKe 2009年11月6日 (金) 15:16 (UTC)
> インタプリタとは(中略)逐次解釈しながら実行する
は正しく
> インタプリタはプログラムを逐次機械語に変換して実行する
が間違っているのはなぜですか?
最終的に実行されるものは機械語なのでしょう。人間が書いたプログラムは機械語に変換される。 後者も間違いではないように思えます。この項を読みにくるような「よく分かってない人」向けに、 後者のどこが間違いなのかもっと分かりやすく書いていただけると有難い。--114.48.223.213 2011年7月1日 (金) 12:01 (UTC)