A scientifical calculator implemented using a Pratt parser, which is a type of recursive descent parser, described in this paper and blog post. It's an interesting approach to parsing as it provides an elegant and simple solution to operator precedence