Re: Applesoft tokenization phases?

George Neuner <>
Fri, 13 Mar 2020 17:55:54 -0400

          From comp.compilers

Related articles
Applesoft tokenization phases? (Ev. Drikos) (2020-03-12)
Re: Applesoft tokenization phases? (George Neuner) (2020-03-13)
Re: Applesoft tokenization phases? (awanderin) (2020-03-16)
Re: Applesoft tokenization phases? (Ev. Drikos) (2020-03-18)
Re: Applesoft tokenization phases? (Christopher F Clark) (2020-03-20)
Re: Applesoft tokenization phases? (Martin Ward) (2020-03-21)
| List of all articles for this month |

From: George Neuner <>
Newsgroups: comp.compilers
Date: Fri, 13 Mar 2020 17:55:54 -0400
Organization: A noiseless patient Spider
References: 20-03-013
Injection-Info:; posting-host=""; logging-data="50755"; mail-complaints-to=""
Keywords: Basic, history, comment
Posted-Date: 13 Mar 2020 18:06:58 EDT

On Thu, 12 Mar 2020 17:46:00 +0200, "Ev. Drikos" <>

>This question relates to thread "Languages with Optional Spaces".
>In an Applesoft II manual I've found at "" [1], 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 "" [2] that contains:
>110 DIFF = ABS(A(I)-N)
>Also, an online AppleSoft simulator at [3] 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 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]

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.