之前看过您的一篇文章,是讨论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可否翻译成“(过去)可能没做.......”?
谢谢。
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为不定式,不是操作词了。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!