Earlier quoted context omitted.
A high-level language can turn a simple statement into arbitrarily-complicated run-time code, pretty much by definition. There are some high level languages where there is a pretty straightforward one-to-one correspondence of statement to bytecode(s). There isn't much syntax cross-talk to be had there. Explain the existence of Forth.
I said "run-time code", not bytecodes. I'm talking about what actually executes. I've seen "bytecodes" that qualify as high-level languages by this standard, like CPython bytecode. Is that even so surprising? Single bytecodes for OO languages can translate to a lot of work to resolve. And, what about Forth? It's a fairly low-level language by this standard. It has convenient ways to link together a lot of little func…
As for precisely what runtime instructions are executed, most of the time, we can consider this to be an implementation detail. In the case of superscalar processors, you can't necessarily tell me what order your assembly language instructions are executed.
And, what about Forth? It's a fairly low-level language by this standard.
It bridges the gap between high-level and low level. It's a clear piece of evidence that there isn't such a huge gulf as you claim.
but one word does not dispatch on types and expand operator overloading and do the other things that can result in one line of C++ producing half a kilobyte of code
There are high level languages that don't do this either. Actually, I know of a specialized declarative Smalltalk that has gotten the entire image down to 45k. A Smalltalk VM is basically little more than a 256 branch switch statement, plus message dispatch, plus GC.
The gulf isn't nearly as large as you imagine. Rather, there are a number of "high level" languages that are actually pretty minimal.