A simple recursive descent parser parser