A recursive descent interpreter for Boolean expressions (CS 3361 Concepts of Program Language Course Project)