Parser and Interpreter for a context-free grammar by implementing Interpreter and Visitor Design Pattern and a recursive parsing algorithm that builds an Expression Tree suitable for an efficient solution.