He complained about having been kept waiting so long.
我知道complain不及物,因此需要介词about,那about后面的having been kept是什么成分?about和动名词的完成式的被动式合起来又是什么状语?waiting作什么成分?
He complained about having been kept waiting so long. 他抱怨让他等了这么久。
having been kept waiting for so long为动名词短语作介词about的宾语,介词短语作complained的原因状语。
介词+动名词作状语,句子的主语和动名词为逻辑主谓关系。keep sb waiting for so long让某人等很久。其中waiting for so long为现在分词短语作keep的宾语补足语。由于作介词宾语,所以要用动名词;句子主语与keep为被动关系,所以用动名词被动语态being kept waiting for so long. 动名词的一般体形式在非正式语体可以表示谓语动作之前发生过的事件,但正式语体用动名词的完成体。本句采用了正式语体形式,即动名词采用了完成体被动语态 having been kept waiting for so long,表示句子主语与动名词为被动关系,动名词的动作是先于谓语动作的。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
Expert 请注意:
您分析句子成分时,括号内标注的汉语,位置混乱。一会在先,一会在后,毫无章法。
我教您使用标点符号的最基本知识:
“括号”的主要作用是解释和标注,其功能决定了它永远放在被注释的词语后面,不可能放在前面。所以,您标注的(谓语) complained ,是错误的。我看了一下,您分析的所有句子成分,基本都出现这个错误。
我建议,您先把英语语法放一放,先补上学好母语、使用母语、用母语正确表达这一课。如果母语都毫无章法,外语能怎样?
此外,不要动辄让网友背诵100本以上的词典和阅读100本以上的语法书。这不是“天方夜谭”吗?我记得,您不止一次说过这件事情。您自己做到了吗?
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
He(主语)//(谓语) complained //(状语)about having been kept waiting so long.
参考译文:他抱怨说让他/使他一直等了这么久。
解析如下:
(1)介词about+动名词完成时having been kept waiting so long,表示动名词动作在谓语动词complained动作之前发生完成,逻辑主语he是动名词动作承受者。
(2)having been kept waiting so long为动名词完成被动结构作介词about宾语成分
(3)waiting so long 为现在分词作主语补足语
备注:使某人一直做某事主动结构keep sb doing sth变被动“sb be kept doing sth某人被使着做某事”
I kept him waiting so long(现在分词waiting作宾语补足语)
=He was kept waiting so long (by me)(现在分词waiting作主语补足语)
(4)句子主语与动名词存在逻辑上被动主谓关系,所以用动名词被动结构,由于动名词动作在谓语动词动作之前发生,属于用完成时,即having been done结构“having been kept”
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!