[zxspectrum] Re: Nuovo programma ZXBas!

  • From: Luca Alimandi <luca.alimandi62@xxxxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 16 Oct 2016 23:34:43 +0200

Il 15/10/2016 16:16, Enrico Maria Giordano ha scritto:



Il 15/10/2016 15:56, Luca Alimandi ha scritto:

Potresti utilizzare la notazione standard
<https://msdn.microsoft.com/it-it/library/69whc95c.aspx>:

label:
GOTO label

Oppure risulta più difficile?

Come distinguo lo statement

PRINT:

dalla label

PRINT:

e come distinguo

GOTO label

dove label è una label da

GOTO label

dove label è una variabile?

EMG


Il primo caso forse dovrebbe essere semplicemente evitato. In realtà lo Spectrum usa dei token per le keyword, per questo è possibile scrivere un comando del genere.
Ossia usare un nome di variabile "PRINT" composto dai singoli caratteri ASCII "P", "R", ecc. che è ben diversa dal token "PRINT" che coincide con il carattere ASCII 245.

Viceversa, effettuando il parsing di stringhe è difficile fare la distinzione.
In generale però la regola è che le keyword non possono essere utilizzate come nomi di variabili né di label (mi pare...)

Per il secondo caso... non so. Probabilmente si dovrebbe evitare che esista una label che abbia lo stesso nome di una variabile, e viceversa; ma come farlo, non saprei...

Per cui va bene la scelta che hai fatto tu (la @...)!

--

|_ /-\


Other related posts: