]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/statement.h
Restructure control statement processing
[libs/datafile.git] / source / statement.h
index f9287a51714f56e89719db5c2a3b6871f0889b81..80b7b15af8da82566f3526d1494e82a3a787c2e4 100644 (file)
@@ -15,6 +15,7 @@ public:
        std::string keyword;
        Arguments args;
        bool valid;
+       bool control;
        std::string source;
        unsigned line;
        std::list<Statement> sub;
@@ -36,6 +37,18 @@ public:
        { return append(v); }
 };
 
+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); }
+};
+
 } // namespace DataFile
 } // namespace Msp