语法点:过去完成进行时 (Past Perfect Continuous)
过去完成进行时 (had been doing) 表示在过去某个时间点之前,一个动作已经持续了一段时间,并且往往一直延续到那个时间点。它强调动作的“持续过程”,常和 for + 时间段、before / when + 过去时从句连用。与过去完成时 (had done) 相比,过去完成时强调“已经完成”,过去完成进行时强调“一直在做、持续了多久”。本课描写大火之后的情形,多处用它说明消防员、飞机、树木在某个过去时刻之前持续做了多久。
结构
| 形式 | 结构 | 例子 |
|---|---|---|
| 肯定 | S + had been + doing | Firemen had been fighting the fire for three weeks. |
| 否定 | S + had not (hadn't) been + doing | It hadn't been raining for a month. |
| 疑问 | Had + S + been + doing? | How long had the planes been planting seed? |
常见搭配:for + 时间段(for nearly a month)、before / when + 一般过去时从句、by then。
课文中的例句
- [句 1] Firemen had been fighting the forest fire for nearly three weeks before they could get it under control. — 过去完成进行时:在“控制住火势”这个过去时刻之前,灭火已经持续了近三周。
- [句 7] The planes had been planting seed for nearly a month when it began to rain. — 过去完成进行时 + when 一般过去时:下雨之前播种已持续近一个月。
- [句 9] In place of the great trees which had been growing there for centuries, patches of green had begun to appear in the blackened soil. — 定语从句中的过去完成进行时,强调树木在那里生长了几个世纪。
- [句 2] A short time before, great trees had covered the countryside for miles around. — 对比:过去完成时 had covered,只说明“过去的过去”这一事实。
- [句 8] By then, however, in many places the grass had already taken root. — 对比:过去完成时 + already,强调动作已完成。
补充例句
- The firemen had been working all night before the fire was put out. — 大火被扑灭之前,消防员已经工作了一整夜。
- It had been raining for days when the floods began. — 洪水开始的时候,雨已经下了好几天。
- The villagers had been waiting for the rain for weeks, so they were glad to see it. — 村民们盼雨盼了好几周,所以见到下雨很高兴。
易错点
- ❌ Firemen were fighting the fire for three weeks before they could get it under control. → ✅ Firemen had been fighting the fire for three weeks before they could get it under control. —— 强调“过去某时之前已持续多久”要用过去完成进行时,不用过去进行时。
- ❌ The planes had planting seed for a month. → ✅ The planes had been planting seed for a month. —— had 后必须加 been 再接 -ing。
- ❌ The planes had been planting seed for a month when it had begun to rain. → ✅ …when it began to rain. —— when 引导的从句表示较晚发生的动作,用一般过去时即可。
- ❌ The grass had been taking root by then. → ✅ The grass had already taken root by then. —— “生根”是已完成的结果,不是持续的过程,应用过去完成时。