Interpreter for a simple language, based on the "Gang of Four" design pattern