in reply to Re: How is a perl program processed ?
in thread How is a perl program processed ?
A teacher of mine said that an interpreter has a signature of:
(P × D) ⇀ D
Instead a compiler has a signature of:
P ⇀ D ⇀ D
Where P is the domain of programs, and D is the domain of data.
So perl has a signature of the first kind: you give it the source and the data at the same time. cc, on the other hand, has asignature of the second kind: you give it only the source, and it produces another program, which is a function from data to data.
So much for theory
In practice, traditionally an interpreter has worked in a "miopic" way, looking at a single line (or even less) of code at a time; a compiler instead has always looked "at the big picture", swallowing the entire source at once, looking for problems and inconsistencies.
So, in this way, Perl is a compiler.
And on a sidenote, C is compiled to machine language, not assembly. Assembly is compiled to machine language by an assembler...
-- dakkar - Mobilis in mobile