|
@@ -42,6 +42,7 @@ smalltalk.parser = (function(){
|
|
"method": parse_method,
|
|
"method": parse_method,
|
|
"number": parse_number,
|
|
"number": parse_number,
|
|
"operand": parse_operand,
|
|
"operand": parse_operand,
|
|
|
|
+ "pseudoVariable": parse_pseudoVariable,
|
|
"reference": parse_reference,
|
|
"reference": parse_reference,
|
|
"ret": parse_ret,
|
|
"ret": parse_ret,
|
|
"separator": parse_separator,
|
|
"separator": parse_separator,
|
|
@@ -1258,8 +1259,8 @@ smalltalk.parser = (function(){
|
|
return result0;
|
|
return result0;
|
|
}
|
|
}
|
|
|
|
|
|
- function parse_literal() {
|
|
|
|
- var cacheKey = 'literal@' + pos;
|
|
|
|
|
|
+ function parse_pseudoVariable() {
|
|
|
|
+ var cacheKey = 'pseudoVariable@' + pos;
|
|
var cachedResult = cache[cacheKey];
|
|
var cachedResult = cache[cacheKey];
|
|
if (cachedResult) {
|
|
if (cachedResult) {
|
|
pos = cachedResult.nextPos;
|
|
pos = cachedResult.nextPos;
|
|
@@ -1267,35 +1268,142 @@ smalltalk.parser = (function(){
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- var result7 = parse_number();
|
|
|
|
- if (result7 !== null) {
|
|
|
|
- var result0 = result7;
|
|
|
|
|
|
+ var savedPos0 = pos;
|
|
|
|
+ var savedPos3 = pos;
|
|
|
|
+ if (input.substr(pos, 4) === "true") {
|
|
|
|
+ var result10 = "true";
|
|
|
|
+ pos += 4;
|
|
} else {
|
|
} else {
|
|
- var result6 = parse_literalArray();
|
|
|
|
|
|
+ var result10 = null;
|
|
|
|
+ if (reportMatchFailures) {
|
|
|
|
+ matchFailed("\"true\"");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ var result11 = result10 !== null
|
|
|
|
+ ? (function() {return true})()
|
|
|
|
+ : null;
|
|
|
|
+ if (result11 !== null) {
|
|
|
|
+ var result9 = result11;
|
|
|
|
+ } else {
|
|
|
|
+ var result9 = null;
|
|
|
|
+ pos = savedPos3;
|
|
|
|
+ }
|
|
|
|
+ if (result9 !== null) {
|
|
|
|
+ var result1 = result9;
|
|
|
|
+ } else {
|
|
|
|
+ var savedPos2 = pos;
|
|
|
|
+ if (input.substr(pos, 5) === "false") {
|
|
|
|
+ var result7 = "false";
|
|
|
|
+ pos += 5;
|
|
|
|
+ } else {
|
|
|
|
+ var result7 = null;
|
|
|
|
+ if (reportMatchFailures) {
|
|
|
|
+ matchFailed("\"false\"");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ var result8 = result7 !== null
|
|
|
|
+ ? (function() {return false})()
|
|
|
|
+ : null;
|
|
|
|
+ if (result8 !== null) {
|
|
|
|
+ var result6 = result8;
|
|
|
|
+ } else {
|
|
|
|
+ var result6 = null;
|
|
|
|
+ pos = savedPos2;
|
|
|
|
+ }
|
|
if (result6 !== null) {
|
|
if (result6 !== null) {
|
|
- var result0 = result6;
|
|
|
|
|
|
+ var result1 = result6;
|
|
} else {
|
|
} else {
|
|
- var result5 = parse_dynamicDictionary();
|
|
|
|
|
|
+ var savedPos1 = pos;
|
|
|
|
+ if (input.substr(pos, 3) === "nil") {
|
|
|
|
+ var result4 = "nil";
|
|
|
|
+ pos += 3;
|
|
|
|
+ } else {
|
|
|
|
+ var result4 = null;
|
|
|
|
+ if (reportMatchFailures) {
|
|
|
|
+ matchFailed("\"nil\"");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ var result5 = result4 !== null
|
|
|
|
+ ? (function() {return nil})()
|
|
|
|
+ : null;
|
|
if (result5 !== null) {
|
|
if (result5 !== null) {
|
|
- var result0 = result5;
|
|
|
|
|
|
+ var result3 = result5;
|
|
|
|
+ } else {
|
|
|
|
+ var result3 = null;
|
|
|
|
+ pos = savedPos1;
|
|
|
|
+ }
|
|
|
|
+ if (result3 !== null) {
|
|
|
|
+ var result1 = result3;
|
|
} else {
|
|
} else {
|
|
- var result4 = parse_dynamicArray();
|
|
|
|
- if (result4 !== null) {
|
|
|
|
- var result0 = result4;
|
|
|
|
|
|
+ var result1 = null;;
|
|
|
|
+ };
|
|
|
|
+ };
|
|
|
|
+ }
|
|
|
|
+ var result2 = result1 !== null
|
|
|
|
+ ? (function(val) {
|
|
|
|
+ return smalltalk.ValueNode._new()
|
|
|
|
+ ._value_(val)
|
|
|
|
+ })(result1)
|
|
|
|
+ : null;
|
|
|
|
+ if (result2 !== null) {
|
|
|
|
+ var result0 = result2;
|
|
|
|
+ } else {
|
|
|
|
+ var result0 = null;
|
|
|
|
+ pos = savedPos0;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ cache[cacheKey] = {
|
|
|
|
+ nextPos: pos,
|
|
|
|
+ result: result0
|
|
|
|
+ };
|
|
|
|
+ return result0;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function parse_literal() {
|
|
|
|
+ var cacheKey = 'literal@' + pos;
|
|
|
|
+ var cachedResult = cache[cacheKey];
|
|
|
|
+ if (cachedResult) {
|
|
|
|
+ pos = cachedResult.nextPos;
|
|
|
|
+ return cachedResult.result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ var result8 = parse_pseudoVariable();
|
|
|
|
+ if (result8 !== null) {
|
|
|
|
+ var result0 = result8;
|
|
|
|
+ } else {
|
|
|
|
+ var result7 = parse_number();
|
|
|
|
+ if (result7 !== null) {
|
|
|
|
+ var result0 = result7;
|
|
|
|
+ } else {
|
|
|
|
+ var result6 = parse_literalArray();
|
|
|
|
+ if (result6 !== null) {
|
|
|
|
+ var result0 = result6;
|
|
|
|
+ } else {
|
|
|
|
+ var result5 = parse_dynamicDictionary();
|
|
|
|
+ if (result5 !== null) {
|
|
|
|
+ var result0 = result5;
|
|
} else {
|
|
} else {
|
|
- var result3 = parse_string();
|
|
|
|
- if (result3 !== null) {
|
|
|
|
- var result0 = result3;
|
|
|
|
|
|
+ var result4 = parse_dynamicArray();
|
|
|
|
+ if (result4 !== null) {
|
|
|
|
+ var result0 = result4;
|
|
} else {
|
|
} else {
|
|
- var result2 = parse_symbol();
|
|
|
|
- if (result2 !== null) {
|
|
|
|
- var result0 = result2;
|
|
|
|
|
|
+ var result3 = parse_string();
|
|
|
|
+ if (result3 !== null) {
|
|
|
|
+ var result0 = result3;
|
|
} else {
|
|
} else {
|
|
- var result1 = parse_block();
|
|
|
|
- if (result1 !== null) {
|
|
|
|
- var result0 = result1;
|
|
|
|
|
|
+ var result2 = parse_symbol();
|
|
|
|
+ if (result2 !== null) {
|
|
|
|
+ var result0 = result2;
|
|
} else {
|
|
} else {
|
|
- var result0 = null;;
|
|
|
|
|
|
+ var result1 = parse_block();
|
|
|
|
+ if (result1 !== null) {
|
|
|
|
+ var result0 = result1;
|
|
|
|
+ } else {
|
|
|
|
+ var result0 = null;;
|
|
|
|
+ };
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|