A simple calculator based on a recursive descent parser