That was to permit parsing the table for the end of the keyword. Although I
haven't investigated other BASICs, I know for a fact that Commodore BASIC
used that method. Supposedly, all of the micro BASICs were compiled from the
same source tree using a bunch of #if/#endif-like switches. ISTR that
Microsoft used some sort of intermediate language or series of complex
macros to facilitate being to compile a version of BASIC for almost any
machine.
Indeed, ASCII(63) is the question mark character.
-----Original Message-----
From: cctalk-bounces at
classiccmp.org [mailto:cctalk-bounces at
classiccmp.org]
On Behalf Of Gordon JC Pearce
Sent: Monday, November 21, 2005 4:09 PM
To: On-Topic and Off-Topic Posts
Subject: Re: BASIC's question mark and PRINT
Jim Battle wrote:
Allison, that seems unlikely. Later versions of
microsoft basic
certainly didn't use any value lower than 0x80 for tokens. Even if you
could find a few characters in the "live" portion of the ascii table
that didn't lead to ambiguous parsing, I can't think of a good reason
why they'd do it -- there was enough room at 0x80 and above, and not
enough unused values below 0x80, so why have two lookup tables when one
would do?
Aha - didn't the last letter of each keyword have bit 7 set?
That would mean that it would be 63+128 = 191
Just a thought.
Gordon.