"compile" vs. "tokenize" (was Re: Password Problem)

Bill Vermillion fp at wjv.com
Tue Jun 1 19:30:50 PDT 2004


On Tue, Jun 01, 2004 at 07:13:38PM -0400, Fairlight thus spoke:
> On Tue, Jun 01, 2004 at 05:45:01PM -0400, Kenneth Brody may or may not have
> proven themselves an utter git by pronouncing:
> > Fairlight wrote:
> > > 
> > > No offense, but I'll agree to disagree on this one.
> > [...]

> > No problem.  However...

> > What does it take for you to consider it to be a true "compiler"?

> > Must it generate native machine code for the system on
> > which the "compiler" is being run? In that case, what about
> > cross compilers, which generate executables for some other
> > platform?

> I would consider it a true compiler if it generates machine
> code for either the current OS or for the target platform of a
> cross-compile. Machine code being the operative words.

That's not a standard definition. You will find many definitions
for compiler, and some call will define a compiler as a program
that takes a higher level language and translastes that to
assembly code.

Then there is the classic 'yacc' Yet Another Compiler Compiler -
even though it really is a parser generator and that generates some
of the most obnoxious looking C code you'll ever want to look at.

Then you will also find definitions that a compiler does prouduce
machine code.

There appears to be no universal defintion of compiler

> > Must the target platform physically exist in the form of hardware?  In

> Yes, IMHO. Hence "machine". The virtual thing is a case of
> semantics, but in reality, that's software, and is hence an
> interpreter to my way of thinking.

I don't see that the target has to exist in hardware.  There are
plenty of emulators extant and some often used commercial ones -
such as the one that permits MS programs compiled for the Intel
platform to run on the Apple PowerPC program.   

Bill
-- 
Bill Vermillion - bv @ wjv . com


More information about the Filepro-list mailing list