+struct StatementKey
+{
+ std::string keyword;
+ std::string signature;
+
+ StatementKey() { }
+ StatementKey(const std::string &k, const std::string &s): keyword(k), signature(s) { }
+
+ bool operator<(const StatementKey &o) const
+ { 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 &);
+};
+