システムプログラム'00 演習問題(3)
問 1 (Yacc (Bison))
Bisonについての例題を書き換えて、さらに累乗の演算子(^)にも対応したYaccによる構文解析・計算プログラムを作成せよ。
ただし 「^」は右結合で
「*」や「/」よりも、優先順位が高いものとする。
例 | 解釈 | 備考 |
2*3^2 | 2*(3^2) |
「*」よりも優先順位が高い |
2^3^2 | 2^(3^2) |
右結合 |
ヒント:
- xの y乗を計算する C言語の関数は double
pow(double x, double y)、
なお、この関数を使うには #include <math.h>が必要である。
- (#include <math.h>を含めて)3行付け加えるだけで良いはず。
システムプログラムのホームページ
Koji Kagawa
(kagawa@eng.?????)