#include <iostream> #include <string> #include<sstream> #include<functional> using namespace std; template <typename Visitable> struct Visitor { virtual void visit(Visitable* obj) = 0; }; struct VisitorBase { virtual ~VisitorBase() = default; }; struct Expr...