Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Compiler debate (DOSX)

posted by Steve Homepage E-mail, US, 14.04.2008, 05:51

> The usual is "compile from higher to lower language".

Good description. But the original purpose was to translate, from a more-human-readable and/because more abstract structure, to more-machine-readable, closer-to-the-metal structure, finally to what used to be called machine language, now commonly called microcode.

> Wikipedia seems to define it that way, and I've seen these discussions get
> out of hand because the definition of "high" and "low" is discussed ad
> infinitum.

High=More abstract. Low=Closer to machine language. These are relative not absolute positions, i.e., meaningless in isolation.

> Stronger, the other way around ("low" to "high") is still a compiler,
> since it is more than a bit of rewriting, analysis is required.

Not a compiler, but the opposite, hammering lower level code into a subset of a larger and more complex set of instructions.

> And a macro assembler that "compiles" to assembler also fits the
> definition (and the poor slobs that upload microcode patches to the CPU
> might argue that about assembler to microcode too).

The poor slobs are only old-fashioned. Time was, when assembly was the HLL, and then Fortran was the miracle that allowed ordinary rocket scientists to get some real work done.

> And strictly one could even transcode a lower language to a higher language.

It's been going on since software was invented. In fact, it could be the definition of software, including languages, OSes...

> But is it then still an assembler at all? Maybe it then has become a
> compiler for a language with a bit of assembler here and there?

Assembler and compiler are zones in a continuum, not clearly marked strata.

> If you think about it that way, when does the macro handling become a
> language in its own right, and can the bits of asm in between seen as
> "inline assembler"?

> Such thoughts were initially the motivation for the above definition
> (without "high" and "low"). Apparantly the difference is when it stops
> being a macro language and becomes a language.

There's an old joke in linguistics: A language is a dialect with an army and a navy.

 

Complete thread:

Back to the forum
Board view  Mix view
22755 Postings in 2121 Threads, 402 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum