Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

(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.

share|improve this question

closed as primarily opinion-based by Jörg W Mittag, gnat, MichaelT, Bart van Ingen Schenau, GlenH7 Feb 24 at 0:02

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

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
@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: – 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
up vote 14 down vote accepted

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

share|improve this answer
"interprets" and "runs" seem to be the most popular suggestions. I chose "runs" because it sounds better in: "The Lua interpreter runs foo.lua" – user46874 Jun 1 '12 at 16:30
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.

share|improve this answer

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

share|improve this answer
"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.

share|improve this answer

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