A说:Why didn’t you warn me? I’d have come back tomorrow.
B说:But you’d have missed Matthew.
(上面对话来自电视剧,说话的几个小时后A将会见到Matthew)
这个地方有两个would have done. 第一个应该是虚拟语气用法,但是第一句话有个tomorrow,那是不是应该为 I'd come back tomorrow而不是 I'd have come back tomorrow.
第二个其实应该可以分析成过去将来完成时?
语法书讲解虚拟语气动词形式,其实就是给你一个原则,并没有穷尽所有使用场合。比如would have done这种虚拟语气形式并非只能表示与过去事实相反,它完全可以用来表示在将来某个时间之前不可能发生的事情。例如下面这个语境:
你的电视坏了送去修理,然后你去催促,问能不能在晚上8点前修好,因为你要看足球转播。修理工对你说:
If you had brought your TV earlier, I would have have repired it by then. (by then指8点钟)。这个句子告诉听话人,电视送来的太晚,维修麻烦需要很多时间,8点前不可能修好。所以这个would have done虚拟语气形式表示的就不是与过去事实相反,而是与8点钟这个将来时间之前的事实想法,即8点前不大可能发生的事。
现在可以回到你的句子。
A 告诉 B 他将和 Matthew 见面,B也想见 Matthew,责备A 为什么不提前告诉自己,这样他明天前就可以回来和Matthew见面。事实上他明天前不可能回来。A 回答到,我告诉你没用,即使你明天前回来,你还是见不到Matthew的,因为Matthew几个小时后就到,只待很短时间就离开,你即使明天前回来也还是见不到他的。
我把对话省略的状语补充上去:
A说:Why didn’t you warn me? If you had told me earlier, I’d have come back tomorrow.
B说:But even if you had come back by tomorrow, you’d have missed Matthew.
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
我也认为这个句子是对的,这种说法经济学人上也出现过。不过我和曹老师的看法略有不同。
这里可以不用by 介词短语表达的"终点时间"含义,来引发了完成体使用。比如
If I had won the lottery, I would/should/might/could have bought a yacht last year/ next year . 《新编高级英语语法》
我的理解,情态动词过去式加不定式完成体 Would have bought,相比于,情态动词过去式加不定式 would buy,更加"不可能"。因为一个是"非事实"counterfactuality, 一个是"渺茫可能性"modal remoteness,
第2个句子的用法和第1个是一样的,都是虚拟语气。