04/05/04 15:19
【意味論】URLリンク(kaiunix.cs.shinshu-u.ac.jp)
2つの観点から、意味が明確に定められている必要がある。
プログラマの視点:自分の書いたプログラムがどの様な動作をするの かを正確に理解する必要がある。これが曖昧であれば、作成したプログ ラムの動作は実行によってしか確認できない
コンパイラ作成者の視点:プログラムに対してどの様な目的コードを 生成すればよいかを正確に理解する必要がある。これが曖昧であれば、同 じプログラムでもコンパイラによって動作が異なる可能性がある。
ユーザはコンパイラは全て正しくコンパイルすると考えているが、コンパイラの 作成者の立場から考えるならば、作成したコンパイラの正しさを何に基 づいてテストするのか?
例えば次のような命令列を考える
x = 2;
x = x++;
x++はxの値を評価した後、その値を1増やすと言う事であるので、...
このように自然言語だけによっていた場合、種々の曖昧性が生じる。この様に意味を正確に定義する事は重要であるが、定義の仕方によって次のよう な手法が考えられている
意味論について述べる前に理解するために必要となる数学 基礎について解説しておく。
・操作的意味論 >>8-9
・公理的意味論 >>10-11
・表示的意味論 >>7