(I was encouraged to ask this question here.)

In C, we say:

GCC compiles foo.c.

For interpreters (such as Lua), what is the equivalent verb?

The Lua interpreter ____________ foo.lua.

When I write instructions for users of my Lua script, I often say:

Run the interpreter on foo.lua.

I think this can be said more succinctly:

Interpret (or Translate) foo.lua.

but that sounds awkward for some reason (perhaps because I'm unsure of its correctness). I can't really say compile because users may confuse it with the usage of the Lua compiler when I actually mean the Lua interpreter.

  • 4
    What's wrong with "interprets"? I'm pretty sure that's a valid verb. – FrustratedWithFormsDesigner Jun 1 '12 at 14:38
  • Please don't cross post. If you think that you've got the wrong site, flag the post so it can be migrated. – ChrisF Jun 1 '12 at 15:05
  • 2
    @ChrisF We closed his question on EL&U and this one is linked in the comments. – Kit Z. Fox Jun 1 '12 at 15:17
  • Take a look at: en.wikipedia.org/wiki/Interpreter_(computing) – NoChance Jun 1 '12 at 17:32
  • Are you sure any of these answers are correct? 'Cause in general there is no direct equivalent of compile for interpreted languages - there is no executable file that gets created. (Yeah, I know about *.pyc and so on, but I'm talking about in general) Or is Lua different? – Izkata Jun 1 '12 at 18:09

In addition to the obvious interprets, you could say that the interpreter runs or executes some code.

  • 3
    "interprets" and "runs" seem to be the most popular suggestions. I chose "runs" because it sounds better in: "The Lua interpreter runs foo.lua" – tony19 Jun 1 '12 at 16:30
  • 1
    I avoid using words like "execute" with non-techies, for the same reason I avoid using the term "fatal error". – Kristopher Johnson Jun 1 '12 at 19:42
  • @KristopherJohnson I suppose it might be important to be sensitive in that respect in certain contexts, but to carry out is a well-known meaning of execute, and it's often used in that sense. One executes a financial transaction or a legal document; people know that execution is as important as planning; the police execute a warrant. – Caleb Jun 1 '12 at 20:19

I have always thought along these lines:

A compiler compiles code.

An interpreter interprets code.

So I would say interprets.


"Interprets" or "runs" are, I think, the two most natural verbs. Maybe "executes".

  • "runs" definitely makes sense in *nix land, since the hashbang can make scripts transparently runnable as if they were compiled programs. Not sure if Windows has an equivalent. – Izkata Jun 1 '12 at 18:07

It sounds awkward because compilers and interpreters are really different things.

You can say "run the compiler" to get the binary and maybe deploy the application but you cannot say "run the interpreter" to produce binary and deploy it. So you cannot compare them.

Interpret is the right word.

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