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