2006 年度 情報処理演習 II
2005 年度の情報処理演習 II のページ
お知らせ
- [5/24]
テキストをアップしました。
本年度は Java をベースとして実装する課題にします。
最低ラインとして 2.2 節までは完了することが条件です。
- [4/7]
後半の課題のため、もうしばらくお待ちください。
概要
この課題ではコンパイラを作成するための基礎技術を習得することを目標とします。
コンパイラは、ソースプログラムを読み込み、
実行可能形式へと変換します。
この際に次のことが行われます。
- 字句解析
単語の切り出しをします。適当なソースファイルを想像してみてください。
どこからどこまでが一単語かを人間は簡単に認識できますが、
これをプログラムにやらせるにはどうしたらよいでしょう??
- 構文解析
たとえば C 言語のプログラムを書くとき、
その文法に従って書く必要があります。
コンパイラでは、
与えられたプログラムが文法にあっているかチェックする必要があります。
このような文法にあっているかチェックするのが構文解析です。
- 意味解析
C 言語では変数は宣言してからでないと使用できません。
また、int 型の変数に構造体型の値を入れることはできません。
このような制約についてチェックするのが意味解析です。
- コード生成
上記のチェックが完了したら、対象とする機械用のコードを生成します。
このようなそれぞれの技術は、
プログラミング言語のコンパイラを作成するためだけでなく、
いろいろなプログラムへ応用ができます。
この課題では、これらの基礎技術を身につけることを目標とします。
ファンレターはこちらまで♪
2006.04.07 作成
2006.05.24 更新