You could have come yesterday/today/tomorrow.
(You had the opportunity to come, but you didn't take it.).
She ought to/should have gone to the dentist tomorrow.
(But she has cancelled the appointment.)
Bill would/might have bought a motorbike last year/now/soon. (But he was in a bad crash last January.)
If I had won the lottery, I would/should/might/could have bought a yacht last year/next year.
If my father were alive, he would have been going next year.
以上例句都来自于章振邦新编高级英语语法195页。
我所不能理解的是:
过去时情态助动词could/would/should/might+have+done这种形式
要么是表示站在现在的=说话者当时的时间角度来对已经发生的事情作相反的假设
就是传统语法上所说的虚拟语气;
要么是表示站在现在的=说话者当时的时间角度来对已经发生的事情进行推测。
所以,为什么上面的例句都可以后接“现在或将来时间状语”呢?
现在或将来时间状语表明“还没有发生”,这和过去时情态助动词could/would/should/might+have+done这种形式表示过去虚拟或过去推测
不是矛盾了吗?