Just to add as well...
END "Hello and Goodbye..."
Where is some example in your code where this fails please?
What I understand about the pre-processor is:-
• Everything gets converted to lower-case
• All spacing gets removed
• A colon ':' effectively creates a new line.
Okay, there's a colon in a label, but this also works:-
GOSUB repeat1:PRINT"I'm Back! What a boring subroutine that was!"
PRINT "Cooo eee! I'm in the GOSUB I'll just sit here for 3 seconds.."
And best practices; You shouldn't use commands as pre-fixes in your code. I got caught out when the DEVICE command came out with an assignment. It broke old code. No big deal.
deviceWidth = 1024
LET deviceWidth = 1024
I don't think this answers your question, I don't know what techniques BASIC! uses. I think "some sort of look up table thingy thing" I find Java very complex and outside my scope along with computer science in general!
From my understanding from Marc's statement is that BASIC! uses some sort of memoisation technique. [If I got that right I'd be shocked, because i only thought there was only 2 types of ways to cache. There are many on the hardware and software side]