次の行で
class Symbol : public boost::enable_shared_from_this<Symbol> {
エラーが発生します:
エラー: 不完全な型struct boost::enable_shared_from_this<Symbol>
/usr/include/boost/smart_ptr/shared_ptr.hpp:63 の無効な使用: エラー: の宣言struct boost::enable_shared_from_this<Symbol>
なぜこのエラーが発生するのか考えてみてください。シンボルは抽象クラスです(それが重要な場合)