namespace Msp {
namespace DataFile {
-class Statement
+struct Token;
+
+struct Statement
{
-public:
typedef std::vector<Value> Arguments;
std::string keyword;
return *this;
}
+ Statement &append_from_token(const Token &);
+
template<typename T>
Statement &operator,(const T &v)
{ return append(v); }
{ return keyword<o.keyword || (keyword==o.keyword && signature<o.signature); }
};
+struct StatementInfo
+{
+ StatementKey key;
+ unsigned args_size;
+ std::vector<unsigned> arg_offsets;
+
+ StatementInfo();
+ StatementInfo(const std::string &, const std::string &);
+};
+
} // namespace DataFile
} // namespace Msp