逆ポーランド記法とインタープリタパターン

 逆ポーランド記法に変換するプログラムと、逆ポーランド記法から計算するプログラムを、3人日ぐらいで作った。ヲれは阿呆なので、逆ポーランド記法の約束とアルゴリズムがなかなか頭にはいってこなくてイライラっちした。
 そもそもなぜ逆ポーランド記法に変換するプログラムなんかいるのかというと、文字列としての計算式を計算できるようにするために、インタープリタパターンがいいんじゃんというのを調べていると、スタックで計算するというのがあって。

 スタックで計算するのには逆ポーランド記法から、というので、じゃあ逆ポーランド記法に変換しなきゃというわけになる。

 で。

 まっとうにプログラミングを勉強した方には、逆ポーランド記法はポピュラーらしいし、お、これはwebで検索したらjavaのコードぐらいすぐでてくんじゃね? と思ったのに、でてきやしねえ。多かったのは、

 大学のせんせい責任もって実装例も公開しておいてくださいYO! また、「サンプルコードはないですか?」という質問に対して、説明だけをしている教育的指導が大好きな人たち。QAサイトでわずゎざ…

 で、いろいろはまったが、結果よくよく考えたら、逆ポーランド記法への変換とは違うところではまっていた気がする。

 webで出てくる例は、たいてい整数でシンプルである。あるいは、a+b が a b + とかな説明になっている。そりゃあかんよ小数点とかもいるんよ。となると、javaのdoubleではなくBigDecimalをつかう。切り捨てとか切り上げとか色々むにゃむにゃ。

 それでだいたいできたと思うのだけど、検証はまだこれからだ。めざせローンの計算。