Next: , Previous: Simple Error Recovery, Up: Examples


2.4 多機能電卓:mfcalc

Bisonの基礎についての説明が終わったので、より高度な話題に移りましょう。 前述の電卓は、5種類の機能、‘+’、‘-’、‘*’、‘/’、 ‘^’を持っています。 この電卓に、その他の数学関数、たとえば、sincosなどを 追加するとよいでしょう。

中間記法電卓への新しい演算子の追加は、 その演算子が1文字リテラルならば簡単です。 字句解析器yylexは、数値以外のすべての文字をトークンとして渡すので、 追加の演算子に対応する文法規則を追加するだけです。 しかし、次のような表記方法の、より柔軟な組み込み関数が必要です。

     関数名 (引数)

さらに、電卓にメモリを追加し、名前付き変数を作り、そこに値を記憶し、 後で使えるようにしましょう。 以下に多機能電卓を使う作業の例を示します。

     % mfcalc
     pi = 3.141592653589
     3.1415926536
     sin(pi)
     0.0000000000
     alpha = beta1 = 2.3
     2.3000000000
     alpha
     2.3000000000
     ln(alpha)
     0.8329091229
     exp(ln(beta1))
     2.3000000000
     %

複数の代入1と 関数の入れ子2が 許されることに注意してください。


Footnotes

[1] 【訳注】例の‘alpha = beta1 = 2.3

[2] 【訳注】例の‘exp(ln(beta1))