コンパイラーとインタープリターのトピックを集中的に研究しています。基本的な理解が正しいかどうかを確認したいので、次のことを想定しましょう。
「Foobish」という言語があり、そのキーワードは
<OUTPUT> 'TEXT', <Number_of_Repeats>;
したがって、コンソールに10回印刷する場合は、次のように記述します。
OUTPUT 'Hello World', 10;
こんにちはWorld.foobish-file。
次に、選択した言語(この場合はC#)でインタープリターを作成します。
using System;
namespace FoobishInterpreter
{
internal class Program
{
private static void Main(string[] args)
{
analyseAndTokenize(Hello World.foobish-file)//Pseudocode
int repeats = Token[1];
string outputString = Token[0];
for (var i = 0; i < repeats; i++)
{
Console.WriteLine(outputString);
}
}
}
}
非常に簡単なインタープリターレベルでは、インタープリターはスクリプトファイルなどを分析し、インタープリターの実装の方法でfoobish-languageを実行します。
コンパイラは、物理ハードウェア上で直接実行される機械語を作成しますか?
インタプリタは機械語を生成しませんが、コンパイラは入力のために機械語を生成しますか?
コンパイラとインタプリタの基本的な動作方法に誤解はありますか?