原文网址:《情态动词和不定式完成体的使用方法》
原文:我造一个句子;
If Tom hadn't missed the train this morning, he could have come by noontomorrow.
事实:汤姆错过了今早的火车,所以明天下午才能到达。
与事实相反的假设:如果汤姆没错过今早的火车,他本可以在明天中午前到达的。
我的理解1:第一种讲解:作为从句过去的过去事实,而主句是基于从句进行推断,那样would have done 这里就是表示对过去以后的推断,由于这里加了以后时间状语,所以不是对过去的过去推断了。
我的疑问1:第二种讲解,从句对过去事实的假设,而主句基于从句事实而对过去事实虚拟,从句是虚拟语气那样主句也需要是虚拟语气,可是这里主句加了tomorrow,这个逻辑我理解不了,主句对过去事实的相反假设为何还要加以后时间状语tomorrow呢?
If Tom hadn't missed the train this morning, he could have come by noon tomorrow.
这是一个错综时间虚拟条件句。从句是对过去事实相反的假设,主句是在这种假设的基础上推断以后的状况。特殊之处在于主句因为用了by noon这个时间状语,主句的谓语动词需要用完成体,所以主句谓语形式为could have done形式。句子意思是,如果他今早没错过火车的话,他本该明天中午前到达的。(事实是,他今早没赶上火车,所以他明天中午前没办法达到。)
这个例句就是专门针对would have done可否表示以后时间而涉及的一个句子。本句中的could have done的时间指向并非过去,by noon tomorrow已经明确对你说具体时间了。
这个句子明显是虚拟语气,你如何能觉得是对过去或过去的过去的事实的假设呢?你的理解和疑惑都是没道理的。说到底,你忽视了句子表达的逻辑,误以为主句只须用would/could have done形式就肯定是表示过去。你领会一下下面陈述语气的句子:
He will have arrived by noon tomorrow. 他最晚明天中午就会到的。
He will have arrived by noon yesterday. 他最晚是昨天中午到的。(will在本句的使用方法接近must, 且不及must常用)
以上二个句子谓语动词形式一模一样,时间状语不同致使谓语动词的时间指向不同。所以,不要误以为will have done形式肯定指向以后,也不要误以为would have done形式肯定指向过去。要依据句子的语境,与句子的时间状语去准确判断谓语动词的时间指向。
你的错误理解和疑惑我就不直接回答了。你理解我上面的说明,与上次原题我的解答就能了。