数式を逆ポーランド記法に変換【旧版】

2019/2/22 説明文を修正

■中置記法の数式を逆ポーランド記法に変換して計算します。
■変換には操車場アルゴリズムを使います。
■数値リテラルと以下の演算子、関数、定数が使用できます。atan2 pow gcd lcm の引数は2個です。

※^演算子は左結合になります。
※^演算子とpow関数は内容的には同じものです。
※まだバグがあるかもしれません。

演算子

: + - * / % ^ ( ) ,

関数

:  sin cos tan asin acos atan atan2 sqrt pow log floor ceil round abs exp random gcd lcm

定数

:  E PI LN10 LN2 LOG10E LOG2E SQRT2 SQRT1_2

入力例

… sqrt((1+2)*3+4)/5

変換後

… 1 2 + 3 * 4 + sqrt 5 /