( haroldking | 2020. 03. 26., cs - 13:12 )

Nem olvastad el figyelmesen a blogbejegyzést. Világosan leírtam benne, a függvény amit betöltt, futtatáskor egyetlen paramétert kap csak meg (automatikusan): az épp futó Furor program struktúrájára mutató pointert! Aztán abból a függvény dolga hogy kibányássza a neki kellő paramétereket. Például a veremtárból, vagy a bájtkód tokenéből vagy akárhonnan. Az ő dolga. Megkapta a pointert, innentől kezdve teljes hozzáférése van mindenhez.

És nem, még véletlenül se úgy volt hogy minden adattípusom dupla pontosságú lebegőpontos szám! Fogalmam sincs honnan vetted ezt a tévhitet, ilyet soha az életben sehol se állítottam, mert épp az az egyik célom kezdetektől fogva, hogy a nyelvem számos adattípust támogasson!

Talán azzal kevered, eredetileg lebegőpontos számokból csak a double-t akartam támogatni valóban, de aztán meggyőztek róla hogy kéne a float is. Oké. De ettől még kezdetektől támogatva volt a mindenféle egész típusok használata is, meg a stringeké is.

Jelenleg a köüvetkezőket támogatom:

—string (saját típus, hossztárolós, stb)

—double

—float

—unsigned long long (8 bájtos)

—signed long long (8 bájtos)

—unsigned int (4 bájtos)

—signed int (4 bájtos)

—unsigned short int (2 bájtos)

—signed short int (2 bájtos)

—unsigned char

—signed char

—UNICODE karakter (a legtöbb esetben úgy viselkedik mint az unsigned int), 4 bájtos

A stringjeimben tetszőleges UNICODE karakter használható, amint a Furor címkéiben és változóneveiben is. A stringjeim minden egyes eleme 8 bájtos, azaz egy union aminek sizeof mérete pont 8 bájt. Ennek alsó részén van eltárolva a karakter UNICODE számértéke, azaz nem az UTF-8 bájtsorozata! De természetesen van rá lehetőség hogy e stringeket átalakítsuk a „normál” C-szerű stringre ami záróbájtos és ami az UTF-8 szekvenciáőkat tárolja. Kiiratásnál ez például automatikusan meg is történik...

Igen, tudom, az UNICODE tárolásához elég lenne 4 bájt is, a stringjeim mégis 8 bájtos egységekkel nyomulnak. Ennek oka hogy nálam szinte minden e stringtípusra épül, ebben vannak letárolva bizonyos esetekben a pointerek is, a tokenkódok is, stb. Ez tehát nem __csak__ egy string, hanem egy annál sokkal funkciógazdagabb adatstruktúra, osztály, vagy hogy nevezzem! Nyilván ez tekinthető a tárhely pocséklásának bizonyos értelemben, elismerem, ugyanakkor viszont rendkívül kényelmes sok szempontból. Emellett amiatt is döntöttem így, mert mély meggyőződésem, ha ma találnák fel a bájtot, az nem 8 hanem 64 bites egység lenne...