//<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;
// Seed.print(TokenStream.toString(ret));
return ret;
}
- console.log(tok.data);
+ // console.log(tok.data);
switch(tok.type) {
case "VOID":
return ret; //EOF
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
+});