Page 6 - Enterpress Magazin - 2022. 1-2.
P. 6
6. oldal 2022. január – április
Zzzzip
A BASIC compiler - 1. rész
Peter Hiner - 1986.
ZZZIP használatára vonatkozólag, de ha gondosan kö-
Egy programkatalógusban a Zzzip 2.0-ról írnak, de vetjük a kézikönyv utasításait, a ZZZIP-et könnyen fog-
nálunk csak az 1.1-es verziót lehetett megszerezni. juk kezelni és meglepően jó eredményeket érhetünk el.
Peter Hiner, a Zzzip írója, aki 2010-ben talált rá az Az első nyilvánvaló kérdés: „Hányszor lesz gyorsabb a le-
Enterprise fórumra, szintén nem tud 2.0-ás verzió- fordított programok futása?” A válasz attól függ, hogy mi-
ról. Azonban létezett 1.2-es verzió, amit akkor meg lyen típusú BASIC program került lefordításra. Egy olyan
is osztott velünk a forráskóddal együtt, kifejezve ag- program, amely véletlenszerűen megadott számokat ren-
godalmát, hogy hosszú ideig egy régi verziót hasz- dez sorba, körülbelül 50-szer lenne gyorsabb, mint a BA-
náltunk, ugyanakkor örült, hogy még mindig van SIC, míg egy string-eket sorbarendező program esetleg
érdeklődés a programja iránt. Arra már nem emlé- csak(!) 12-szer. Másrészt egy olyan program, amely külö-
kezett, hogy miben tér el egymástól az 1.1-es és az nösebb számolás nélkül ábrázol pontokat és vonalakat,
1.2-es verzió. Utánanézett, és kiderült, Tim Box-szal valószínűleg csak kétszer lenne gyorsabb a BASIC-nél (ami
való levelezése során említette, hogy probléma volt még mindig bizonyos haladást jelent). Ha BASIC progra-
a gyökvonás függvényével, ezt javította ki az 1.2-es munkat úgy módosítjuk, hogy a gépi kódú programoknál
verzióban. Emlékei szerint egy olyan verzióba is be- alkalmazott módszereket használja, sokkal gyorsabb ké-
lekezdett, amely sprite-okat is kezel, ezt azonban pernyőkezelést kaphatunk (a szalagon található BENCH.
sajnos nem találta meg. Létezik egy ZIPX verzió is, BAS program a gyors képernyőkezelésre ad példát).
mely a Boxsoft basic bővítéshez készült, ezt szintén a Szalagunkon a ZZZIP (mely három részből áll -ZIP, ZIPA,
rendelkezésünkre bocsátotta. ZIPB) és a BENCH. BAS programok találhatók, ez utób-
Peter maga is írt basic játékokat, melyek Zzzippel le- bi néhány egyszerű rutint tartalmaz, s ezekkel szem-
fordítva jól használhatók. Ő írta a Boxsoft (Screen- lélteti a ZZZIP által biztosított sebességnövekedést.
play) kazettákon megjelent Pacman, Orbs, Galaxians Javasoljuk, hogy először a BENCH.BAS-t fordítsa le, mert
játékokat. ezáltal jobban megismerheti a ZZZIP használatához szük-
A Zzzip néhány, játékokat tartalmazó kazetta B ol- séges eljárást.
dalán volt megtalálható hazánkban (Gratis Soft), leg-
inkább így lehetett hozzájutni – vagy természetesen Mi is az a compiler?
cserepartnertől. Az Egyesült Királyságban külön ka-
zettás programként került forgalomba. Még az En- A compiler egy fordítóprogram, amely egy magasszintű
terface anno hirdetett egy pályázatot, ahova gyorsí- nyelven (esetünkben BASIC-ben) megírt programot for-
tást igénylő basic programokkal lehetett nevezni, és dít gépi kódú programmá (pontosabban pszeudó-kóddá).
az első helyezett nyereménye a Zzzip lett volna. Endi Így lehetőségünk van gyorsabb programok készítésére,
Miner című játéka lett a győztes, a program listáját le anélkül, hogy más programozási nyelvet kellene válasz-
is közölték az újságban, de a nyereményt Endi azóta tanunk. A compiler-eknek két csoportja létezik: integer
sem kapta meg. és real fordítók. Az integer fordítók csak egész számokkal
A Zzzip magyar nyelvű leírása régóta rendelkezé- tudnak dolgozni, cserébe viszont a lefordított program
sünkre áll. Az angol nyelvű leírás létezéséről azonban gyorsabban fut mint a real fordítókkal készített program. A
2007-ig nem tudtunk, akkor John Fante fórumtár- real fordítók nem csak egész számokkal tudnak dolgozni,
sunk tette közzé. ezért azonban a lassabb programfutásssal fizetünk.
2. A ZZZIP futtatása
1. Bevezetés
A ZZZIP egyformán jól működtethető szalagon és leme-
A ZZZIP egy Egész értékű BASIC Fordító. A BASIC-ben zen. A 2.1 fejezet a szalagon történő használatot írja le, de a
írt programot átalakítja gépi kódúra a gyorsabb futta- lemezes használatra is alkalmazható a nyilvánvaló különb-
tás érdekében. A ZZZIP a nagyobb sebességnöveke- ségek (és a 2. 2 fejezet pontjainak) figyelembevételével.
dést azáltal éri el és az „Egész értékű” elnevezés is arra
utal, hogy a BASIC programban szereplő konstansok 2.1 Szalagos rendszerek
és változók értékeit egész értékeknek tekinti (azaz a ti-
zedespont utáni számjegyeket nem veszi figyelem- Az indulás a BASIC képernyő-editorából történjék, miután
be). Ennek következtében van néhány megkötés a törölt belőle minden más programot. A ZZZIP futtatásá-