to have done 和 having done 都表示发生在谓语之前的动作

3个回答

  • 不可以.

    此句严格说来,having lived abroad for twenty years是(时间)状语,并非修饰the old man的后置定语.

    即句子可以调整句序为:Having lived abroad for twenty years,the old man is on the way back to his motherland.

    因为做状语的非谓语动作live abroad发生在谓语动词be on the way...之前,且句子主语the old man和lilve abroad之间为主动关系,所以用其现在分词living abroad的完成形式having lived abroad.

    如果用to have lived abroad,则不定式一般只能做目的状语或出乎意料的结果状语,句意不通顺.

    另更正被推荐答案:非谓语动词的完成形式having done和having been done根本不能做定语和补足语,这是很多学习者的理解误区,切记!