anchor.diff:    /// Parses a floating-point scalar.
     _ScalarNode parseFloat(String content) {
       var match = new RegExp(
  -        "^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?\$").
  +        r"^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$").
         firstMatch(content);
       if (match != null) {
         // YAML allows floats of the form "0.", but Dart does not. Fix up those
  
positive.code:           value: double.parse(matchStr));
      }
  
      match = new RegExp("^([+-]?)\.(inf|Inf|INF)\$").firstMatch(content);
      if (match != null) {
        var value = match.group(1) == "-" ? -double.INFINITY : double.INFINITY;
        return new _ScalarNode(_Tag.yaml("float"), value: value);
      }
  
      match = new RegExp("^\.(nan|NaN|NAN)\$").firstMatch(content);
      if (match != null) {
        return new _ScalarNode(_Tag.yaml("float"), value: double.NAN);
      }
  
negative.code: 
    /// Parses an integer scalar.
    _ScalarNode parseInt(String content) {
      var match = new RegExp(r"^[-+]?[0-9]+$").firstMatch(content);
      if (match != null) {
        return new _ScalarNode(_Tag.yaml("int"),
            value: int.parse(match.group(0)));
      }
  
      match = new RegExp(r"^0o([0-7]+)$").firstMatch(content);
      if (match != null) {
        int n = int.parse(match.group(1), radix: 8);
        return new _ScalarNode(_Tag.yaml("int"), value: n);
      }
  
      match = new RegExp(r"^0x[0-9a-fA-F]+$").firstMatch(content);
      if (match != null) {
        return new _ScalarNode(_Tag.yaml("int"),
            value: int.parse(match.group(0)));
  