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
In reply to Re: Re: How is a perl program processed ?
by dakkar
in thread How is a perl program processed ?
by TheYoungMonk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |