On Wed, 10 Jul 2024, Dan Cross wrote:
< [[ Knuth described instruction by instruction
simulation ]]
Sure. But we're trying to date the topic here; my point is that
JITing was well known, and simulation was similarly well known; we
know when work on those books started; it doesn't seem that odd to me
that combining the two would be known around that time as well.
Simulators that interpreted a pseudo-machine code date from the early
1950s. They were popular before compilers existed. Fortran and
Flow-matic arrived in 1954, translating languages that were somewhat
familiar to people into machine code, mathematical formulas for Fortran,
business English for Flow-matic. But it would be rather a stretch to
assert that anyone was doing machine code translation in 1954. It was a
while until enough machine code existed for it to be worth thinking about,
and the jump from tranlating from human-ish languages to translating from
machine languages was likely far less obvious at the time than it is in
retrosoect.
On the other hand, there was UNCOL. In the 1950s people quckly realized
that building a compiler for every language for every machine would be a
lot of work, particularly in an era when there was such extreme variation
in machine architecture. So someone came up with UNCOL which was supposed
to be a UNiversal Computer Oriented Language, or what we would call a
universal intermediate language. All of the compilers would translate the
original language to UNCOL, and there wold be an UNCOL to machine language
translator for each machine. This reduced the NxM compiler problem to N+M
if it worked, which of course it didn't because the languages and the
machines were both too varied. But UNCOL to machine code is in the same
ballpark as machine to machine.
CACM articles on UNCOL here:
https://dl.acm.org/doi/10.1145/368892.368915
https://dl.acm.org/doi/10.1145/368919.3165711
I would still love to hear if there are any actual reports or papers or
anecdotes of people doing machine code translation before the 1967 one
that started this discussion.
R's,
John