// Seed.print(TokenStream.toString(ret));
return ret;
}
- // console.log(tok.data);
+ // console.log(tok.data);
switch(tok.type) {
case "VOID":
- return; //EOF
+ return ret; //EOF
case "KEYW":
var start = st.cursor;
st.next(1);
- var add = st.balance(tok.name);
+ var add = st.balance(tok.data);
if (!add) {
console.dump(tok);
console.dump(start + '...' + st.cursor);
if (add) {
add.shift();
}
- //Seed.print(TokenStream.toString(aa));
+ //Seed.print("ADD");
+ //Seed.print(JSON.stringify(add, null,4));
+
var toks = add ? this.collapse(add) : [];
tok.items = false;
tok.props = false;
+
+
if (tok.data != '{') {
// paramters or array elements..
tok.items = this.toItems(toks, [',']);
g.push(ar[i]);
continue;
}
+ // var a=..., b =...
+ if ((ar[i].data != ';') && g.length && (g[0].name == "VAR")) {;
+ g.push(ar[i]);
+ continue;
+ }
+
g.push(ar[i]);
ret.push(g);
g = [];
}
}
- // last..
- if (k.length) {
+ // last.. - if g.val.length is 0 then it's a trailing ','...
+ // we should really throw a syntax error in that case..
+ if (k.length && g.val.length) {
ret[k] = g;
}
return ret;