Re: Applesoft tokenization phases?

George Neuner <gneuner2@comcast.net>
Fri, 13 Mar 2020 17:55:54 -0400

          From comp.compilers

Related articles
Applesoft tokenization phases? drikosev@gmail.com (Ev. Drikos) (2020-03-12)
Re: Applesoft tokenization phases? gneuner2@comcast.net (George Neuner) (2020-03-13)
Re: Applesoft tokenization phases? awanderin@gmail.com (awanderin) (2020-03-16)
Re: Applesoft tokenization phases? drikosev@gmail.com (Ev. Drikos) (2020-03-18)
Re: Applesoft tokenization phases? christopher.f.clark@compiler-resources.com (Christopher F Clark) (2020-03-20)
Re: Applesoft tokenization phases? martin@gkc.org.uk (Martin Ward) (2020-03-21)
| List of all articles for this month |
From: George Neuner <gneuner2@comcast.net>
Newsgroups: comp.compilers
Date: Fri, 13 Mar 2020 17:55:54 -0400
Organization: A noiseless patient Spider
References: 20-03-013
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="50755"; mail-complaints-to="abuse@iecc.com"
Keywords: Basic, history, comment
Posted-Date: 13 Mar 2020 18:06:58 EDT

On Thu, 12 Mar 2020 17:46:00 +0200, "Ev. Drikos" <drikosev@gmail.com>
wrote:


>This question relates to thread "Languages with Optional Spaces".
>
>In an Applesoft II manual I've found at "classiccmp.org" [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 "hoist-point.com" [2] that contains:
>110 DIFF = ABS(A(I)-N)
>
>Also, an online AppleSoft simulator at calormen.com [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 classiccmp.org is for the
original disk based version, but that the simulator is based on the
later ROM version.




YMMV,
George
[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.