calculator using slightly modified shunting-yard algorithm