语法俱乐部全书目录
本章目录

第三章 动词时态

英语动词时态的变化,在学校里可能要花一个学期才学得完。语法书上也是洋洋洒洒一大堆公式,好像非常复杂。其实,如果在句型诠释上稍微变通一下,时态问题是很容易理解的,而且只需要了解两种状态:简单式与完成式,就能充分掌握所有的时态变化。本章我们就要在短短几页中,将所有的时态问题都解说完毕。

首先,在现代语法中,时间(time)和状态(aspect)是分开处理的。时间观念(现在、过去、未来)非常简单,状态的观念就比较麻烦,如果再把主动、被动语态(voice)加进来,变化就更多了。以简驭繁的办法是:把 be 动词当做动词,其后的分词则视为形容词补语。动词短语长的时候,里面一定会有 be 动词,如果把 be 动词抽离出来当做动词看待,那就只剩下用 be 动词写的简单式,以及用 have been 写的完成式两种状态。分词则可视为形容词补语,不放在动词短语里面,如此一来整个时态的问题就会简单化,我们只要弄清楚什么是简单式,什么是完成式就可以了。

简单式

简单式的动词可以清楚交代此动作是发生于哪个时段。而与它搭配的时间副词通常会明确标示出一个时段。也就是说:简单式的时间是括弧的形状,我们可以用括弧把简单式的时间括起来。在以下的叙述中,我们就以括弧来表示简单式中所描述的时间,这个括弧大小不拘,可以小到一个点,也可以大到无限,可是必须标示得很明确。现在来看看几个例子,请注意观察动词时态与时间副词之间的关系:

一、过去时间

语法示意图

此句中,以 in 1979 来修饰动词 establish(建立)的时间,表示美国与中华人民共和国建交发生在这段时间内,所以我们可以用括弧将 in 1979 括起来。而这个括弧在 now 的左边,属于过去时间,所以动词用 established,是过去时间的简单式。

语法示意图

此句中,把 be 动词当动词看,他的时间副词 in 1485 也是一个括弧,在 now 的左边,同样是过去时间的简单式,所以动词是 was,意思是说:活版印刷引进英国这件事情是发生在那个括出来的时段中。过去分词 introduced 当作形容词补语看待,过去分词字尾 -ed 视为一个表达被动意味的形容词字尾。be 动词是一个没有意义的连缀动词,用来连接主语“活版印刷”和补语“被引进(到英国)”。be 动词虽然没有意义,不需要翻译,可是它是动词,必须以它来决定时态,所以用 was 的过去简单式出现。

语法示意图

同样地,把 be 动词视为动词看待会比较简单。时间副词 the whole day yesterday 的性质和 in 1979 是相同的:都是一个过去时间的括弧。所以,动词时态也是一样的:都是过去简单式:was。be 动词后面 visiting clients 这个部分可视为一个现在分词的短语,做为形容词补语来形容主语。现在分词表示一种持续性,相当于中文的“正在”、“一直”的口吻。be 动词不必翻译,因为它是一个没有意义的连缀动词,连接主语“我”和补语“一直在拜访客户”。be 动词只要负责交代时态就好。而“昨天一整天”是一个过去的时间,所以用 was,也就是过去简单式。

语法示意图

这个句子的时间副词“我听到门铃响的时候”,是指门铃响起来那一刹那,所以是很短的一瞬间。上面说过简单式要括出动作发生的时段,而这个括弧可大可小。在 when I heard the doorbell 中,这个括弧就是最小的一个点:听到门铃的那一刹那,所以动词仍然要用简单式。将 be 动词当做动词看待,要用过去简单式 was。而那时候“我”“正在看电视”。主语与补语 watching TV 之间用 be 动词连起来,将 watching TV 视为形容词短语。

语法示意图

此句中,时间副词 when he had a heart attack 指的是他心脏病突发的瞬间,是一个最小的括弧。而 had 表示这个时间是过去的时间,所以 be 动词用 was 来表示过去简单式。主语是“证人”,be 动词后面的部分当形容词补语看待,有 being 和 questioned 两个分词,都视为形容词。be 动词是没有意义的,所以 being 的存在主要意义不在 be,而在字尾 -ing。这个字尾表示“正在”,所以 being 只要解释为“正在”就可以了。过去分词 questioned 也当形容词看,可是过去分词字尾 -ed 表示被动,配合 question 就解释为“被质询”,所以,being questioned 解释为“正在被质询”,用来做为主语“证人”的补语。动词 was 还是过去简单式。

二、现在时间

如果时间副词是 now,或是以 now 为中心的或大或小的括弧,就要用现在时间的简单式。从前语法书中列出规则:真理以及事实要用现在简单式表示。其实这也没什么好背的。因为,只有在以 now 为中心的括弧,可以大到涵盖过去未来,才可以用来表示不变的真理。请看下面这些例子:

语法示意图

播报运动比赛时,常会用到一连串的现在简单式。像这些句子,虽然没有交代时间副词,可是很明显每一句都是现在发生的,也就是 now。播报员所播报的一直是现在这一刻所发生的事情,所以就是 now 这一瞬间,也就是最小的括弧。只要是括弧就是简单式,所以是现在简单式。

语法示意图

布什是现任美国总统,可是几年前他不是,几年后他也可能不再是。这个句子的时间是一个以 now 为中心的括弧,所以用现在简单式。

语法示意图

天下的妈妈没有不爱小孩的。这是古今皆然,以后也不会改变,所以这是以 now 为中心的一个极大的括弧。不论大小,只要可以用括弧表示,就是简单式,所以动词用现在简单式的 love。

语法示意图

把 be 动词当动词看,时间副词 this month 是以 now 为核心的一个括弧,所以用现在简单式 is。可乐打折,是正在持续中的活动,所以用 selling big cokes,以现在分词片词做补语来强调持续性。

语法示意图

这是一个以 now 为中心的较大的括弧,所以动词用现在简单式 is,而 being depleted 当做补语看待。being 只有词尾 -ing 有意义,解释“正在……”。depleted 中过去分词的词尾 -ed 有被动的意思,所以解释为“被消耗”。两词合在一起,being depleted 就是“正在被消耗”当形容词补语看待,形容主语“臭氧层”。现在简单式的动词 is 则不需要翻译。

三、未来时间

未来时间的简单式,只是把括弧放在 now 的右边,其他的原理则完全相同。至于里面会有一些牵涉到语气问题的变化,在本章会做初步的解说,详细的说明则留待第九章再作讨论。

语法示意图

时间副词 in March 是一个未来时间的括弧。只要可以括出时间来就是简单式。未来的事情还没发生,尚未确定,所以要加一个助动词 will 在前面,意思是“到时候会”。

语法示意图

明天六点,是六点整那一刻,所以是一个最小的括弧,因为是在 now 的右边,所以要用未来简单式。把 be 动词当动词看,未来简单式 will be 后面的 sleeping 就要当形容词补语。而词尾 -ing 表示持续性。所以 sleeping 是“在睡觉”,用来形容主语“我”。动词 will be 当中,连缀动词 be 没有意义,只要解释 will 的部分“会”即可。

语法示意图

时间副词 next month 是一个未来时间的括弧,所以动词用未来简单式:will be。后面的 razed(被拆除)是过去分词,当形容词补语看待,形容主语“房子”。

完成式

另一种主要的状态是完成式。相对于简单式用括弧形状来表达时间,完成式则是以箭头形状来表达时间,表示动作的截止时间。从功能上来看,简单式是交代动作发生的时段,而完成式并不对动作发生的时段作明确的交代,只表示“曾经”、“做过”的意思。请看看下面的例句。

一、现在时间

语法示意图

主要从句 I'm sure 的动词 am 表示是现在时间,除此之外,没有时间副词交代是什么时候“看到”这张脸的,只知道一定有见过。也就是说,“看到”的动作没有明确括出来是哪一个时段发生的,只有一个箭头的形状,表示截止时间是现在。在这一刻以前看到过都算数,以后才要去看则不算数。这就是现在时间完成式的条件,所以用 have seen(看过)。

语法示意图

把 be 动词当做动词看,那么再复杂的动词时态也只剩下两种变化,不是简单式就是完成式。这里用完成式,因为时间副词 for a week 是“到现在,算算有一个星期之久了”,这时候重点在于“算到现在已经有……了”,所以强调的是截止时间,是箭头形状的时间,要用完成式“已经”来配合,所以动词用 have been。后面的补语 working 是现在分词,表示持续性,也就是“一直在加班”,用来形容主语“我们”。动词 have been 是 be 动词,不必翻译,只要解释完成式的部分“已经”和时间副词“有一个星期”就可以了。

语法示意图

这个句子的时间副词 since they moved in(打从他们搬来算起)虽然是表示开始计算的时间,可是语气的重点是“算到现在是多久”,所以仍然用完成式 has been。补语部分 redecorated 是过去分词,要加上被动的解释,成为“被装修”,来形容主语“房子”。

二、过去时间

如果没有特别交代的话,一般说“有……过”就是“到现在有……过”,所以都是现在完成式。用过去完成式时则要有一个过去的截止时间,也就是箭头指在一个过去时间,在那之前就 “有……过”。

语法示意图

盘尼西林在 1928 年发现,可是这个句子的时间副词不是 in 1928 一个括弧,而是 before the discovery of penicillin,也就是 before 1928,是一个以 1928 年为截止时间的箭头形状,所以要用过去时间的完成式 had died。换句话说,这个句子说到的士兵从古罗马时代,一直到一次大战都可以算在里面,但 1928 年之后的就不算了,因为盘尼西林已经发现了。这就是过去完成式的条件。

语法示意图

decided 是过去时间,而时间副词 before I decided 是“在我决定之前”,所以不是括弧而是箭头,以 decided 为截止时间。这就得用过去完成式 had been。补语 smoking three packs 是一个形容词短语,-ing 表示持续性,也就是每天都要抽三包烟,而且是“一直如此”,用来形容主语“我”。

语法示意图

这个句子的时间副词是“算到德国投降为止”,所以是一个到过去时间截止的箭头。这就是过去完成式。动词 had not been 表示“尚未”,就是“已经”的相反。be 动词仍不必翻译。补语部分 defeated 是过去分词,表示被动的形容词,“被打败”用来形容主语“日本”。

三、未来时间

未来时间的完成式,只是把箭头所指的截止时间移到未来的一个点。观念上与现在、过去时间的完成式完全一样。在写法上,因为是未来时间,所以动词前面加一个 will 就可以了。请看例句:

语法示意图

这个句子中有括出时间 next April,看起来好像要用简单式。可是另外还有一个时间副词 for 20 years,是一个箭头。你不可能在四月这个月内替公司工作 20 年,所以 next April 只是一个截止时间,表示“算到四月为止有 20 年”来修饰动词,所以要用完成式。动词前面加上 will,表示到现在还没有,要到四月才“会”做满 20 年,也就是未来时间的完成式。

语法示意图

你去修车厂拿车子,老板叫你五点再来。他的意思不是五点才要修你的车,而是说五点以前就一定先修好了,等你来拿。真正修好的时间可能是四点,也可能是三点也说不一定,反正不超过五点。这就是完成式的箭头形状时间;截止时间在未来,所以用未来完成式 will have been。be 动词没有意义,只要翻译时态“会已经”,来连接主语“车子”和补语“被修好”(fixed)。

语法示意图

这位小姐也真能讲话。动词是 be 动词,连接主语 she 和补语 talking,“她一直讲”,-ing 的字尾表示持续性,当形容词看。“再过两分钟”是未来的一个截止点,算到那时候就有三小时了(for three hours),所以是完成式的箭头型时间,要用未来完成式的动词 will have been,“会已经”(有三小时)。再和主语“她”与补语“一直打”连在一起,意思就清楚了。

结语

英语的动词时态很复杂,可是也可以很简单,只要在句型上转个弯,换个角度来看,就可豁然开朗。以上的探讨除了一些牵涉到语气的问题留待以后处理之外,已涵盖了传统语法中所有的时态变化。

其中所牵涉的重要观念有以下几点:

一、把 be 动词当动词看,句子就只剩两种状态:简单式与完成式。

二、简单式是以括弧型的时间来表达。

三、完成式是以箭头型的时间来表达。

四、be 动词后面的分词当作形容词补语。现在分词有正在进行的意思,过去分词有被动的意思。

Test

练习一

请选出最适当的答案填入空格内,以使句子完整。

1. So far we __ nothing from him.
  1. have been heard
  2. did not hear
  3. have heard
  4. have not heard
查看答案与解说
(C) so far(到目前为止)应用现在完成式,故排除过去式的 B。主语是 we,表示“我们听到”时应用主动态,故排除被动的 A。因空格后已有否定的 nothing,所以不选表示重复否定的 D。
2. At present a new road __ in that part of the city.
  1. is building
  2. will be built
  3. will have built
  4. is being built
查看答案与解说
(D) at present 表“现在”,应用现在式,故排除未来式的 B 和 C。主语 road 与动词 build 配合,应用被动态表示“被建造”,故排除主动的 A。答案 D 表示“现在正在被建造中”。
3. Our city __ a great deal. It doesn't resemble the one of three years ago.
  1. changes
  2. has changed
  3. is changing
  4. will change
查看答案与解说
(B) “现在它和三年前已大不相同”,可以看出,空格那个 change 要表示的是从三年前到现在的改变,因此选择现在完成式 B。A 和 C 其实也没错,表示它“经常在变”,不过这两个答案与题目第二句的呼应不及 B 密切。D 的未来式则和题目第二句有较大的冲突。
4. When Anna phoned me I had just finished my work and __ to take a bath.
  1. was starting
  2. have started
  3. starting
  4. will start
查看答案与解说
(A) 从 when Anna phoned me 以及 I had just finished 可看出时间在过去,因此表示现在时间的 B 和未来时间的 D 都可排除。又,空格前面有对等连接词 and,要求对称。在 A 和 C 之中只有 A 是动词短语,可以和前面的动词短语 had just finished 对称。
5. There __ some very bad storms recently.
  1. is
  2. are
  3. have been
  4. have
查看答案与解说
(C) recently 表示“不久前到现在”,应用现在完成式。表示“有”的观念应用 There is/are 的句型,其现在完成式即是 have been(主语 storms 是复数)。
6. The future price of this stock __ by several factors.
  1. is going to determine
  2. will determine
  3. will be determining
  4. will be determined
查看答案与解说
(D) 从 future price(未来价格)可看出时间在未来。主语 price 与动词 determine 配合应用被动态,这点从空格后面的 by several factors 亦可看出。唯一正确的被动态是 D。
7. The camera was invented in the 19th century. At that time, most photographers __ professionals.
  1. are
  2. were
  3. have been
  4. had been
查看答案与解说
(B) 从 at that time 可看出时间在过去(19 世纪)。因明确表示出那一段时间,应用过去简单式,故选 B。
8. The whole area was flooded because it __ for weeks.
  1. rains
  2. has rained
  3. had been raining
  4. was raining
查看答案与解说
(C) 从主要从句 was flooded 可看出,淹水是过去时间,而造成淹水的原因“下雨”,只能在淹水之前发生,所以该用过去完成式。
9. By next Sunday you __ with us for three months.
  1. will have stayed
  2. will stay
  3. shall stay
  4. have stayed
查看答案与解说
(A) next Sunday 表示未来时间,故排除现在时间的 D。然后介系词 by 表示“到……为止”,应用完成式,因而排除简单式的 B 和 C。
10. We could smell that someone __ a cigar.
  1. would be smoking
  2. was smoked
  3. had been smoking
  4. would be smoked
查看答案与解说
(C) 主语 someone 和动词 smoke(有人抽雪茄)配合应用主动态,故可排除被动的 B 和 D。而 A 的 would be smoking 表示“将抽未抽”,如此则和 we could smell(已闻得到)有冲突,故选过去完成式的 C,表示在那之前已有人在抽,才会留下味道。

练习二

请把括弧中的动词以适当的时态填入空格内,以使对话内容完整。

Boy: Do you want to go and see Gone with the Wind with me tonight?
Girl: No! I __ (1. see) it.
查看答案与解说
have seen 看过,而不说何时看的,应用现在完成式。
Boy: Oh, really? When did you see it?
Girl: I __ (2. go) to see it the first day it was on-last Monday.
查看答案与解说
went 既说出看的时间(last Monday),应用简单式。
Boy: To tell you the truth, I have seen it too. In fact, I __ (3. see)it before you did.
查看答案与解说
had seen 时间是 before you did,只知在过去时间 you did 之前,未明言在何时,应用过去完成式。如果用 saw 也不算错,因为在 I saw 和 you did 之间有 before 相连,清楚交待两个动作的先后,不必倚赖过去完成式来交待。
Girl: That's impossible. I told you I saw it the first day it was on.
Boy: But it's the truth! I ___ (4. see) it seven or eight years ago, the last time that old picture __ (5. come) in town.
查看答案与解说
saw 因交待了“七八年前”,应用简单式。用 had seen 也不算错,这样的语气是“我看得比你早”,至于“七八年前看的”这点则在语气上不予强调。
查看答案与解说
came 因有 the last time 标出时间,应用简单式。
Girl: In that case, why did you ask me to go in the first place?
Boy: Well, I just __ (6. want) to go out with you tonight. Since you have seen the picture, will you go to the baseball game with me instead?
查看答案与解说
wanted 因为是回应 Why did you...?
Girl: I __ (7. guess) I will, if Father says Okay. But you will have to pick me up at my place.
查看答案与解说
guess 这是这位小姐说话时的猜想,时间就是 now,应用现在式。
Boy: Great! I __ (8. see) you at 5:30 then. I'll bring my car.
查看答案与解说
will see 因为说出 at 5:30 的未来时间。
Girl: But why 5:30? Why not seven o'clock?
Boy: Because the game ___ (9. start) by then. These evening games __ (10. begin) at 6:30, you know. Don't forget now, 5:30 at your place!
查看答案与解说
will have started 因为时间是 by then,也就是“到了那个时候”,老早开打了。没说几点开打,总之在那之前,这就是完成式。也可用 would have started,用 would 不是表示过去时间,而是表示假设语气,成为:“如果真的拖到七点才去的话,那就看不成了,非早点去不可!”这样的口吻。
查看答案与解说
begin 因为 these evening games 不只说今晚这场,而是“所有的晚场比赛都是”,也就是说包括今天的这一阵子都是如此,就得用现在简单式。