// console.dump(ar);
}
+
+ // put spaces into prefix of tokens..
- void spaces () {
+ void spaces ()
+ {
var ar = new Gee.ArrayList<Token>()
var pref = new Gee.ArrayList<Token>();
foreach(e in pref) {
tok.prefix += e.data;
}
+ pref = new Gee.ArrayList<Token>(); // reset pref..
}
ar.add(tok);
- pref = new Gee.ArrayList<Token>(); // reset pref..
+
}
this.tokens = ar;
},
- collapse : function(ar) {
+
+
+
+ Gee.ArrayList<Token> collapse(ar)
+ {
- var st = new TokenStream(ar);
- var ret = [];
+ var st = new TokenStream(ar);
+ var ret = new Gee.ArrayList<Token>();
while (true) {
var tok = st.look(1,true);
- if (!tok || !tok.is) {
+ if (tok == null) {
// Seed.print(TokenStream.toString(ret));
return ret;
}
// console.log(tok.data);
+
switch(tok.type) {
case "VOID":
return ret; //EOF
var start = st.cursor;
st.next(1);
var add = st.balance(tok.data);
- if (!add) {
- console.dump(tok);
- console.dump(start + '...' + st.cursor);
- console.dump(st.tokens);
+ // if (!add) {
+ //console.dump(tok);
+ //console.dump(start + '...' + st.cursor);
+ //console.dump(st.tokens);
- }
- if (add) {
- add.shift();
+ //}
+ if (add.size > 0) {
+ add.remove_at(0); // remove the first element... (as it's the
}
//Seed.print("ADD");
//Seed.print(JSON.stringify(add, null,4));