A shunting-yard calculation engine with GTK+ and Command-Line Wrappers