インタプリタやコンパイラってC言語でかかれているんですか?
物や環境による。
お?中学生かい?がんぱってるねぇ。実用的に使われてる言語処理系は c/c++ で実装されたものが多い。ちなみに実験的実装なら何でもいい。例えば Ruby や PHP で実装された cコンパイラがあったとして、その出力コード(機械語)の品質が高いなら、生成されたコード自体は実用になる。コンパイル速度は実用にならないかもしれないが。あと、インタプリタでインタプリタを実装すると実用的には使えないモノになる。遅すぎで。さらに余談だが、コンパイルしてからインタプリタで実行する前提の言語もある。Javaとかね。
大体そう。PHPやRubyもそうだし、フリーで配布されてる gcc とかもソースはCだったりする。CのコンパイラがCで書かれてるのがなんかヘンな感じがするだろうが、今ある言語ではCが比較的低レベルな(=マシン語に近い)処理ができ、スピードが違うので。Cの神様Dennis Ritchieが書いた最初のCコンパイラが公開されてるが、それもCで書かれてる。じゃあこれコンパイルしたのは何のかは、俺も知らない(笑)。
みんなの回答 3 件
物や環境による。
お?中学生かい?がんぱってるねぇ。
実用的に使われてる言語処理系は c/c++ で実装されたものが多い。
ちなみに実験的実装なら何でもいい。例えば Ruby や PHP で実装された cコンパイラがあったとして、その出力コード(機械語)の品質が高いなら、生成されたコード自体は実用になる。コンパイル速度は実用にならないかもしれないが。
あと、インタプリタでインタプリタを実装すると実用的には使えないモノになる。遅すぎで。
さらに余談だが、コンパイルしてからインタプリタで実行する前提の言語もある。Javaとかね。
大体そう。PHPやRubyもそうだし、フリーで配布されてる gcc とかもソースはCだったりする。CのコンパイラがCで書かれてるのがなんかヘンな感じがするだろうが、今ある言語ではCが比較的低レベルな(=マシン語に近い)処理ができ、スピードが違うので。Cの神様Dennis Ritchieが書いた最初のCコンパイラが公開されてるが、それもCで書かれてる。じゃあこれコンパイルしたのは何のかは、俺も知らない(笑)。
本の虫: デニス・リッチーによって書かれた最初のCコンパイラーがGitHubで公開
http://cpplover.blogspot.jp/2013/05/cgithub.html関連するトピックス