​请教曹荣禄老师

之前看过您的一篇文章,是讨论may (not) have done和might (not) have done对过去推测的用法的区别,may (not) have done是站在现在的立场对过去的推测,而might (not) have done既可以是站在现在的立场对过去的推测,也可以是站在过去的立场对过去的过去进行推测。还有些问题请教:

1. Conservationists speculated that a "lake effect" may have caused the birds to mistake the sprawling solar farms for bodies of water. (www.latimes.com—Can solar farms and wild places coexist in the American West? 2020/06/02)

个人感觉这里的may have caused更像是站在过去的立场对过去的过去进行推测,对吗?

2. can't have done和couldn't have done是否也有类似may (not) have done和might (not) have done之间的区别,当表示对过去的推测时?

3. may not have done和may have not done都可以用来表示推测,您是怎么区别他们的?may not have done可否翻译成“(过去)不可能做了......”;may have not done可否翻译成“(过去)可能没做.......”?

谢谢。

请先 登录 后评论

最佳答案 2020-07-03 14:21

1 may have done不可以表示站在过去立场进行推测。

这个句子主句为一般过去时,按照时态一致的原则,宾语从句本应该用相应的过去时态。但如果说话人认同从句的观点,认为从句的内容在自己引述时依然有效,则从句可以用现在时,所以,从句的may have done还是从现在的立场推测过去,而不是从过去的立场。

2 情态动词的过去形式+have done可以表示现在对过去的推测,也可以表示在过去对过去的过去的推测,需要根据语境确定。但情态动词的现在形式+have done只能表示现在对过去的推测,不能表示过去的推测。所以,could, might, would, should+have done都适合这个规则。

3 may not have done 意为可能没有,而不是不可能有。表示不可能要用can't have done.

may have not done为错误。not要放在操作词之后。have为不定式,不是操作词了。

请先 登录 后评论

其它 0 个回答

  • 3 关注
  • 8 收藏,2653 浏览
  • xxwzs 提出于 2020-07-03 11:12

相似问题