这是情态动词的基本用法
情态动词有很多
下面我只挑比较常用的来举例
其他的用法是一样的
情态动词的用法有两种
1.
情态动词+do(动词原形)
2.
情态动词+have
done(动词完成时态)
标题中的should
had
done不存在
第一种结构用来表达情态动词的基本意义
比如should表应该
should
do就是应该做
must/can't(could)/may(might)/should/would...+do
必须
一定/一定不/也许/应该/想要...做某事
第二种结构可以表达两类意义
1)
must/can't/may(might)+have
done
这一类情态动词是用来表示推测的
后加完成时用来表示对过去状况的推测
即过去一定/一定不/也许发生了某事
It
must
have
rained
yesterday.昨天一定是下雨了
might
have
been
和may
have
been都属于这一类
都表示过去也许...两个意义基本上相同
must
have
been
taken也是这一类
只是变成了被动结构
表示过去一定被...
主动结构是must
have
taken
意思是过去一定...
而你说的must
been
taken是不存在的
应该是must
be
taken
也是被动结构
表示一定被...
主动形式是must
take
属于我之前提到的第一种结构
表示一定...
2)should/could/would...+have
done
这一类情态动词后加完成时是虚拟语气的一种
表示本来...(而实际上没有...)
即本来应该/能够/想要做...(而实际上没做)
You
should
have
got
up
earlier.你本来应该早点起床的(实际上起晚了)
标题中的should
have
done还有后边的could
have
survived都是这一类
最后提到的have
to是一个情态动词组
用法是后加动词原形
have
to
do
表示不得不做某事
意义和must
do比较接近
had
to则是have
to的过去式
should
have
done是虚拟语气
表示应该做而实际上没有做,并且带有一种责怪的语气。
should
do
是应该做什么,但那个做什么不一定是提到的那个时间点要做的