英文动词的时态,可以分成现在、过去、未来等三种时间(times),简单式、完成式、进行式、完成进行式等四种状态(aspects)。如果再加上主动、被动两种语态(voices),那么动词时态变化多达24种。扣掉一、两种很少使用的,实际上经常用到的时态也有22至23种之多。
时态的变化很多、很复杂。但是每一个英文句子都有动词、都会牵涉到时态的判断。如果时态的观念不清楚,英文写作一定会碰到层出不穷的问题。要想驾简驭繁、轻松建立起时态的观念、打好英文写作的基础,有一个变通的办法可以让时态问题变得很简单。做法是在句型诠释上转变一下:视 be 为动词、后面的分词片语视为形容词补语。从这个角度来看句型,时态问题就很简单了,只剩下「简单式」与「完成式」两种变化。能够区分简单式与完成式,就能够轻松掌握动词时态。
英文动词的时态,如果认定 be 为动词,那么就只剩下**简单式(simple aspect)与完成式(perfect aspect)**这两种状态。只要能够区分清楚这两种状态,英文动词时态就没问题了。
要想把传统文法中列出的 24 种时态简约到只需要了解「简单式」与「完成式」这两种变化,那么除了上述「视 be 为动词、视其后的分词为形容词补语」这种变通的诠释方法之外,还需要了解静态动词(static verbs)这个观念。
英文动词当中有一批相当「名不符实」,虽然叫做动词却并没有「动作」在里头。真正名符其实的动词如 hit, kill, eat, run, talk, jump, swim 等等,代表的都是某种「动作」。以传统文法的分类来说,这种「动态」的动词才能够有所谓的「进行式」,也就是说只有动态动词才适合加上 -ing 字尾变成现在分词、用来表示「正在做」或「一直在做」某个动作。例如:
He is eating breakfast now. (他现在正在吃早餐。)
The dog was swimming toward the shore then. (狗当时正在朝岸边游。)
如果依照传统文法的诠释,第 1 句的动词是 is eating、「现在进行式」;第2句的动词是 was swimming、「过去进行式」。关键在于 eat 和 swim 都是属于「动态动词」、代表的是「动作」,所以才可以有进行式,表示「正在做」或「一直做」这个动作。
简单化的看法是:第 1 句的动词是 is、现在简单式,后面的 eating breakfast 是现在分词片语,当形容词补语使用,表达出进行状态、解释为「正在吃早饭」,修饰主词 he。第 2 句的动词是 was、过去简单式,它后面 swimming toward the shore 这个现在分词片语当形容词补语看待,表达出进行状态,意思是「正在朝岸边游」,修饰主词 the dog。关鉴在于:表示「动作」的动态动词如 eat 与 swim 等等才可以有现在分词的形容词 eating 与 swimming、表示这个动作「正在进行中」。
反之,如果动词是「静态动词」、并不代表「动作」,自然也就没有所谓的「正在做」或「一直做」的进行状态可言。因此,以传统文法的角度来说:静态动词不能用于进行式。换言之,静态动词不适合加上-ing字尾成为现在分词的形容词。
以下举一些常见的静态动词为例,请读者一句句思考一下:句中画底线的部分都是动词,但没有一个真正代表「动作」(像 kill, eat 那种动作),所以都不能采用表示「正在做、一直做」的 -ing 字尾(也就是不能采用进行式)。
I am busy; I have a lot of work to do. (我很忙;我有一堆工作要做。)
This camera belongs to me. (这架相机属于我。)
George resembles his father a lot. (乔治很像他爸爸。)
I believe his story. (我相信他的故事。)
I like milkshakes. (我喜欢奶昔。)
I consider him a true friend. (我认为他是真正的朋友。)
以上这些句子中的动词如 have, belong, resemble, believe, like, consider,思考一下就会发现都不是真正的「动作」,所以都不适合说「正在做」或「一直做」,因此也都不适合采用现在分词的进行状态。不过,同样的静态动词如果改变用法、拿来表示「动作」时,就可以加 -ing 字尾、可以有所谓的进行式了。例如,「是」(be)、「有」(have)和「认为」(consider)都不是真正的动作、属于静态动词。但是,如果 be 解释为「表现」、have 解释为「吃」、consider 解释为「研究」,那就变成了动作,可以用 -ing 来表示「正在表现」、「正在吃」或「正在研究」 :
When I said she looked 25, I was being nice. (我说她看起来像25岁,那是在表现礼貌。)
He was having lunch when I called. (我打电话去的时候他正在吃午餐。)
The committee is considering your proposal. (委员会正在研究你的提案。)
简单式状态,主要用于交代动作发生在什么时间内。所以,除非上下文已经有暗示、对方已经知道是什么时间,否则必须要明确说出动作发生的时间。举一个例子:
I saw the movie last week. (那部电影我是上礼拜看的。)
当然,所谓 last week 严格讲起来有七天之久,而「看电影」的动作可能花不到两个小时。不过,简单式的情况通常就是这样:说出一段时间(如 last week),动作只要落在这段时间之内就行。
简单式状态可以用图像的方式来理解:它标示出来的时间呈括弧形状,动作就落在括弧里面。如果这个括弧是在过去,就应采用过去简单式。例如:
The U.S. declared independence in 1776. (美国在1776年宣告独立。)
图示:
这个句子的时间副词是 in 1776 这个介系词片语,标示出一个过去时间的括弧,动作落在这个括弧内,所以动词应采过去简单式 declared。
The dynamite was invented by the Chinese. (火药是中国人发明的。)
图示:
这个句子里面找不到时间副词,但是从句意来看,它描述的事情发生在久远以前,所以它的时间是个过去的括弧,动词应该是过去简单式。复杂的动词时态一定会有 be 动词在内。认定 be 为动词,它的过去简单式就是 was。后面的过去分词 invented 视为形容词,表达出「被动」语态,解释为「被发明」,作主词补语使用、修饰主词 dynamite。这就是一般文法书所谓的过去简单被动态。
I was playing a video game when the power suddenly went out. (我正在打电动,忽然停电了。)
图示:
这个句子的时间副词是 when 引导的那个副词子句。从副词子句里面的过去简单式动词 went out 来看,它的时间是一个过去的括弧——而且是个极小的括弧:从「有电」变成「没电」的那一刹那。以这个时间副词子句修饰主要子句的动词(我们一律认定 be 为动词),那么主要子句也应该是过去简单式,所以动词是 was。后面的现在分词片语 playing a video game 是动词play加受词 a video game 的构造,加上 -ing 字尾变成现在分词片语之后就是一个形容词片语,当作主词补语使用、修饰主词 I 。现在分词的 -ing 字尾表达进行状态,相当于中文的「正在」(短时间)或「一直」(长时间)。就上面这个例子而言,playing a video game 应解释为「正在打电动」。这就是一般文法书所谓的过去进行式。
I was working on my paper throughout last week . (上周一整个礼拜我都在写论文。)
图示:
这个句子的时间副词 throughout last week 是个介系词片语,表现出一个过去时间的括弧。动词因而要采过去简单式 was。后面的现在分词片语 working on my report 视为形容词片语,-ing 字尾表达进行状态,因为是长时间所以就解释为「一直」在写论文,当作主语补语使用、修饰主词 I。
The house was being renovated when it collapsed on the workers . (这栋房子正在翻修,突然塌下来压到工人。)
图示:
这个句子的时间副词是 when 引导的那个副词子句,子句中过去简单式的动词 collapsed 显示它的时间是个过去的括弧。所以,主要子句的动词也应该是过去简单式,因此就是was。后面的分词片语 being renovated 含有现在分词 being 与过去分词 renovated,整个分词片语当形容词补语使用、修饰主词the house。现在分词 being 里面的 be 无意义、不须解释,字尾的 -ing 表达进行状态,因为是短时间所以解释为「正在」。过去分词 renovated 表达被动语态、解释为「被翻修」。整个片语 being renovated 仍视为现在分词片语,意思是「正在被翻修」。这就是一般文法书所谓的过去进行被动态。
现在简单式,它的时间就是以 now 为中心的一个括弧。所有的简单式都是括弧形状的时间,但是过去简单式的括弧在 now 之前、未来简单式的括弧在 now 之后,所以括弧的大小都受到限制。只有现在简单式的括弧是以 now 为中心,它的大小不受限制,可以大到无限大、包含过去未来的一切时间。传统文法列出规则说「真理、事实等要用现在简单式」,原因就在此。看看几个例子:
I have a headache. (我头痛。)
图示:
这个句子虽然没有时间副词,但是现在简单式的动词 have 清楚表示时间就是 now。
Wang Chien-Ming pitches for the Yankees. (王建民为洋基队投球。)
图示:
这一句并没有时间副词,不过暗示是「现在」。王建民几年前不是洋基队的投手、几年后他也可能不再是。这个句子的时间是一个以 now 为中心的比较大的括弧,仍然该用现在简单式。
Our summer house is located on the lake. (我们的避暑别墅座落在湖边。)
图示:
这个句子同样也没有时间副词,但是现在简单式的动词 is 表示它的时间是一个以 now 为核心的括弧。后面的过去分词片语 located on the lake 是形容词补语,表达出被动语态:字面上是「被摆在湖边」,也就是「座落在湖边」。这就是一般文法书所谓的现在简单被动态。
Please be quiet, because everybody is sleeping now. (请安静,因为大家都在睡觉。)
图示:
Because 引导的这个表示原因的副词子句,时间是 now,动词用的是现在简单式 is。后面的现在分词 sleeping 视为形容词补语,表达出「进行」状态,解释为「正在」睡觉。这就是一般文法书所谓的现在进行式。
This store is selling everything at a 30% discount this week, to celebrate its 20th anniversary. (这家店本周全面打七折、庆祝20周年。)
图示:
这个句子的时间副词是 this week,这是一个包含 now 在内的括弧,所以动词用的是现在简单式的 is。后面的 selling everything at a 30% discount 这个现在分词片语视为形容词补语,现在分词 selling 表现出进行状态。因为时间长(有一周),所以 selling 应解释为「一直卖」。这就是一般文法书所谓的现在进行式。
This road is closed to traffic now because it is being widened. (这条路目前封闭,因为正在拓宽。)
图示:
主要子句的时间副词 now 是标准的现在时间括弧,所以动词用的是现在简单式 is。后面的过去分词片语 closed to traffic 当形容词补语看待,过去分词 closed 表达出被动语态,解释为「被封闭」。另外在 because 引导的副词子句中,因为是同样的时间,所以动词也同样采取现在简单式 is。后面的 being widened 这个现在分词片语视为形容词补语。其中的现在分词 being 表达出进行状态、解释为「正在」(be 动词无意义、不须解释),过去分词 widened 表达出被动语态、解释为「被拓宽」。这就是一般文法书所谓的现在进行被动态。
简单式的时间都是括弧形状。如果括弧在未来,就应该采取未来简单式。未来的事情由于尚未发生,牵涉到比较多的不确定因素,所以它的表达方式也比较多样。未来时间的简单式动词,整理一下有6种方式可以表达:
John will leave tomorrow. John is going to leave tomorrow. John is to leave tomorrow. John is leaving tomorrow. John will be leaving tomorrow. John leaves tomorrow.
时间副词 tomorrow 是一个放在未来的括弧,应采未来简单式。一般文法书所谓的未来简单式是指上述的第 1 种:will leave。这种使用到助动词 will 的讲法,具有最浓厚的「不确定」语气,表示「到时候将会、可能会」,语气的重点放在未来。
第 2 种讲法 is going to leave 和第 1 种 will leave 相当接近,不过它比较口语化、比较不正式。而且 is going to leave 这种说法的语气比较偏重在「现在」的意图、打算、征兆等等。例如:
Because the weatherman says it will rain this afternoon, I’m going to bring an umbrella. (因为气象报告说下午会下雨,我打算带把雨伞出门。)
句中的 it will rain this afternoon 讲的是「未来时间将会如何」,采用第 1 种讲法 will rain 来表示;至于 I'm going to bring an umbrella 讲的则是「现在打算到时候将如何」 ,采用第 2 种讲法 am going to bring 来表示。
第 3 种讲法 is to leave 和第 4 种讲法 is leaving 都可以视为第 2 种 is going to leave 的变化。
如果把动词改一下,从 leave 换成 go,可以看得更清楚:
John is going to go tomorrow.(第2种)
像 is going to go 这种讲法,里面的 going 和 to go 产生重复,是比较拙劣的说法。为了避免重复,可以省掉 going 只留下 to go,就会成为:
John is to go tomorrow.(第3种)
反之,如果省掉的是 to go、只留下 going,就会成为:
John is going tomorrow.(第4种)
这两种省略的说法分别相当于前述 6 种说法中的第 3 种和第 4 种。所以:第 3 种未来式 John is to leave tomorrow 和第 4 种未来式 John is leaving tomorrow 都可以视为第 2 种未来式 John is going to leave tomorrow 的省略。第 5 种变化则是在第 4 种前面再加一个 will,成为 John will be leaving tomorrow,意思还是差不多。
而且,最适合采用第 3、第 4、第 5 种讲法来表达的未来式动词,大都是一些和 go 有点关连的字,像是 go, come, leave, arrive, begin, end 等等。这些表示「来、去、离开、到达、开始、结束」的字眼,往往代表一种「目前的规画或打算」,这和第 2 种 be going to V 代表「目前的规画或打算」的讲法是同样的性质。为了避免重复,所以经常省略成为 be to V(第3种)、be Ving(第4种),或 will be Ving(第5种)。例如:
The weatherman says a Typhoon is coming this way. (气象报造说台风要来了。)
The train is leaving in 10 minutes. (火车再过十分钟要开。)
We will be arriving in Shanghai soon. (我们快要抵达上海了。)
The final game is to start in five minutes. (决赛再过五分钟即将开始。)
至于第 6 种讲法 John leaves tomorrow,完全是把未来才要发生的事情当做「事实」、采用现在简单式来叙述。这是语气最肯定的一种讲法。例如:
The train leaves at 2:30. (火车两点半开。)
World Cup finals begin tomorrow night. (世界杯决赛明晚开打。)
这些句子讲的都是「早已排定」的事情。虽然尚未发生,但是已经非常确定,可以排除掉带有不确定意味的助动词will、直接用现在简单式把它当做事实来叙述。
再看一个未来式的例子:
I will discuss the plan with my boss next week. (下星期我会和老板谈一下这个计画。)
图示:
时间副词 next week 是一个未来时间的括弧。只要可以括出时间来就是简单式。未来的事情还没发生、尚未确定,所以要加一个助动词 will 在前面,意思是「到时候会」。
如果以某个过去时间为出发点,它的未来式通常要用到过去拼法的 would。例如:
It was mid-1945; Japan would soon raid Pearl Harbor. (时间是1945年中;日本即将偷袭珍珠港。)
图示:
日本偷袭珍珠港,这件事情发生在 1945 年底。相对于1945年中,偷袭珍珠港事件还在不久后的未来。但是这整个都是过去的事件,所以应该用过去拼法的 would soon raid 来表示未来式。
The weatherman said it would rain, but it didn’t. (气象报告说会下雨,结果没下。)
图示:
气象报告员在「说」的时候,「会下雨」还在未来。但是从过去式的 said 来看,这整件事情也是发生在过去,所以要采过去拼法的 would rain 来表现未来式。
传统文法中列出一条规则:「表示时间或条件的副词子句,用现在式代替未来式」。这个变化在英文写作时确实要能够掌握,否则很容易出现错误。这个问题基本上属于语气(moods)的问题,本书在后面的章节会有更完整的处理,届时我们充分理解之后就不必理会这条规则了。目前我们先初步设法理解这条规则是什么意思。规则中说到「副词子句」,所以首先来看一下名词子句与副词子句的差别,以免套错了规则。
规则中所谓「表示时间或条件的副词子句」,我们先把范围缩小到两个连接词:when和if。请比较下面这两句:
I know when he left the room. S V O(名词子句) (我知道他何时离开房间的。)
He forgot his briefcase when he left the room. S V O (副词子句) (当他离开房间的时候,他忘了公事包。)
句 1 中的 when he left the room 是名词子句,当做动词 know 的受词。连接词 when 来自疑问词、解释为「何时」。原本是这么一个疑问句:When did he leave the room?,把问号拿掉、疑问词 when 转为连接词使用,就会变成 when he left the room 这个名词子句。句 2 中的 when he left the room 看起来完全一样,却是个副词子句,用来修饰动词 forgot 的时间,属于时间副词子句,when 是外加的从属连接词,解释为「当……时候」 。
在此作一个小归纳:若连接词 when 是外加的、解释为「当……时候」,它引导的子句就是时间副词子句。若连接词 when 来自疑问词、解释为「何时」,它引导的子句则是由疑问句转变过来的名词子句。
接着再比较下面这两句:
I don't know if he will get the money. S V O(名词子句) (我不知道他是否会拿到钱。)
If he gets the money, he can help us. (副词子句) S V O (如果他拿到钱,就能帮我们的忙。)
句 1 中的 if he will get the money 是名词子句,当做动词 don’t know 的受词。连接词 if 相当于 whether、解释为「是否」。原本是 Will he get the money? 这个疑问句,拿掉问号之后改为 whether/if he will get the money 这个名词子句。句 2 中的 if he gets the moeny 则是副词子句,用来修饰动词 can help 的条件,属于条件副词子句,连接词 if 是外加的、解释为「如果」。
作一个小归纳:若连接词 if 是外加的、解释为「如果」,它引导的子句就是条件副词子句。若连接词 if 相当于 whether、解释为「是否」,它引导的子句就是由疑问句转变过来的名词子句。
有了上面那两项归纳,我们就可以把前面那条文法规则范围缩小、改写如下:「When 解释为『当……时候』、if 解释为『如果』,这两种连接词引导的副词子句要用现在式代替未来式」。接下来我们要问:为什么?
When he gets here, the police will be waiting. (当他来到这里时,警察将在等候。)
图示:
主要子句 the police will be waiting 中的动词 will be 采用的是未来式,表示这是将来的事情。至于 when he gets here 这个子句,外加的连接词 when 解释为「当……时候」,所以它引导的是个时间副词子句。为什么这种子句要用现在式动词gets代替未来式 will get?这是因为:「当……时候」这种子句,语气就是「当做」已经到了「那个时候」。换句话说:这种子句里面要把未来「当做」已经到了、就是「现在」,所以动词要采用现在式。
接下来再看看if这个连接词:
If he gets to the hospital in time, he’ll be able to see his father for the last time. (如果他及时赶到医院,就能见到他父亲最后一面。)
图示:
主要子句的动词 will be able to see 可以看出来是未来式,表示是未来时间。从属子句 if he gets to the hospital in time,它外加的连接词if解释为「如果」,所以这是一个条件副词子句,里面的动词要用现在式 gets 而不用未来式 will get。为什么?
因为,所谓的「如果」,语气是把原本还不确定的假设情况当做是事实来叙述,也就是「假如果真」,所以应该采用表达「事实」的现在简单式。我们不知道例句中的「他」到时候能不能够赶得及。但是,所谓「『如果』赶到」,意思就是「当做是『真的』赶到」,里面就该采用事实语气来叙述,把这件事情当做是真的,所以要用现在式而不是未来式。
简单式的时间是个「括弧」形状,动作落在这个括弧里面。完成式的时间则是个「箭头」形状,指出「截止时间」,动作在这个截止时间之前就已经完成。因此,简单式是比较明确地说明动作发生在什么时间,完成式则没有说得那么清楚,只交代动作在什么时间之前「已经完成」、并没有详细说明到底是在什么时候发生。以下同样分成现在、过去、未来这三种时间来说明完成式。
完成式的时间是个指出截止时间的箭头,如果指出来的截止时间在过去,就该采用过去完成式,例如:
Everybody had left before she got to the station. (在她赶到车站之前,大家都已经先走了。)
图示:
这个句子的时间由 before 引导的时间副词子句来表示。从副词子句的过去式动词 got to 可以看出时间是在过去,再从连接词 before 可以看出,这个时间副词子句表达的时间可以画成一个以过去动作 got to 为截止点的箭头。换句话说,这个时间副词子句并没有清楚交代 leave 这个动作发生在什么时候(没有一个明确的括弧如last week之类来表示),只知道这个动作在 got to 这个过去动作之前已经完成。因此主要子句的动词应该采用过去完成式 had left。再看一个例子:
More than 60,000 soldiers had been killed when the President finally decided to pull out of the war. (当总统终于决定撤出战争时,已经有六万多名士兵阵亡。)
图示:
When 引导的时间副词子句中,过去式动词 decided 表示时间是在过去。从句意来揣摩,这六万多名士兵阵亡的时间应该不是「在总统下决定的那一瞬间」、而是在那之前「已经」阵亡。所以这个时间副词子句表达的时间仍然是个箭头形状、指向的截止时间是过去,所以该采用过去完成式 had been。视 had been 为动词,后面的过去分词 illed 视为形容词补语、带有被动语态,用来形容主词 more than 60,000 soldiers「被杀死」。这就是一般文法书所谓的过去完成被动态。
所有复杂的动词时态,一定牵涉到 be 动词。如果采用本书的方式,认定 be 就是动词,那么复杂的动词时态就只剩下两种:简单式(be)与完成式(have been)。再看一个例子:
The students had been preparing for the college entrance exam for three years when the Education Ministry suddenly announced a change of regulations. (学生一直在准备大学入学考试已经准备了三年,教育部才突然宣布改变规定。)
图示:
这个句子的时间副词有 for three years 这个介系词片语和 when 引导的时间副词子句。从 when 子句的过去式动词 announced 来看,时间是在过去。再从介系词片语 for three years 来看,它的时间应该是个截止箭头,表示「算到 decided 为止已经有三年」,所以动词应采过去完成式 had been。后面的现在分词 preparing 视为形容词补语,具有「进行」状态,表示这三年的时间学生「一直」都在准备。这就是一般文法书所谓的过去完成进行式。
像 for three years 或 since three years ago 之类的介系词片语,分别表示「为期有多久了」或「自从多久之前算起」,代表相同的意义:同样都用来表示「已经」有多久时间,所以通常都要采用完成式的动词。
如果上下文都没有交代或暗示截止时间为何、只说「已经完成」,那么通常都要采用现在完成式来表示。例如你告诉朋友说「那部电影我已经看过了」,话中虽然没有说明「在什么时候之前」已经看过,但是言下之意自然就是「现在以前」,所以该采用现在完成式,如下:
I have seen that movie.
换句话说:除非上下文有明言或者暗示其他的截止时间,否则完成式都应该采用现在完成式。请看几个例子:
You can’t enter now because the concert has already begun. (你现在不能进场,因为音乐会已经开始了。)
图示:
这个句子并没有明确交代音乐会是什么时候开始的,只说「已经」开始。再从主要子句的时间副词 now 来看,截止时间就是现在。换句话说,音乐会是在「现在」之前已经开始,所以该采用现在完成式。再看一个例子:
Everything that can be done has been done; now we can only wait and see. (可以做的一切都已经做了,现在我们只能等着瞧。)
图示:
主要子句的动词采用的是be动词的现在完成式 has been,表示「到现在为止已经」(be 动词本身无意义、不须翻译),后面的过去分词 done 当形容词补语看待、表示「被做完」,形容主词 everything。这就是一般文法书所谓的现在完成被动态。
Those marathon runners have been running for two whole hours without stop now. (那些马拉松选手目前为止已经整整跑了两个小时没有休息。)
图示:
这个句子的时间副词有 now 以及介系词片语 for two whole hours,意思是「算到现在为止整整有两个小时」,很明显是一个以 now 为截止时间的箭头、应该采用现在完成式,所以动词是 have been。后面的现在分词 running 当形容词补语看待,形容主词 runners。字尾的 -ing 表示进行状态,所以 running 要解释为「一直在跑」。这就是一般文法书所谓的现在完成进行式。
完成式动词后面有没有现在分词的补语,有时候并无差别、有时候则会造成不一样的意思。请比较一下这两个句子:
I have lived here for 20 years. I have been living here for 20 years. (我在这(一直)住了20年了。)
图示:
这两种讲法的意思差不多:后者用现在分词 living 当主词补语、强调「一直住」,前者没有强调,但基本上意思相同。再请比较一下这两个句子:
I have read your book. (您的大作我拜读过了。)
I have been reading your book. (您的大作我最近一直在看。)
图示:
前者表示「已经看完了」,后者则强烈暗示「还在看、尚未看完」。这两种讲法就有很大的差别了。
未来完成式的时间也是一个箭头形状,唯一的差别在于它的截止时间在未来。例如:
By August I will have worked at the company for 30 years. By August I will have been working at the company for 30 years. (到八月为止我将在这家公司(一直)工作满30年。)
图示:
上面这两个句子相同,时间副词都是介系词片语 by August 与 for 30 years。表达的时间是「到八月为止有30年」,显然是个箭头形状、截止时间在八月(未来时间),所以该采用未来完成式。动词 will have worked 表示「将已经做满」30年。如果动词改为 will have been,意思是「将已经」有30年,后面的现在分词 working 视为形容词、当主词补语使用。字尾的 -ing 表达出进行状态、表示这30年来「一直」在此工作。后者这种说法就是一般文法书所谓的未来完成进行式。
Experts estimate that the last of our oil reserves will have been depleted by the middle of this century. (专家估计,我们最后的石油蕴藏在本世纪中叶之前就会被用光。)
图示:
这个句子的时间副词是介系词片语 by the middle of this century。介系词 by 表示的是一个截止时间,而这个截止时间在未来,所以动词该采用未来完成式 will have been。后面的过去分词 depleted 当形容词补语看待,形容主词 the last of our oil reserves。过去分词字尾 -ed 表达出被动语态,所以 depleted 应解释为「被用完」。这就是一般文法书所谓的未来完成被动态。
In two more minutes, she will have been talking on the phone for three hours! (再过两分钟,她讲电话就会一直讲了3小时之久。)
图示:
句中的介系词片语 in two more minutes「再过两分钟」指向未来时间,另一个介系词片语 for three hours「算算已经有3小时」表示一个截止的箭头,所以动词该采用未来完成式 will have been。后面的现在分词 talking 视为形容词、当主词补语来形容主词 she,字尾 -ing 表达出进行状态,意思是「一直」讲话。这就是一般文法书所谓的未来完成进行式。
Leave the test papers at the front desk when you have finished the test. (考完式请把测验卷放在最前面的桌上。)
图示:
这个句子的主要子句是命令句语气,所以动词 leave 采用原形动词。 When you have finished the test 是个时间副词子句,连接词 when 是外加的从属连接词、解释为「当……时候」。所以,虽然说这句话时考试尚未考完,但是这个时间副词子句中必须「当做已经到了考完的时候」,也就是必须把截止点当做就是现在,因此动词要采用现在完成式 have finished 。一般文法书那条规则「表示时间或条件的副词子句,用现在式代替未来式」就是这个情况。上例是表示时间的副词子句,再举一个表示条件的副词子句为例:
You can leave early if you have finished the test before the bell rings. (如果在铃响之前已经写完了测验,就可以先离开。)
图示:
句中的 before the bell rings 是个时间副词子句,以一个截止箭头的形状修饰动词 have finished 的时间,before 是外加的连接词。说这句话时虽然铃尚未响,但是在时间副词子句中必须当做时间已经到了,所以动词要采用现在式的 rings。另外,if you have finished the test 是个表示条件的副词子句,if 是外加的从属连接词、表示「如果」。在这种副词子句中必须把假设的情况当做是真的,所以要用现在完成式 have finished 而不用未来完成式 will have finished。
一个句子当中如果有两个以上的限定子句,就会有两个以上的动词。这些动词在时态方面必须符合一致性:并不表示这些动词的时态必须相同,而是这些动词之间必须符合逻辑关系、并且表达出清楚的意思。例如下面这个句子就有问题:
Some buildings that were destroyed in the 921 earthquake were poorly constructed. (不佳)
这个句子可以分成主要子句 some buildings were poorly constructed 与关系子句 that were destroyed in the 921 earthquake。时间副词是 in the 921 earthquake 这个介系词片语,它括出一个过去时间的括弧,所以它修饰的关系子句的动词应采用过去简单式 were。但是,主要子句的时间应该不一样:建筑物被毁的时间是在 921 地震中、是过去时间,但是建筑物建造的时间不可能是在 921地震中、应该是在之前才对。因此,主要子句的动词应该采用过去完成式而非过去简单式,如下:
Some buildings that were destroyed in the 921 earthquake had been poorly constructed. (921大地震中被毁的房屋,其中有一些当初建造不良。)
图示:
建筑物被毁的时间是 in the 921 earthquake 这个过去时间的括弧内,因此关系子句的动词应采过去简单式 were,后面用过去分词 destroyed 当形容词补语,表达被动语态、表示「被毁」 。主要子句的动词则应采用过去完成式 had been,表示这些建筑物的建造时间是在 in the 921 earthquake 这个截止时间之前。后面用过去分词 constructed 当形容词补语,同样表达被动语态、表示「被建造」。
请观察下面这些例子当中的时态一致性:
Never before had rescue workers in Taiwan handled so many victims as they did in the aftermath of 921. (台湾的救难人员从来没有像921过后那样处理过那么多的受害者。)
图示:
这是一个比较级的句子。从属连接词 as 引导的副词子句 as they did in the aftermath of 921,里面的时间副词是 in the aftermath of 921 这个介系词片语,它括出一个过去时间的括弧,所以动词 did(代表handled )采用的是过去简单式。但是主要子句的时间副词 never before 则是画出一个箭头形状、截止时间是过去时间的 in the aftermath of 921,因此它的动词应该采用过去完成式 had handled。
Under a provision of the law that has never been applied, the President is required to seek the approval of Congress before leading the country into war. (依照该法律一项条文的规定(这项条文迄今从未被引用过),总统必须先取得国会的同意才能带领国家参战。)
图示:
关系子句 that has never been applied 中,频率副词 never 画出了一个以 now 为截止时间的箭头,所以动词应采用现在完成式 has been,后面的过去分词 applied 表达被动语态、当形容词补语看待,解释为「被引用」。主要子句叙述的则是法律条文的规定,属于「事实」的性质,动词应采现在简单式,所以用的是 is,后面用过去分词 required 来表达被动语态,意思是「被要求」,当形容词补语使用。