从上一节知道,语法中最重要的是成分,成分中最重要的是谓语,其实就是动词,下面聚焦限定动词,关注时态。
动词时态可以总结为12种,如下表格。
suppressMessages(library(tidyverse))
matrix(1:12,nrow = 4) %>%
`rownames<-`(c('一般时','进行时','完成时','完成+进行时')) %>%
`colnames<-`(c('过去','现在','将来'))
## 过去 现在 将来
## 一般时 1 5 9
## 进行时 2 6 10
## 完成时 3 7 11
## 完成+进行时 4 8 12
一般时是最简单,表示一件事情发生在某个时间
这里时间状语为什么要打上()
,就是因为说话不必加上时间状语,动词时态的改变,不应当要求时间状语一定存在。
这在口语中很常见,当时间状语是隐含时,就不说了,多看美剧。
下面讲进行时。
进行时表示运动的发生过程。
当他看到我时(可能是昨天),我正在洗车。
这里比较好的解释是 把 was 看成谓语动词,washing my car 看成是形容词,表示一个“洗车”状态,显然这个状态是一个运动的过程,因此这样的解释很好阐述了进行时的深层含义。 同理,
killed 有结束和被动意味,看成一个形容词,这也很好理解。
同样地,
都是指某一个时间点时,我在洗车这个运动状态。
Yesterday he said he would wash his car, but he didn’t.
时间大小
Yesterday = said < wash < now
完成时表示当前时间,一个行为
完成进行时,是完成时的加强版,加入了进行时的特性
[完成进行时 = 完成时 + 进行时]
完成进行时表示当前时间,一个行为
例如
I have seen this movie.
这部电影我已经看过了,但是我也没说什么时候看过,那么至少当前时间是看过了。
Yesterday He had washed his car before I got to his house.
wash < get to … < Yesterday
Yesterday he had been washing his car for 3 hours before to his house.
wash < get to < (wash) < Yesterday
He has (already) washed his car before I get to his house.
wash < get to … < now
He had been washing his car for 3 hours before to his house.
wash < get to < (wash) < now
He will have washed his car by next week.
now < wash < get to … < now < next week
He will have been washing his car for 5 days by next week
now < wash < next week < wash
背景汶川地震