A project that integrates several design patterns: Singleton, Composite, Strategy, Iterator, Visitor and Bridge. It can generate a tree structure for an arithmetic expression and has several strategies of traversing and evaluating it.