C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: コンパイラで


(過去ログ 58 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■33103 / inTopicNo.1)  コンパイラで
  
□投稿者/ 桐山 (1回)-(2009/02/20(Fri) 19:58:51)

分類:[雑談] 

超初心者の質問になるかと思いますが、コンパイラというのは、人間が理解しやすい言語を
コンピュータが理解できる機械語に変換するプログラムですが、
言語によってコンパイラは異なるのでしょうか?
もしそうであるなら、自分で作ったオリジナル言語をコンパイラするときには、その言語にあったコンパイラを作成しなければならないものなのでしょうか?

引用返信 編集キー/
■33105 / inTopicNo.2)  Re[1]: コンパイラで
□投稿者/ .SHO (681回)-(2009/02/20(Fri) 20:02:24)
No33103 (桐山 さん) に返信

> 言語によってコンパイラは異なるのでしょうか?

異なります。

> もしそうであるなら、自分で作ったオリジナル言語をコンパイラするときには、その言語にあったコンパイラを作成しなければならないものなのでしょうか?

そうです。

ちなみに「コンパイラするとき」じゃなくて「コンパイルするとき」です。
コンパイルするのがコンパイラです。

引用返信 編集キー/
■33146 / inTopicNo.3)  Re[2]: コンパイラで
□投稿者/ ちゃっぴ (215回)-(2009/02/21(Sat) 14:08:47)
ちゃっぴ さんの Web サイト
> もしそうであるなら、自分で作ったオリジナル言語をコンパイラするときには、その言語にあったコンパイラを作成しなければならないものなのでしょうか?

初期の C++ がやっていたように、C++ から C への transrator を作って、C から compile させるという方法もありますね。

ここら辺は επιστημη さんの本を読むといいかも。
引用返信 編集キー/
■33202 / inTopicNo.4)  Re[3]: コンパイラで
□投稿者/ επιστημη (1768回)-(2009/02/23(Mon) 09:47:52)
επιστημη さんの Web サイト
コンパイラがある言語から他の言語に変換するとき、ざっくりと
字句解析 → 構文解析 → コード生成
ってな手順を踏みます。
# 構文解析の後、必要に応じてオプチマイザ(最適化)が割り込みます。

字句(単語)解析と構文(文法)解析は コンパイラに食わす言語に依存するので、
食わす言語の"単語"と"文法"が異なればそれぞれに応じた字句解析と構文解析が必要となります。

コード生成はコンパイラに吐かす言語(アセンブラとかCとかその他モロモロ)に依存しますな。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -