|  | @@ -47,6 +47,7 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          "string": parse_string,
 | 
	
		
			
				|  |  |          "symbol": parse_symbol,
 | 
	
		
			
				|  |  |          "number": parse_number,
 | 
	
		
			
				|  |  | +        "hex": parse_hex,
 | 
	
		
			
				|  |  |          "float": parse_float,
 | 
	
		
			
				|  |  |          "integer": parse_integer,
 | 
	
		
			
				|  |  |          "literalArray": parse_literalArray,
 | 
	
	
		
			
				|  | @@ -627,9 +628,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, val) {
 | 
	
		
			
				|  |  | -                       	   return smalltalk.ValueNode._new()
 | 
	
		
			
				|  |  | -                       	   	._value_(val.join("").replace(/\"/ig, '"'))
 | 
	
		
			
				|  |  | -        	         })(pos0, result0[1]);
 | 
	
		
			
				|  |  | +                             return smalltalk.ValueNode._new()
 | 
	
		
			
				|  |  | +                                    ._value_(val.join("").replace(/\"/ig, '"'))
 | 
	
		
			
				|  |  | +                         })(pos0, result0[1]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -755,9 +756,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, val) {
 | 
	
		
			
				|  |  | -        		  		    return smalltalk.ValueNode._new()
 | 
	
		
			
				|  |  | -                       	   		    	   ._value_(smalltalk.symbolFor(val.join("").replace(/\"/ig, '"')))
 | 
	
		
			
				|  |  | -                       	 })(pos0, result0[1]);
 | 
	
		
			
				|  |  | +                              return smalltalk.ValueNode._new()
 | 
	
		
			
				|  |  | +                                     ._value_(smalltalk.symbolFor(val.join("").replace(/\"/ig, '"')))
 | 
	
		
			
				|  |  | +                          })(pos0, result0[1]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -770,15 +771,94 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          var pos0;
 | 
	
		
			
				|  |  |          
 | 
	
		
			
				|  |  |          pos0 = pos;
 | 
	
		
			
				|  |  | -        result0 = parse_float();
 | 
	
		
			
				|  |  | +        result0 = parse_hex();
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  | -          result0 = parse_integer();
 | 
	
		
			
				|  |  | +          result0 = parse_float();
 | 
	
		
			
				|  |  | +          if (result0 === null) {
 | 
	
		
			
				|  |  | +            result0 = parse_integer();
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, n) {
 | 
	
		
			
				|  |  | -        		  return smalltalk.ValueNode._new()
 | 
	
		
			
				|  |  | -                       	   	._value_(n)
 | 
	
		
			
				|  |  | -                       	 })(pos0, result0);
 | 
	
		
			
				|  |  | +                             return smalltalk.ValueNode._new()
 | 
	
		
			
				|  |  | +                                    ._value_(n)
 | 
	
		
			
				|  |  | +                         })(pos0, result0);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (result0 === null) {
 | 
	
		
			
				|  |  | +          pos = pos0;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return result0;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      
 | 
	
		
			
				|  |  | +      function parse_hex() {
 | 
	
		
			
				|  |  | +        var result0, result1, result2, result3;
 | 
	
		
			
				|  |  | +        var pos0, pos1;
 | 
	
		
			
				|  |  | +        
 | 
	
		
			
				|  |  | +        pos0 = pos;
 | 
	
		
			
				|  |  | +        pos1 = pos;
 | 
	
		
			
				|  |  | +        if (/^[\-]/.test(input.charAt(pos))) {
 | 
	
		
			
				|  |  | +          result0 = input.charAt(pos);
 | 
	
		
			
				|  |  | +          pos++;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          result0 = null;
 | 
	
		
			
				|  |  | +          if (reportFailures === 0) {
 | 
	
		
			
				|  |  | +            matchFailed("[\\-]");
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        result0 = result0 !== null ? result0 : "";
 | 
	
		
			
				|  |  | +        if (result0 !== null) {
 | 
	
		
			
				|  |  | +          if (input.substr(pos, 3) === "16r") {
 | 
	
		
			
				|  |  | +            result1 = "16r";
 | 
	
		
			
				|  |  | +            pos += 3;
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            result1 = null;
 | 
	
		
			
				|  |  | +            if (reportFailures === 0) {
 | 
	
		
			
				|  |  | +              matchFailed("\"16r\"");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (result1 !== null) {
 | 
	
		
			
				|  |  | +            if (/^[0-9a-zA-Z]/.test(input.charAt(pos))) {
 | 
	
		
			
				|  |  | +              result3 = input.charAt(pos);
 | 
	
		
			
				|  |  | +              pos++;
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              result3 = null;
 | 
	
		
			
				|  |  | +              if (reportFailures === 0) {
 | 
	
		
			
				|  |  | +                matchFailed("[0-9a-zA-Z]");
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (result3 !== null) {
 | 
	
		
			
				|  |  | +              result2 = [];
 | 
	
		
			
				|  |  | +              while (result3 !== null) {
 | 
	
		
			
				|  |  | +                result2.push(result3);
 | 
	
		
			
				|  |  | +                if (/^[0-9a-zA-Z]/.test(input.charAt(pos))) {
 | 
	
		
			
				|  |  | +                  result3 = input.charAt(pos);
 | 
	
		
			
				|  |  | +                  pos++;
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                  result3 = null;
 | 
	
		
			
				|  |  | +                  if (reportFailures === 0) {
 | 
	
		
			
				|  |  | +                    matchFailed("[0-9a-zA-Z]");
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              result2 = null;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (result2 !== null) {
 | 
	
		
			
				|  |  | +              result0 = [result0, result1, result2];
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              result0 = null;
 | 
	
		
			
				|  |  | +              pos = pos1;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            result0 = null;
 | 
	
		
			
				|  |  | +            pos = pos1;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +          result0 = null;
 | 
	
		
			
				|  |  | +          pos = pos1;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (result0 !== null) {
 | 
	
		
			
				|  |  | +          result0 = (function(offset, neg, num) {return parseInt((neg + num.join("")), 16)})(pos0, result0[0], result0[2]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1055,9 +1135,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, lits) {
 | 
	
		
			
				|  |  | -        		  return smalltalk.ValueNode._new()
 | 
	
		
			
				|  |  | -                       	   	._value_(lits)
 | 
	
		
			
				|  |  | -                       	 })(pos0, result0[2]);
 | 
	
		
			
				|  |  | +                             return smalltalk.ValueNode._new()
 | 
	
		
			
				|  |  | +                                    ._value_(lits)
 | 
	
		
			
				|  |  | +                         })(pos0, result0[2]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1136,9 +1216,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, expressions) {
 | 
	
		
			
				|  |  | -        	       	  return smalltalk.DynamicArrayNode._new()
 | 
	
		
			
				|  |  | -        		        ._nodes_(expressions)
 | 
	
		
			
				|  |  | -        		  })(pos0, result0[2]);
 | 
	
		
			
				|  |  | +                             return smalltalk.DynamicArrayNode._new()
 | 
	
		
			
				|  |  | +                                    ._nodes_(expressions)
 | 
	
		
			
				|  |  | +                         })(pos0, result0[2]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1202,9 +1282,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, expressions) {
 | 
	
		
			
				|  |  | -        	       	  return smalltalk.DynamicDictionaryNode._new()
 | 
	
		
			
				|  |  | -        		        ._nodes_(expressions)
 | 
	
		
			
				|  |  | -        		  })(pos0, result0[2]);
 | 
	
		
			
				|  |  | +                                return smalltalk.DynamicDictionaryNode._new()
 | 
	
		
			
				|  |  | +                                       ._nodes_(expressions)
 | 
	
		
			
				|  |  | +                            })(pos0, result0[2]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1271,8 +1351,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, val) {
 | 
	
		
			
				|  |  | -        			return smalltalk.ValueNode._new()._value_(val)
 | 
	
		
			
				|  |  | -        		    })(pos0, result0);
 | 
	
		
			
				|  |  | +                               return smalltalk.ValueNode._new()
 | 
	
		
			
				|  |  | +                                      ._value_(val)
 | 
	
		
			
				|  |  | +                           })(pos0, result0);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1316,9 +1397,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          result0 = parse_varIdentifier();
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, identifier) {
 | 
	
		
			
				|  |  | -        		  return smalltalk.VariableNode._new()
 | 
	
		
			
				|  |  | -        			._value_(identifier)
 | 
	
		
			
				|  |  | -        		  })(pos0, result0);
 | 
	
		
			
				|  |  | +                             return smalltalk.VariableNode._new()
 | 
	
		
			
				|  |  | +                                    ._value_(identifier)
 | 
	
		
			
				|  |  | +                         })(pos0, result0);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1334,9 +1415,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          result0 = parse_className();
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, className) {
 | 
	
		
			
				|  |  | -        		  return smalltalk.ClassReferenceNode._new()
 | 
	
		
			
				|  |  | -        		  	._value_(className)
 | 
	
		
			
				|  |  | -        		  })(pos0, result0);
 | 
	
		
			
				|  |  | +                             return smalltalk.ClassReferenceNode._new()
 | 
	
		
			
				|  |  | +                                    ._value_(className)
 | 
	
		
			
				|  |  | +                         })(pos0, result0);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1515,7 +1596,7 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, pairs) {
 | 
	
		
			
				|  |  | -        	             var keywords = [];
 | 
	
		
			
				|  |  | +                             var keywords = [];
 | 
	
		
			
				|  |  |                               var params = [];
 | 
	
		
			
				|  |  |                               for(var i=0;i<pairs.length;i++){
 | 
	
		
			
				|  |  |                                   keywords.push(pairs[i].key);
 | 
	
	
		
			
				|  | @@ -1523,8 +1604,8 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |                               for(var i=0;i<pairs.length;i++){
 | 
	
		
			
				|  |  |                                   params.push(pairs[i].arg);
 | 
	
		
			
				|  |  |                               }
 | 
	
		
			
				|  |  | -        		     return [keywords.join(""), params]
 | 
	
		
			
				|  |  | -        	         })(pos0, result0);
 | 
	
		
			
				|  |  | +                             return [keywords.join(""), params]
 | 
	
		
			
				|  |  | +                         })(pos0, result0);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1693,12 +1774,12 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, first, others) {
 | 
	
		
			
				|  |  | -        	       	     var result = [first];
 | 
	
		
			
				|  |  | -        		     for(var i=0;i<others.length;i++) {
 | 
	
		
			
				|  |  | -        		 	 result.push(others[i]);
 | 
	
		
			
				|  |  | -        		     }
 | 
	
		
			
				|  |  | -        		     return result;
 | 
	
		
			
				|  |  | -        	       })(pos0, result0[0], result0[1]);
 | 
	
		
			
				|  |  | +                             var result = [first];
 | 
	
		
			
				|  |  | +                             for(var i=0;i<others.length;i++) {
 | 
	
		
			
				|  |  | +                                 result.push(others[i]);
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                             return result;
 | 
	
		
			
				|  |  | +                         })(pos0, result0[0], result0[1]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1753,10 +1834,10 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, variable, expression) {
 | 
	
		
			
				|  |  | -        	       	     return smalltalk.AssignmentNode._new()
 | 
	
		
			
				|  |  | -        	       	     	._left_(variable)
 | 
	
		
			
				|  |  | -        	       	     	._right_(expression)
 | 
	
		
			
				|  |  | -        		 })(pos0, result0[0], result0[4]);
 | 
	
		
			
				|  |  | +                             return smalltalk.AssignmentNode._new()
 | 
	
		
			
				|  |  | +                                    ._left_(variable)
 | 
	
		
			
				|  |  | +                                    ._right_(expression)
 | 
	
		
			
				|  |  | +                         })(pos0, result0[0], result0[4]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -1820,9 +1901,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, expression) {
 | 
	
		
			
				|  |  | -        	       	     return smalltalk.ReturnNode._new()
 | 
	
		
			
				|  |  | -        	       	     	._nodes_([expression])
 | 
	
		
			
				|  |  | -        	       })(pos0, result0[2]);
 | 
	
		
			
				|  |  | +                             return smalltalk.ReturnNode._new()
 | 
	
		
			
				|  |  | +                                    ._nodes_([expression])
 | 
	
		
			
				|  |  | +                         })(pos0, result0[2]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2264,10 +2345,10 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            if (result0 !== null) {
 | 
	
		
			
				|  |  |              result0 = (function(offset, exps, ret) {
 | 
	
		
			
				|  |  | -                	      	  var expressions = exps;
 | 
	
		
			
				|  |  | -                		  expressions.push(ret);
 | 
	
		
			
				|  |  | -                		  return expressions
 | 
	
		
			
				|  |  | -            		})(pos0, result0[0], result0[4]);
 | 
	
		
			
				|  |  | +                                 var expressions = exps;
 | 
	
		
			
				|  |  | +                                 expressions.push(ret);
 | 
	
		
			
				|  |  | +                                 return expressions
 | 
	
		
			
				|  |  | +                             })(pos0, result0[0], result0[4]);
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            if (result0 === null) {
 | 
	
		
			
				|  |  |              pos = pos0;
 | 
	
	
		
			
				|  | @@ -2312,8 +2393,8 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (result0 !== null) {
 | 
	
		
			
				|  |  |                result0 = (function(offset, expressions) {
 | 
	
		
			
				|  |  | -                  	          return expressions || []
 | 
	
		
			
				|  |  | -              	        })(pos0, result0[0]);
 | 
	
		
			
				|  |  | +                                   return expressions || []
 | 
	
		
			
				|  |  | +                               })(pos0, result0[0]);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (result0 === null) {
 | 
	
		
			
				|  |  |                pos = pos0;
 | 
	
	
		
			
				|  | @@ -2358,10 +2439,10 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, temps, statements) {
 | 
	
		
			
				|  |  | -        	      	  return smalltalk.SequenceNode._new()
 | 
	
		
			
				|  |  | -        	      	  	._temps_(temps || [])
 | 
	
		
			
				|  |  | -        	      	  	._nodes_(statements || [])
 | 
	
		
			
				|  |  | -        		})(pos0, result0[0], result0[2]);
 | 
	
		
			
				|  |  | +                             return smalltalk.SequenceNode._new()
 | 
	
		
			
				|  |  | +                                    ._temps_(temps || [])
 | 
	
		
			
				|  |  | +                                    ._nodes_(statements || [])
 | 
	
		
			
				|  |  | +                         })(pos0, result0[0], result0[2]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2438,10 +2519,10 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, params, sequence) {
 | 
	
		
			
				|  |  | -        	          return smalltalk.BlockNode._new()
 | 
	
		
			
				|  |  | -        	          	._parameters_(params || [])
 | 
	
		
			
				|  |  | -        	          	._nodes_([sequence._asBlockSequenceNode()])
 | 
	
		
			
				|  |  | -        		})(pos0, result0[2], result0[4]);
 | 
	
		
			
				|  |  | +                             return smalltalk.BlockNode._new()
 | 
	
		
			
				|  |  | +                                    ._parameters_(params || [])
 | 
	
		
			
				|  |  | +                                    ._nodes_([sequence._asBlockSequenceNode()])
 | 
	
		
			
				|  |  | +                         })(pos0, result0[2], result0[4]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2506,9 +2587,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, selector) {
 | 
	
		
			
				|  |  | -        	      	return smalltalk.SendNode._new()
 | 
	
		
			
				|  |  | -        	      		._selector_(selector)
 | 
	
		
			
				|  |  | -        	      })(pos0, result0[1]);
 | 
	
		
			
				|  |  | +                             return smalltalk.SendNode._new()
 | 
	
		
			
				|  |  | +                                    ._selector_(selector)
 | 
	
		
			
				|  |  | +                         })(pos0, result0[1]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2550,13 +2631,13 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, message, tail) {
 | 
	
		
			
				|  |  | -        		  if(tail) {
 | 
	
		
			
				|  |  | -                  	      return tail._valueForReceiver_(message);
 | 
	
		
			
				|  |  | -              		  }
 | 
	
		
			
				|  |  | -              		  else {
 | 
	
		
			
				|  |  | -                  	      return message;
 | 
	
		
			
				|  |  | -              		  }
 | 
	
		
			
				|  |  | -          	      })(pos0, result0[0], result0[2]);
 | 
	
		
			
				|  |  | +                             if(tail) {
 | 
	
		
			
				|  |  | +                                 return tail._valueForReceiver_(message);
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                             else {
 | 
	
		
			
				|  |  | +                                 return message;
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                         })(pos0, result0[0], result0[2]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2592,13 +2673,13 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, receiver, tail) {
 | 
	
		
			
				|  |  | -        		  if(tail) {
 | 
	
		
			
				|  |  | -                  	      return tail._valueForReceiver_(receiver);
 | 
	
		
			
				|  |  | -              		  }
 | 
	
		
			
				|  |  | -              		  else {
 | 
	
		
			
				|  |  | -                  	      return receiver;
 | 
	
		
			
				|  |  | -              		  }
 | 
	
		
			
				|  |  | -        	      })(pos0, result0[0], result0[2]);
 | 
	
		
			
				|  |  | +                             if(tail) {
 | 
	
		
			
				|  |  | +                                 return tail._valueForReceiver_(receiver);
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                             else {
 | 
	
		
			
				|  |  | +                                 return receiver;
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                         })(pos0, result0[0], result0[2]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2642,10 +2723,10 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, selector, arg) {
 | 
	
		
			
				|  |  | -        	          return smalltalk.SendNode._new()
 | 
	
		
			
				|  |  | -        	          	._selector_(selector)
 | 
	
		
			
				|  |  | -        	          	._arguments_([arg])
 | 
	
		
			
				|  |  | -        	      })(pos0, result0[1], result0[3]);
 | 
	
		
			
				|  |  | +                             return smalltalk.SendNode._new()
 | 
	
		
			
				|  |  | +                                    ._selector_(selector)
 | 
	
		
			
				|  |  | +                                    ._arguments_([arg])
 | 
	
		
			
				|  |  | +                         })(pos0, result0[1], result0[3]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2675,13 +2756,13 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, message, tail) {
 | 
	
		
			
				|  |  | -              	          if(tail) {
 | 
	
		
			
				|  |  | -                  	      return tail._valueForReceiver_(message);
 | 
	
		
			
				|  |  | -              		  }
 | 
	
		
			
				|  |  | -              		  else {
 | 
	
		
			
				|  |  | -                  	      return message;
 | 
	
		
			
				|  |  | -              		  }
 | 
	
		
			
				|  |  | -          	      })(pos0, result0[0], result0[1]);
 | 
	
		
			
				|  |  | +                             if(tail) {
 | 
	
		
			
				|  |  | +                                 return tail._valueForReceiver_(message);
 | 
	
		
			
				|  |  | +                              }
 | 
	
		
			
				|  |  | +                             else {
 | 
	
		
			
				|  |  | +                                 return message;
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                         })(pos0, result0[0], result0[1]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2711,13 +2792,13 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, receiver, tail) {
 | 
	
		
			
				|  |  | -        	      	  if(tail) {
 | 
	
		
			
				|  |  | -                  	      return tail._valueForReceiver_(receiver);
 | 
	
		
			
				|  |  | -              		  }
 | 
	
		
			
				|  |  | -              		  else {
 | 
	
		
			
				|  |  | -                  	      return receiver;
 | 
	
		
			
				|  |  | -              		  }
 | 
	
		
			
				|  |  | -        	      })(pos0, result0[0], result0[1]);
 | 
	
		
			
				|  |  | +                             if(tail) {
 | 
	
		
			
				|  |  | +                                 return tail._valueForReceiver_(receiver);
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                             else {
 | 
	
		
			
				|  |  | +                                 return receiver;
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                         })(pos0, result0[0], result0[1]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2795,16 +2876,16 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, pairs) {
 | 
	
		
			
				|  |  | -              		  var selector = [];
 | 
	
		
			
				|  |  | -              		  var args = [];
 | 
	
		
			
				|  |  | -              		  for(var i=0;i<pairs.length;i++) {
 | 
	
		
			
				|  |  | -                  	      selector.push(pairs[i].key);
 | 
	
		
			
				|  |  | -                  	      args.push(pairs[i].arg);
 | 
	
		
			
				|  |  | -              		  }
 | 
	
		
			
				|  |  | -              		  return smalltalk.SendNode._new()
 | 
	
		
			
				|  |  | -              		  	._selector_(selector.join(""))
 | 
	
		
			
				|  |  | -              		  	._arguments_(args)
 | 
	
		
			
				|  |  | -          	      })(pos0, result0[1]);
 | 
	
		
			
				|  |  | +                             var selector = [];
 | 
	
		
			
				|  |  | +                             var args = [];
 | 
	
		
			
				|  |  | +                              for(var i=0;i<pairs.length;i++) {
 | 
	
		
			
				|  |  | +                                  selector.push(pairs[i].key);
 | 
	
		
			
				|  |  | +                                  args.push(pairs[i].arg);
 | 
	
		
			
				|  |  | +                              }
 | 
	
		
			
				|  |  | +                              return smalltalk.SendNode._new()
 | 
	
		
			
				|  |  | +                                     ._selector_(selector.join(""))
 | 
	
		
			
				|  |  | +                                     ._arguments_(args)
 | 
	
		
			
				|  |  | +                         })(pos0, result0[1]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2833,8 +2914,8 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, receiver, tail) {
 | 
	
		
			
				|  |  | -        	          return tail._valueForReceiver_(receiver);
 | 
	
		
			
				|  |  | -        	      })(pos0, result0[0], result0[1]);
 | 
	
		
			
				|  |  | +                             return tail._valueForReceiver_(receiver);
 | 
	
		
			
				|  |  | +                         })(pos0, result0[0], result0[1]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -2986,15 +3067,15 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, send, messages) {
 | 
	
		
			
				|  |  | -        		var cascade = [];
 | 
	
		
			
				|  |  | -              		cascade.push(send);
 | 
	
		
			
				|  |  | -              		for(var i=0;i<messages.length;i++) {
 | 
	
		
			
				|  |  | -                  		cascade.push(messages[i]);
 | 
	
		
			
				|  |  | -              		}
 | 
	
		
			
				|  |  | -              		return smalltalk.CascadeNode._new()
 | 
	
		
			
				|  |  | -                  	       ._receiver_(send._receiver())
 | 
	
		
			
				|  |  | -                  	       ._nodes_(cascade)
 | 
	
		
			
				|  |  | -          	      })(pos0, result0[1], result0[2]);
 | 
	
		
			
				|  |  | +                             var cascade = [];
 | 
	
		
			
				|  |  | +                             cascade.push(send);
 | 
	
		
			
				|  |  | +                             for(var i=0;i<messages.length;i++) {
 | 
	
		
			
				|  |  | +                                 cascade.push(messages[i]);
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                             return smalltalk.CascadeNode._new()
 | 
	
		
			
				|  |  | +                                    ._receiver_(send._receiver())
 | 
	
		
			
				|  |  | +                                    ._nodes_(cascade)
 | 
	
		
			
				|  |  | +                         })(pos0, result0[1], result0[2]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -3102,9 +3183,9 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, val) {
 | 
	
		
			
				|  |  | -        		return smalltalk.JSStatementNode._new()
 | 
	
		
			
				|  |  | -        			._source_(val.join(""))
 | 
	
		
			
				|  |  | -          	      })(pos0, result0[1]);
 | 
	
		
			
				|  |  | +                             return smalltalk.JSStatementNode._new()
 | 
	
		
			
				|  |  | +                                    ._source_(val.join(""))
 | 
	
		
			
				|  |  | +                         })(pos0, result0[1]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 | 
	
	
		
			
				|  | @@ -3158,11 +3239,11 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 !== null) {
 | 
	
		
			
				|  |  |            result0 = (function(offset, pattern, sequence) {
 | 
	
		
			
				|  |  | -        	      	return smalltalk.MethodNode._new()
 | 
	
		
			
				|  |  | -        		       ._selector_(pattern[0])
 | 
	
		
			
				|  |  | -        		       ._arguments_(pattern[1])
 | 
	
		
			
				|  |  | -        		       ._nodes_([sequence])
 | 
	
		
			
				|  |  | -        	      })(pos0, result0[1], result0[3]);
 | 
	
		
			
				|  |  | +                              return smalltalk.MethodNode._new()
 | 
	
		
			
				|  |  | +                                     ._selector_(pattern[0])
 | 
	
		
			
				|  |  | +                                     ._arguments_(pattern[1])
 | 
	
		
			
				|  |  | +                                     ._nodes_([sequence])
 | 
	
		
			
				|  |  | +                         })(pos0, result0[1], result0[3]);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if (result0 === null) {
 | 
	
		
			
				|  |  |            pos = pos0;
 |