]> git.tdb.fi Git - libs/datafile.git/blobdiff - source/binaryparser.cpp
Use negative integers for built-in statements for better extensibility
[libs/datafile.git] / source / binaryparser.cpp
index 53131289a851b04270e377e8abb5b61b49832b5c..81a86ea9a3b66b7ae9c9a6ba0a3dfff4f134ff17 100644 (file)
@@ -24,8 +24,8 @@ BinaryParser::BinaryParser(Input &i, const string &s):
        ParserMode(i, s),
        first(true)
 {
-       dict[1] = DictEntry("__kwd", "iss");
-       dict[2] = DictEntry("__str", "is");
+       dict[-1] = DictEntry("__kwd", "iss");
+       dict[-2] = DictEntry("__str", "is");
 }
 
 Statement BinaryParser::parse()
@@ -38,7 +38,7 @@ Statement BinaryParser::parse()
                        if(st.args.size()!=3)
                                throw bad_definition("__kwd");
 
-                       const unsigned id = st.args[0].get<unsigned>();
+                       const int id = st.args[0].get<unsigned>();
                        const string &kw = st.args[1].get<const string &>();
                        const string &args = st.args[2].get<const string &>();
                        dict[id] = DictEntry(kw, args);
@@ -62,7 +62,7 @@ Statement BinaryParser::parse_statement()
                in.get();
        first = false;
 
-       unsigned id = parse_int();
+       int id = parse_int();
        if(!in)
                return Statement();