Anche se ugBASIC è un compilatore che converte il BASIC nell'assembly MOS 6510, Motorola 6809 oppure Zilog Z80, per alcune parti è dinamico proprio come un interprete. Ad esempio, nella gestione delle stringhe. Se scrivete:
a = "pippo" b = "paperino" c = a + " e " + b PRINT c
e lo mandate in esecuzione, vedrete comparire la stringa “pippo e paperino”
. Tuttavia, quand'è che avete chiesto di predisporre uno spazio adeguato per mantenere nella variabile c
questa scritta? Mai. Infatti, ci pensa ugBASIC, come avveniva per i BASIC degli anni '80.
In ugBASIC vi possono essere fino a 255 stringhe (16 su ColecoVision, SEGA SC-3000 e SG-1000) che, a seconda del processore, possono essere lunghe al massimo 127 (6809) oppure 255 (6510, Z80) caratteri, e possono occupare fino a 1 KB. Vi sembra poco? Potete aumentare lo spazio con il comando DEFINE STRING SPACE
e cambiare il numero di stringhe con il comando DEFINE STRING COUNT
.
Però attenzione! Per ogni KB di memoria per le stringhe ce ne vuole un altro libero, e ogni stringa (non come testo, ma proprio come variabile) occupa uno spazio, quindi… attenzione a non esagerare!