구조 #include #include #include #include class Context { }; class AbstractExpression { public: virtual std::string Interpret(Context context) = 0; }; class TerminalExpression : public AbstractExpression { public: std::string Interpret(Context context) override { return "Terminal Expression"; } }; class NonTerminalExpression : public AbstractExpression { private: std::list sub_expressions_; public:..