@ -92,6 +92,9 @@ struct SemanticValue {
// Cast semantic value
template <typename T> T& get();
template <typename T> const T& get() const;
// Get token
std::string str() const;
};
struct SemanticValues : protected std::vector<SemanticValue>
@ -171,6 +171,11 @@ struct SemanticValue
const T& get() const {
return val.get<T>();
}
std::string str() const {
return std::string(s, n);