Anybody in that situation would have done what I did.
主句,表达虚拟假设,说明如果任何人处在那种情况下都会做某事
成分推断 · 3 项
- 先找句中所有动词形式。本分句中出现了 "would"(情态动词)、"have"(助动词)、"done"(过去分词),它们连在一起构成 "would have done"。
- 判断哪个是谓语:谓语必须是能够表达时间、语气、主被动的核心动词结构。"would have done" 是情态动词 + 完成时的组合,能够完整表达虚拟语气和时间关系,因此它是本分句的谓语。
- 排除其他候选:"did" 出现在 "what I did" 中,它是宾语从句内部的谓语,不是主句谓语。主句中除了 "would have done" 外没有其他动词形式,因此确认 "would have done" 是主句谓语。
- 先找谓语 "would have done",然后看它前面是谁发出这个动作。谓语前面是 "Anybody in that situation",其中 "Anybody" 是核心名词,"in that situation" 是介词短语作定语修饰 "Anybody"。
- 判断主谓关系:"Anybody in that situation" 在谓语之前,表示执行 "would have done" 这个动作的人,符合主语的定义。
- 排除其他候选:句中没有其他名词或代词出现在谓语之前且能与谓语构成主谓关系,因此 "Anybody in that situation" 是主语。
- 先确认谓语 "would have done" 是及物动词 "do" 的变形,需要宾语。观察谓语后面紧跟 "what I did"。
- 判断 "what I did" 的作用:"what" 引导一个从句,这个从句跟在及物动词 "done" 后面,回答 "做了什么" 的问题,因此它在主句中充当宾语。
- 排除其他候选:主句中 "would have done" 后面只有 "what I did" 这一个结构,没有其他名词或从句与它竞争宾语位置,因此确认 "what I did" 是宾语。
时态 · 语态 · 语气
- 时态判定:先看谓语动词形式 "would have done"。它由 "would"(过去将来的助动词)+ "have"(完成体助动词)+ "done"(过去分词)构成,这是过去将来完成时的标准形式。
- 语态判定:观察谓语结构,"would have done" 后面直接跟宾语 "what I did",没有 "be + 过去分词" 的被动标志,主语 "Anybody" 是动作的发出者,因此是主动语态。
- 语气判定:本句表达的是与过去事实相反的假设。虚拟语气的标志是:主句用 "would have done"(过去将来完成时),表示 "如果当时那样的话,就会做某事",这是典型的虚拟语气结构,用于表达与过去事实相反的假设情况。
语义说明 过去将来完成时配合虚拟语气,表达说话人认为在过去某种假设情况下本该发生但实际未发生的动作,带有假设和推测的语气,用于表达 "处在那种情况下的任何人都会做我所做的事" 这一与实际情况对比的假设判断。