//<script type="text/javscript">
-XObject = imports.XObject.XObject;
+const XObject = imports.XObject.XObject;
-console = imports.console.console;
+const console = imports.console.console;
// make sure parent is loaded..
-TokenStream = imports.TokenStream.TokenStream;
+const TokenStream = imports.TokenStream.TokenStream;
+
/**
*
* base class for parsing segments of token array..
*
*/
-Collapse = XObject.define(
+const Collapse = XObject.define(
function (ar)
{
-
Collapse.superclass.constructor.call(this, ar);
this.spaces();
- var ar = this.collapse(this.tokens);
+ ar = this.collapse(this.tokens);
this.tokens = ar;
st.next(1);
var add = st.balance(tok.data);
if (!add) {
- console.dump(tok);
- console.dump(start + '...' + st.cursor);
- console.dump(st.tokens);
+ Seed.print(tok);
+ Seed.print(start + '...' + st.cursor);
+ Seed.print(st.tokens);
}
if (add) {
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;
-});
\ No newline at end of file
+});