|  | @@ -996,17 +996,42 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |          var savedPos0 = pos;
 | 
	
		
			
				|  |  |          var savedPos1 = pos;
 | 
	
		
			
				|  |  |          if (input.substr(pos).match(/^[\-]/) !== null) {
 | 
	
		
			
				|  |  | -          var result7 = input.charAt(pos);
 | 
	
		
			
				|  |  | +          var result9 = input.charAt(pos);
 | 
	
		
			
				|  |  |            pos++;
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -          var result7 = null;
 | 
	
		
			
				|  |  | +          var result9 = null;
 | 
	
		
			
				|  |  |            if (reportMatchFailures) {
 | 
	
		
			
				|  |  |              matchFailed("[\\-]");
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        var result3 = result7 !== null ? result7 : '';
 | 
	
		
			
				|  |  | +        var result3 = result9 !== null ? result9 : '';
 | 
	
		
			
				|  |  |          if (result3 !== null) {
 | 
	
		
			
				|  |  | -          var result4 = parse_integer();
 | 
	
		
			
				|  |  | +          if (input.substr(pos).match(/^[0-9]/) !== null) {
 | 
	
		
			
				|  |  | +            var result8 = input.charAt(pos);
 | 
	
		
			
				|  |  | +            pos++;
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            var result8 = null;
 | 
	
		
			
				|  |  | +            if (reportMatchFailures) {
 | 
	
		
			
				|  |  | +              matchFailed("[0-9]");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          if (result8 !== null) {
 | 
	
		
			
				|  |  | +            var result4 = [];
 | 
	
		
			
				|  |  | +            while (result8 !== null) {
 | 
	
		
			
				|  |  | +              result4.push(result8);
 | 
	
		
			
				|  |  | +              if (input.substr(pos).match(/^[0-9]/) !== null) {
 | 
	
		
			
				|  |  | +                var result8 = input.charAt(pos);
 | 
	
		
			
				|  |  | +                pos++;
 | 
	
		
			
				|  |  | +              } else {
 | 
	
		
			
				|  |  | +                var result8 = null;
 | 
	
		
			
				|  |  | +                if (reportMatchFailures) {
 | 
	
		
			
				|  |  | +                  matchFailed("[0-9]");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            var result4 = null;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |            if (result4 !== null) {
 | 
	
		
			
				|  |  |              if (input.substr(pos, 1) === ".") {
 | 
	
		
			
				|  |  |                var result5 = ".";
 | 
	
	
		
			
				|  | @@ -1018,7 +1043,32 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              if (result5 !== null) {
 | 
	
		
			
				|  |  | -              var result6 = parse_integer();
 | 
	
		
			
				|  |  | +              if (input.substr(pos).match(/^[0-9]/) !== null) {
 | 
	
		
			
				|  |  | +                var result7 = input.charAt(pos);
 | 
	
		
			
				|  |  | +                pos++;
 | 
	
		
			
				|  |  | +              } else {
 | 
	
		
			
				|  |  | +                var result7 = null;
 | 
	
		
			
				|  |  | +                if (reportMatchFailures) {
 | 
	
		
			
				|  |  | +                  matchFailed("[0-9]");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              if (result7 !== null) {
 | 
	
		
			
				|  |  | +                var result6 = [];
 | 
	
		
			
				|  |  | +                while (result7 !== null) {
 | 
	
		
			
				|  |  | +                  result6.push(result7);
 | 
	
		
			
				|  |  | +                  if (input.substr(pos).match(/^[0-9]/) !== null) {
 | 
	
		
			
				|  |  | +                    var result7 = input.charAt(pos);
 | 
	
		
			
				|  |  | +                    pos++;
 | 
	
		
			
				|  |  | +                  } else {
 | 
	
		
			
				|  |  | +                    var result7 = null;
 | 
	
		
			
				|  |  | +                    if (reportMatchFailures) {
 | 
	
		
			
				|  |  | +                      matchFailed("[0-9]");
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +              } else {
 | 
	
		
			
				|  |  | +                var result6 = null;
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  |                if (result6 !== null) {
 | 
	
		
			
				|  |  |                  var result1 = [result3, result4, result5, result6];
 | 
	
		
			
				|  |  |                } else {
 | 
	
	
		
			
				|  | @@ -1038,7 +1088,7 @@ smalltalk.parser = (function(){
 | 
	
		
			
				|  |  |            pos = savedPos1;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          var result2 = result1 !== null
 | 
	
		
			
				|  |  | -          ? (function(neg, int, dec) {return parseFloat((neg+int+"."+dec), 10)})(result1[0], result1[1], result1[3])
 | 
	
		
			
				|  |  | +          ? (function(neg, int, dec) {return parseFloat((neg + int.join("") + "." + dec.join("")), 10)})(result1[0], result1[1], result1[3])
 | 
	
		
			
				|  |  |            : null;
 | 
	
		
			
				|  |  |          if (result2 !== null) {
 | 
	
		
			
				|  |  |            var result0 = result2;
 |