//<Script type="text/javascript">
-Scope = imports.Scope.Scope;
-TokenStream = imports.TokenStream.TokenStream;
+const Scope = imports.Scope.Scope;
+const TokenStream = imports.TokenStream.TokenStream;
/**
* Scope stuff
*
*
*/
-ScopeParser = function(ts) {
+const ScopeParser = function(ts) {
this.ts = ts; // {TokenStream}
this.warnings = [];
this.indexedg = {};
//this.dumpToken(token , this.scopes, this.braceNesting);
//print('SCOPE:' + token.toString());
//this.log(token.data);
- if (token.type == 'NAME') {
+ //if (token.type == 'NAME') {
// print('*' + token.data);
- }
+ //}
switch(token.type + '.' + token.name) {
case "KEYW.VAR":
case "KEYW.CONST": // not really relivant as it's only mozzy that does this.
var curTS = this.ts;
if (token.props) {
+ // { a : ... , c : .... }
+
for (var prop in token.props) {
break;
}
+ // ( ... ) or { .... } not object literals..
var _this = this;
- token.items.forEach(function(expr) {
- //print(JSON.stringify(expr, null,4));
+ for (var xx =0; xx < token.items.length; xx++) {
+ expr = token.items[xx];
+ //token.items.forEach(function(expr) {
+ //print(expr.toString());
_this.ts = new TokenStream(expr);
//if (curTS.data == '(') {
_this.parseScope(scope)
// _this.parseExpression(scope)
//}
- });
+ }
this.ts = curTS;
//print("NOT PROPS"); Seed.quit();
if (token.name == "EVAL") {
- print(JSON.stringify(token, null,4));
+ //print(JSON.stringify(token, null,4));
// look back one and see if we can find a comment!!!
//if (this.ts.look(-1).type == "COMM") {
if (token.prefix && token.prefix.match(/eval/)) {
//print(scopeIndent + ">> ENTER EXPRESSION" + this.expN);
- while (token = this.ts.nextTok()) {
+ while ((token = this.ts.nextTok())) {
if (this.mode == 'BUILDING_SYMBOL_TREE') {
if (token.name == "EVAL") {
- print(JSON.stringify(token,null,4));
+ //print(JSON.stringify(token,null,4));
if (token.prefix && token.prefix.match(/eval:var:/g)) {
// look for eval:var:noreplace\n
// print("GOT MATCH?");
var symbol;
var token;
- var scope;
+
var identifier;
//token = getToken(-1);
identifier.refcount++;
}
- token = this.ts.nextTok();
+ //token = this.ts.nextTok();
//assert token.getType() == Token.RP; // )
},
while (token.data != "(") {
//print(token.toString());
token = this.ts.nextTok();
-
-
-
+
}
}
return false;
}
-};
\ No newline at end of file
+};