中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) 数字はstAへ 演算子はstBへ stA stB
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 1
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 1 +
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 2 1 +
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 例) 1 + 2 * ( 3 - 4 ) priority(“*”) > priority(“+”) * stA stB 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 左括弧はstBへ (ブロックの役割) ( 例) 1 + 2 * ( 3 - 4 ) 左括弧はstBへ (ブロックの役割) stA stB ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 3 ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 例) 1 + 2 * ( 3 - 4 ) priority(“-”) > priority(“(”) - stA stB - 3 ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 4 - 3 ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB 例) 1 + 2 * ( 3 - 4 ) 左括弧の上に積まれた演算子は,順にstAへ 左括弧が出現したら,右括弧と相殺 ) stA stB - 4 - 3 ( 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) stA stB stB: +,*,-,4,3,2,1 例) 1 + 2 * ( 3 - 4 ) stB: +,*,-,4,3,2,1 ※ RPNの逆順にsortされている 1個ずつ取り出す stA stB 1 2 - 3 4 4 3 - 2 * 1 +
中置記法(IN) → 後置記法(RPN) 例) 1 + 2 * ( 3 - 4 ) ↓ 1 2 3 4 - * + stB 1個ずつ取り出す 例) 1 + 2 * ( 3 - 4 ) ↓ 1 2 3 4 - * + 1個ずつ取り出す stB 1 2 3 4 - * +