I'm not conversant enough in Intel assembler to understand what's going on in the early MS interpreters, so maybe someone can help...
Generally in MS-derived BASIC an expression would only be semi-"chunked" and in the simple cases would pretty much leave the code in its original ASCII form. For instance, X+1
would appear that way in code.
Also, AFAIK, variable lookup occurs at runtime, so when it encounters X
it looks through the variable table and returns/inserts it.
So how did it manage the "local" variables in DEF? For instance:
DEF FNX(A)=A+B+1
In this case, A is a "local", and B is a global and would be called like this:
X=FNX(10)
So how did it substitute the 10 into the formula?