コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

ノート:逆ポーランド記法

ページのコンテンツが他言語でサポートされていません。


1+(2+3)*4+5

って、

123+4*5++

でいいのかな???

ほぼ合ってるけど"1 2 3 + 4 * + 5 +"でしょう。要素間の空白は略せません。123が百二十三と解釈されてしまいます。死郎 2004年7月19日 (月) 19:10 (UTC)[返信]

逆ポーランドで負の数を表すときにはどうしたらいいんでしょうか?

逆ポーランド記法でも数値の表現自体は同じです。異なるのは、数値と演算子の順序(だけ)です。 -- NiKe 2005年9月5日 (月) 03:53 (UTC)[返信]
いえ、引き算表記との混在時の扱いを聞いているのと思われます。実際の言語では「負数表記の場合、数字との間に空白は入れ無い」「ーと_で使い分け(_4とか)Forthなど」や「負数はΔ表記」などの対処があります。--121.95.176.63 2022年4月25日 (月) 23:55 (UTC)[返信]

応用に追記したい内容

[編集]

コンピュータ言語の内部では、かなり採用例が多いです。

・仮想マシン(UCSD PascalのP-machineとか)をスタックマシンとして実装しておき、コンパイラは逆ポ表記への変換作業をしている。

Java仮想マシン も元々は8ビットのスタックマシン/ただし実際には速度欲しさにスタックマシンとしては実装してない場合が多い。androidのDalvikも逆ポ系スタックマシンでは無い

・パーサとコードジェネレータが別パスのコンパイラでは、数式をパーサ側で一旦逆ポ化するのは定番処理。--121.95.176.63 2022年4月25日 (月) 23:50 (UTC)[返信]