|Applesoft tokenization phases? email@example.com (Ev. Drikos) (2020-03-12)|
|Re: Applesoft tokenization phases? firstname.lastname@example.org (George Neuner) (2020-03-13)|
|Re: Applesoft tokenization phases? email@example.com (awanderin) (2020-03-16)|
|Re: Applesoft tokenization phases? firstname.lastname@example.org (Ev. Drikos) (2020-03-18)|
|Re: Applesoft tokenization phases? email@example.com (Christopher F Clark) (2020-03-20)|
|Re: Applesoft tokenization phases? firstname.lastname@example.org (Martin Ward) (2020-03-21)|
|From:||George Neuner <email@example.com>|
|Date:||Fri, 13 Mar 2020 17:55:54 -0400|
|Organization:||A noiseless patient Spider|
|Injection-Info:||gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="50755"; mail-complaints-to="firstname.lastname@example.org"|
|Keywords:||Basic, history, comment|
|Posted-Date:||13 Mar 2020 18:06:58 EDT|
On Thu, 12 Mar 2020 17:46:00 +0200, "Ev. Drikos" <email@example.com>
>This question relates to thread "Languages with Optional Spaces".
>In an Applesoft II manual I've found at "classiccmp.org" , page 7,
>we read that in a variable name any alphanumeric characters after the
>first two are ignored, unless they contain a reserved world. FEND ie
>would be illegal as it contains END.
>To implement such a rule one could first recognize keywords and then
>recognize any names. We see in p123 that stmt I is tokenized as II:
> I. stmt: 100 FOR A = LOFT OR CAT To 15
>II. tokens: 100 FOR A = LOF TO RC AT To 15
>Yet, I've found ie a program at "hoist-point.com"  that contains:
>110 DIFF = ABS(A(I)-N)
>Also, an online AppleSoft simulator at calormen.com  accepts ie both
>DIFF and FEND as valid variable names.
>As it seems, this issue can affect a design choice for the tokenization
>phases of an Applesoft front-end. Is the manual just informative or the
>online simulator does not accept (precisely) the particular dialect?
I recall there being some minor differences between the disk based
AppleSoft BASIC on the Apple][ and ][+ (which required the additional
language card to run) and the ROM AppleSoft BASIC on the //e, //c, and
//gs. But I no longer recall exactly what those differences were.
[ISTM the Apple /// also had a different ROM BASIC.]
Unfortunately, I no longer have my //e or //gs, or any of my old
AppleSoft BASIC code to look at. But my [perhaps faulty] recollection
is that they did allow variable names to contain keywords as long as
the name did not begin with the keyword.
FWIW, I remember the //e AppleSoft manual having a different cover
[the //gs did not come with a BASIC manual].
My suspicion is that the manual that is at classiccmp.org is for the
original disk based version, but that the simulator is based on the
later ROM version.
[This is drifting into alt.folklore.computers territory. -John]
Return to the
Search the comp.compilers archives again.