这是个“省略加提前”的虚拟条件句,把这个句子还原成我们熟悉的就是:
If they were to arrive before we depart the day after tomorrow, we should have a wonderful dinner party.
具体语法如下:
在虚拟条件句中,有时可将虚拟条件句的连词if省略,但此时应用倒装句型,即将从句中的were, should, had 等提到句首。如:
如果她在这里,她也同意的。
If he were here, she would agree too.
→Were she here, she would agree too.
假若明天下雨,我们只好推迟这场比赛。
If it should rain tomorrow, we should have to put off the match.
→Should it rain tomorrow, we should have to put off the match.
要是我们当时早点找到他的话,我们就可以救活他。
If we had found him earlier we could have saved his life.
→Had we found him earlier we could have saved his life.
具体分析:
排除B,就没有这种形式
be to do 表示即将发生的事,也就是一种将来时态,因为句子里讲的是后天的情况,所以要用将来时态 be to do,这样A.C都不对。
【英语专业八级,欢迎追问】
首先要知道if引导的虚拟句型
对过去的虚拟:从句 if + had done(过去完成) 主句 would/could/should/might + have done(现在完成)
对现在的虚拟:从句 if + did(过去式) 主句 would/could/should/might + do(动词原型)
对将来的虚拟:从句1) if + should + do(动词原型);
2) if + were to +do(动词原型);
3) if + did(过去式); 主句 would/could/should/might + do(动词原型)
在此题中 the day after tomorrow是表示对将来的虚拟, A 选项 have done 是对过去的虚拟
所以应该是 if they were to arrive before the day after tomorrow
另外if条件句中如有were, should, had,可以省去if,并使用倒装语序,所以应该选D
虚拟语态,如果后天在我们离开前他们到这.....
D对,虚拟将来式。
我觉得该选A啊