#pragma once #include #include #include class Parameter; class SyntaxTree { public: typedef std::pair Range; typedef std::vector Labels; typedef std::map Coll; void Add(int startPos, int endPos, const std::string &label, const Parameter ¶ms); void AddToAll(const std::string &label); const Labels &Find(int startPos, int endPos) const; void SetHieroLabel(const std::string &label) { m_defaultLabels.push_back(label); } protected: Coll m_coll; Labels m_defaultLabels; };