+
+ public class TokenKeyMap : Object {
+ public Token key;
+ public Gee.ArrayList<Token> vals;
+
+ public TokenKeyMap()
+ {
+ this.key = new Token("","VOID", "VOID");
+ this.vals = new Gee.ArrayList<Token>();
+ }
+
+
+ }
+
+ public class Token : Object {
+
+ public int id;
+
+ public string data;
+ public string type;
+ public string name;
+ public int line;
+ public string prefix; // white space prefix... (when outputing with WS)
+
+ public string outData;
+
+ public Identifier identifier;
+
+ // used to stuff tokens together when building a tree..
+ public Gee.ArrayList<Gee.ArrayList<Token>> items;
+ // for a object definition, key -> array of tokens..
+ public Gee.HashMap<string,TokenKeyMap> props;
+
+ // props??? what's this???
+
+ public Token(string data, string type, string name, int line = -1)
+ {
+ this.data = data;
+ this.type = type;
+ this.name = name;
+ this.line = line;
+ this.prefix = "";
+ this.outData = ""; // used by packer/scopeparser
+ this.identifier = null; // used by scope
+ this.id = Token_id++;
+
+
+ this.items = new Gee.ArrayList<Gee.ArrayList<Token>>();
+ this.props = new Gee.HashMap<string,TokenKeyMap>();
+ }