2012-02-28 7 views
2

C#やjavaのようなコンパイルされた言語は、(バイトコードから)マシンコード(0と1)に変換するジャストインタイムコンパイラを持っています。 VBScriptのようなインタプリタ言語はどのようにマシンコードに変換されますか?それはオペレーティングシステムによって行われますか?vbscriptをマシンコードに変換するものは何ですか?

+1

これはvbscriptランタイム(vbscript。dll)は実行時にコードを解析して解釈し、alert()などの独自の内部関数を呼び出します(すでにアセンブリ言語になっています)。基本的にはコンパイルのようですが、プログラムの実行中です。 – user1227804

+0

user1227804、私はあなたの応答が好きです。回答として投稿できますか? – developer747

答えて

2

必ずしも機械語に変換されるとは限りません。

このプログラムのインタプリタは、プログラムに必要なものに従って適切なアクションを実行します。

一部のインタプリタは(JITコンパイラを使用して)マシンコードを生成することがありますが、他のものはスクリプトの明白な解釈に固執することがあります。

+1

プロセッサはどのように命令を受け取りますか? (すべての作業は最終的にプロセッサによって行われます)OSがコードを解釈して適切な命令をプロセッサに送信するのでしょうか? – developer747

+1

OSではありません。インタプリタ(例えばwscript.exe)は、ソーススクリプトを1行ずつ読み込み、スクリプトが何をしたいのかを呼び出す関数を呼び出します(これはあまり単純化されていますが、それは考え方です)。インタプリタとそれが呼び出す関数は、他のコンパイルされたプログラムと同様に、コンパイルされたコードです。 – Mat

+0

Ahh..soインタープリタは、マシンコードを生成するものです。 – developer747

0

私はこれが古いですけど、私は(担当者)コメントすることはできませんことを考えると、私は明確な答えを追加したい:

インタプリタがに使用されているにスクリプトを解釈するには、(それは、VBScript、JavaScriptのこと、Python、または他のスクリプト)を個別の命令に変換します。これらの命令は、機械コードまたは中間表現(OSまたは他のプログラムが使用できる)の形式であり得る。いくつかのインタプリタはアセンブリ言語に近いもののために作成され、ソースコードは多かれ少なかれ直接実行されます。

最近のスクリプト言語(Python、Perl、Rubyなど)のほとんどは、中間表現、中間表現、コンパイル済み(別名、別名オブジェクト)のコードに解釈されます。コンパイルされた言語との重要な違いは、通訳者がコード全体を取り上げてその意味を機械語に翻訳するのではなく、各行を一度に取り出し、その意味を単体で解釈するということです。

エッセイ全体を英語からロシア語(翻訳されたコード)に翻訳することと、エッセイで各文を取り出して直接解釈すること(翻訳されたコード)との違いと考えることができます。同様の効果が得られるかもしれませんが、結果は同一ではありません。もっと重要なのは、エッセイ全体をトータル・ボディとして翻訳することは、一度に1つの文章をスタンドアロン・ユニットとして扱うよりもはるかに労力がかかるが、ロシア語の読者にとっては、 -sentenceバージョン。したがって、コードのコンパイルとコードの解釈との間のトレードオフ。

出典:https://en.wikipedia.org/wiki/Interpreter_(computing)、私が探していた

0

This is the answer経験。 javascriptエンジンのように、人間が読めるコードをマシンコードに変換したvbscriptエンジンがありました。このvbscriptエンジンは、CLRとJVMのJITコンパイラに似ています。人間が読めるコードから機械コードに直接変換することだけです。中間のバイトコードを持つC#とは対照的です。 VBスクリプトは、それがVBスクリプトを解釈するためにvbscript.dllを使用してブラウザ内で実行されるこのVB Script wikipedia articleを参照

+0

あなたの投稿に記載されているウィキペディアのリンクには、vbスクリプトやvbスクリプトエンジンに関する記述はありません。私はあなたが[VBScript wikipedia](https://en.wikipedia.org/wiki/VBScript) – RBT

0

  1. VBスクリプトファイルをコマンドラインまたはバッチファイルから実行すると、cscript.exeがVBスクリプトの解釈に使用されます。
  2. VBスクリプトは、エラーメッセージボックスや黄色の通知メッセージをタスクバーの右隅に表示するなど、さまざまな目的でWindows OS自体で使用されると、Windowsサービスであるwscript.exeを使用して解釈されます。
関連する問題