一般式to do to be done
完成式to have done to have been done
进行式to be doing
完成进行式to have been doing
完成式: 不定式的一般形式所表示的动作, 通常与主要谓语表示的动作(状态)同时(或几乎同时)发生, 或是在它之后发生. 假如不定式所表示的动作, 在谓语所表示的动作(状态)之前发生, 就要用不定式的完成式。
I am glad to have seen your mother (= I am glad I have seen your mother).
(比较: I am glad to see you.)
He is said to have written a new book about workers.
He pretended not to have seen me.
进行式: 如果主要谓语表示的动作(状态)发生时, 不定式表示的动作正在进行, 这时要用不定式的进行式。
You are not supposed to be working. You haven't quite recovered yet.
We didn't expect you to be waiting for us here.
He pretended to be listening attentively.
完成进行式: 在谓语所表示的时间之前一直进行的动作, 就要用不定式的完成进行式.
The struggle was known to have been going for twenty years.
We are happy to have been working with you.