A few weeks ago I got an urge to build a calculator parser and evaluator. Something that can take a simple 5 + 6 + 7 expression and evaluate it to a number: 18. I had never worked with calculator parsers before and had also never heard of the shunting-yard algorithm when I wrote this. I wanted to go in blind just for the fun of it and to see what I could come up with.