"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