D
Dennis \(Icarus\)
On Aug 22, 8:42 pm, "Dennis \(Icarus\)" <[email protected]>
wrote:
Check page 3 of the dragon book, 1986 edition.
"Instead of producing a target program as a translation, an interpreter
performs the operations implied by the source program".
Now, a compiler can generate actual machien code, it could generate code for
a VM, it could generate aassembly, or even translate into another source
language.
The key is the separation of translation and execution.
A DAG (directed acyclic graph) is not necessarily an AST.
It is as far as I can tell.
Dennis.
wrote:
I will agree that owing to the greater power of full-feature
compilers, many younger programmers prefer to refer to interpretive
compilers as interpreters. Nonetheless, as I've shown (did you miss
it) all "interpreters", save for the limit case of a language like
Mouse (do you know it?) do compilation in Aho/Sethi's sense, therefore
Richard Heathfield is guilty of libel qed.
Check page 3 of the dragon book, 1986 edition.
"Instead of producing a target program as a translation, an interpreter
performs the operations implied by the source program".
Now, a compiler can generate actual machien code, it could generate code for
a VM, it could generate aassembly, or even translate into another source
language.
The key is the separation of translation and execution.
Reminding me that a DAG is an AST, and a Snark is a Boojum.
A DAG (directed acyclic graph) is not necessarily an AST.
OK, so for you, object code generation for a real machine is a
necessary condition for being a compiler. That's not common use.
It is as far as I can tell.
Dennis.