I saw a sentence on the web page of python as below:

This means that source files can be run directly without explicitly creating an executable which is then run.

I do understand what the sentence means but it does confuse me, could you please explain the grammar used here in the clause that contains "which is then"?

  • Do you understand the grammar of "The program is run"? – Tᴚoɯɐuo Nov 16 '16 at 19:39
  • @TRomano Yes, I do. I know what the original sentence means, only confused about why it could be written like that. – Misu Nov 17 '16 at 7:13

The clause "which is then run" is a restrictive relative clause that modifies "an executable".  The relative pronoun "which" serves as the subject of the clause.  In this context, the "then" is roughly synonymous with "subsequently". 

"An executable which is then run" is the direct object of the gerund "creating".  This gerund is modified by the adverb "explicitly".  The act of running the executable is subsequent to the act of creating it, even if one or both actions are hypothetical. 

The gerund phrase "explicitly creating an executable which is then run" is the object of the preposition "without". 

  • Thank you, it makes me more clearly. Many sentences such as "An executable thing which is then run" saved in my brain, they give me a misconception that there should be a "distinct" object before the "which". I forget that it could be not only an "Attributive Clause" but also an "Object Clause". – Misu Nov 17 '16 at 7:31
  • The adjective "executable" is used as a pronoun in this sentence. You can consider "an executable" to stand for "an executable object" or "an executable program". The relative clause "which is then run" is still an attributive clause. – Gary Botnovcan Nov 17 '16 at 15:03
  • Oh, that's the problem, I always think there should be a noun which can not be omitted. Could you please share more about the adjective-pronoun? – Misu Nov 18 '16 at 2:09

This sentence basically says,

This means that instead of explicitly creating an executable and then running it you can just run it directly

Here is an example of using "which is then" in a sentence.

The back of the chair is then put in place, which is then screwed in place.


"which is then" is used to link the phrases "explicitly creating an executable" and "run" (run the executable).

The sentence is presenting two alternatives:

  • run the source files directly
  • create an executable and then run the executable

The word "run" is an irregular verb that behaves the same in the three forms:

present (V1) = run

past simple (V2) = run

past participle (V3) = run

Now, as you know, the passive voice is a structure of: "to be" + V3.

The word run in your context is in the 3rd form that forms passive voice. You can also identify it in the beginning of your example: "can be run", which has the same explanation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.