A Composite/Visitor pattern for expression processing

To demonstrate the journey from the GoF pattern catalog to Observables, we will model a four-function calculator as a running example. Since expression trees or AST are hierarchical in nature, they will be a good example to model as a Composite pattern. We have purposefully omitted writing a parser to keep the code listing small:

#include <iostream> #include <memory> #include <list> #include <stack> #include <functional> #include <thread> #include <future> #include <random> #include "FuncCompose.h" // available int the code base using namespace std; //---------------------List of operators supported by the evaluator enum class OPERATOR{ ILLEGAL,PLUS,MINUS,MUL,DIV,UNARY_PLUS,UNARY_MINUS ...

Get C++ Reactive Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.