anchor.diff:  
       while (isDigit(scanner.peekChar())) {
         number *= 10;
  -      number += scanner.readChar() - $0;
  +      number += asDecimal(scanner.readChar());
       }
   
       if (scanner.peekChar() == $dot) {
  
positive.code: 
        var decimal = 0.1;
        while (isDigit(scanner.peekChar())) {
          number += (scanner.readChar() - $0) * decimal;
          decimal /= 10;
        }
      }
  
negative.code:           } else if (_lookingAtInterpolatedIdentifier()) {
              addSingleExpression(_identifierLike());
            } else {
              scanner.readChar();
              addOperator(BinaryOperator.minus);
            }
            break;
  