PageC#プログラマーのための一味違う学習サイト。いった数式を逆ポーランド記法に変換し、それを計算するプログラムです。計算する部分は、「逆ポーランド記法の計算」で示したコードをそのまま利用しています。ListBoxに表示します。中が、逆ポーランド記法に変換した結果です。式を解析することができます。この式の解析と併せて、逆ポーランド記法に変換しています。BNFは、以下の通りです。"0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"BNFの正式な記法は良くわかってないですが、まああたらずとも遠からずかな。BNFを定義しています。いったことがわかれば、このページを読んでいる方ならば、読み解けるのではと思います。()が続くような数式に対応していませんが、そこはご容赦を。インタープリタ・パターンのNodeクラスとして定義します。Parseメソッドは、BNFの右辺部分をそのままコード化することになります。どのようにコード化するのかは、実際にこのページの最後に示したコードを見てもらえばわかると思います。オペレータが現れた時にはすぐにリストには追加せずに、オペレータの右側部の解析が終わったら、リストに追加するようにします。することで、リストには、逆ポーランド形式で、数値とオペレータが格納されることになります。逆ポーランドに変換した式を計算し、その結果を画面に表示するようにしています。逆ポーランド記法を、計算するには「逆ポーランド記法」で示したコードをそのまま利用しています。ちなみに、このコードでは、整数しか扱えませんが、少しプログラムを変更すれば、小数点付きの数も扱えるようになるはずです。「プログラム小品集」シリーズの中では、比較的、ソースファイル数、クラス数が多いプログラムとなりましたが、一つ一つのクラスは小さめのものばかりですので、頑張って読んでみてください。以下、C#+Silverlightのコードです。</UserControl>。