[HK][Furor] Infix notation

Állandóan azért szapuljátok szegény Drágaszágomat, a Furor nyelvet, mert RPN a szintaxisa és nem infix notation. Nos, kitolok veletek... lesz benne infix notation is!

Még nincs benne... MÉG. De coming soon...

Ugyanis, simán meg lehet oldani. Azért lehet megoldani, mert a következő, az infix notationt alkalmazó nyelvekben szokásos szimbólumok a Furorban még nem foglaltak:

+=

-=

*=

/=

stb.

A sima = foglalt, de majd alkalmazom helyette a

:=

szimbólumot, gondolom ismerős egyeseknek...

Ha e fentiek közül valamelyikhez ér az interpreter, a balérték már úgyis a stackba van helyezve. Annyi csak a dolga, hogy ezután a programkódot mindaddig infix notation szerint értelmezze amíg egy pontosvesszőhöz nem ér, hehehe...

Megcsinálom, esküszöm! Nem mintha szikrányit is hinnék benne hogy jó lesz bármire is. Korábbi nyelveimben már volt infix notation, s annak alapján tudom, hogy egy efféle kiértékelés legalább háromszorosára növeli az időszükségletet az RPN-hez képest. De megcsinálom, mert van egy olyan sanda gyanúm, azért fikáztok az RPN miatt annyit engem mert titokban azt hiszitek, nem vagyok képes megbirkózni egy infix kifejezéskiértékelő megalkotásával... holott fészkes fenét nem! Nem is egyszer írtam már olyat...

Az efféle infix notation a hátulgombolós usereknek való, de oké, ha valaki erre élvez mert nem képes megérteni a veremalapú nyelvek logikáját, hát legyen neki. Még nem ebbe kezdek bele, előbb jön a statusbar kezelő program a DWM-hez, de azután megírom ezt. Végülis miért ne, nem lesz kötelező használni, szóval ezután is lehet gyors programokat írni Furorban annak aki veszi a fáradságot hozzá hogy az RPN szabályai szerint kódoljon...

Remélem ezzel kihúzom az efféle kritikák méregfogát. (Persze tudom, akkor majd más miatt folyik a kötekedés...)

Hozzászólások

Jó ötlet.

Már harmadszor vágok az antennából, de még mindig rövid.

Remélem ezzel kihúzom az efféle kritikák méregfogát.

Tévedsz, szerintem ezzel csak rontanál a helyzeten. Szerintem az, hogy két ennyire eltérő jelölési rendszer keverve van egy nyelvben, az rossz dolog. Már azt se nagyon ajánlják, hogy a Function Notation-t keverjük az Infix Notation-nel, pedig azok könnyen megkülönböztethetők egymástól, lásd pl. Scala (ajánlott az FN használata, bár tudja az Infixet is).

Ne haragudj de ez most már tényleg úgy hangzik nekem hogy „ha van sapka rajta azért verjük meg, ha nincs rajta sapka azért”. Állandóan az volt eddig a kifogások legfőbb alapja hogy mirt RPN amikor az hű de szar, és nem 50 évvel ezelőtt élünk már, fejlődés van, senkisenemfogjahasználni emiatt, nehezenolvasható stb. Most meg hogy bele akarom tenni ez a baj.

Holott egyáltalán nem fogom megváltoztatni az eddigi funkciókat, azaz __NEM_LESZ_KÖTELEZŐ__ használni!

Ha viszont MÉGIS használja valaki, akkor nem nagyon muszáj majd kevernie a verem alapú szintaxissal, mert gyakorlatilag majdnem mindenre ott lesz az infix megoldás. Mármint legalábbis az aritmetikai műveleteknél (beleértve a stringek konkatenációját és multiplikációját is) és az összehasonlító műveleteket is.

Sőt lesz if utasítás is (eddig nem volt) ami szintén infix módon működik majd, gyakorlatilag olyasféleképp tehát mint a C nyelvben, bár van egy olyan érzésem nem kell majd utána zárójelek közé tenni a kiértékelendő logikai kifejezést.

Aztán használja majd az aki akarja... nem lesz kötelező, hiszen máris tud mindent enélkül is a Furor amit kell! Ez olyasmi a szememben mint a pótkerék egy biciklire, a biciklizni most tanuló kisgyerekek számára. Megtanulja így. legalábbis egyszerűbb programokat írni így tanul meg, aztán ha ez neki oké, ha megszereti a nyelvet, idővel ha gyorsabban futó kódra vágyik, majd csak elcsábul az RPN-re...

Vagy nem. De akkor sincs semmi baj, az ő dolga.

Obsessed commandline-maniac.

legalábbis egyszerűbb programokat írni így tanul meg, aztán ha ez neki oké, ha megszereti a nyelvet, idővel ha gyorsabban futó kódra vágyik, majd csak elcsábul az RPN-re...

Kiről beszélsz?

Csak te használod, rajtad kívül senki.

 

Zakkant elmével azt írod, hogy ez a nyelv azért ilyen, mert neked ez így a legeslegjobbabb. Ugyanakkor meg arról ábrándozol, hogy mások is megszeretik majd. Pedig a potenciális mások itt rögtön szóltak, hogy hányadék, átláthatatlan, érthetetlen, nekik ugyan nem kéne ilyen.

Mától én is aspergeres vagyok. Kéretik ennek figyelembe vételével olvasni az általam leírtakat.

Kétlem, hogy a jelenleg a HUP-ot látogató és a blogomat olvasó illetők lefednék azok halmazát vagy e halmaz legalább jelentős százalékát, akik a regényeimet olvassák. Pláne azokét akik olvassák majd a jövőben. Extrapláne azokat akik majd a jövőben az angolul megjelenő regényeimet olvassák majd.

Zakkant elmével azt írod,

Ha szilárd meggyőződésed hogy zakkant az elmém, minek írsz bármit nekem, minek törődsz velem? Minek vitatkozol egy szerinted hülyével/őrülttel hiszen tudhatod, felesleges! Ha mégis megteszed, magadat minősíti, nem jó értelemben.

Obsessed commandline-maniac.

Kétlem, hogy a jelenleg a HUP-ot látogató és a blogomat olvasó illetők lefednék azok halmazát vagy e halmaz legalább jelentős százalékát, akik a regényeimet olvassák.

 

 

Jaja, itt kevés az 5G hívő...

Hivatásos pitiáner
neut @

Kétlem, hogy a jelenleg a HUP-ot látogató és a blogomat olvasó illetők lefednék azok halmazát vagy e halmaz legalább jelentős százalékát, akik a regényeimet olvassák.

De nem ertem, akkor miert nem azoknak irod ezeket a blogbejegyzeseket, akik majd a regenyeid is olvassak? Miert nem azoktol varsz feedbacket, akik eleve erdeklodoen allnak a temahoz?

(Ezt nem baszogatasnak szantam, komoly a felvetes.)

De hiszen a válasz a kérdésedre igazán pofonegyszerű: azok akik a műveimet olvassák, még nem tömörültek holmi közösségbe, „rajongói klubba”, de még faßbook csoportjuk sincs (utóbbi nem meglepő, tekintve hogy nem is vagyok tagja a fészbuknak). Azaz, nekik nincs fórumuk. És kész, ennyi...

De ha lenne is fórumuk, vélelmezem közülük kevesen értenek a számítástechnikához olyan szinten, ami itt a HUP-on még az „alsó kategóriásoknak” nevezhető tagok részéről is teljesen általános, úgy vélem.

Akad különben pár (elismerem, kevés számú) olyan rajongóm akivel félig-meddig rendszeres levelezésben is vagyok (email), de bár ők odavannak a mesevilágomért, tényleg, a programnyelv nem igazán érdekli őket. Annak ellenére, hogy egyikük épp hogy programozó maga is... de, minő fájdalom, olyasmi a területe hogy webdesign, szóval ő olyasmikhez ért inkább hogy PHP, HTML, mittudomén... amit én csinálok, távol áll tőle. (Hirtelenjében nem is tudom, ismeri-e egyáltalán a C nyelvet... meg kéne kérdeznem tőle...)  Igaz, korábban meg suliban tanított programozást, na de az egyrészt nagyon régen volt, másrészt, el tudom képzelni mennyit kellett tudni akár egy tanárnak is ahhoz hogy cirka 20 évvel ezelőtt valamit tanítani tudjon a középiskolában ilyen téren... maradjunk annyiban hogy nem sokat.

Szóval ő elismeri hogy egy szorgalmas fickó vagyok, nagyon szép munkát végeztem hogy írtam egy saját nyelvet, igen, ez biztos gazdagabbá teszi a mesevilágomat, komolyabbá is meg minden, oké... de, ha ki nem is mondta, volt egy olyan érzésem jobban örült volna neki ha ezen idő alatt inkább 3 újabb regényt írok amit elolvashat...

Látod őszinte vagyok. Bevallom ezt, ha tudom is hogy ezt is lehet egyfajta kritikának tartani a részéről. Tudom, most ezzel fegyvert adtam a gúnyolódók kezébe de akkor is őszinte vagyok.

Akárhogy legyen is, én boldog vagyok hogy a nyelvem működik és gyarapodik. Én ennek örülök, akárki akármit is vélekedjék akármiről is.

Obsessed commandline-maniac.

Az, hogy valami rossz és hozzáraksz valami jót, attól nem feltétlen lesz a rosszból jó, lehet az még sokkal rosszabb is.

Pl. legyen valaki számára rossz a savanyú uborka. Nem szereti, ha nincs más, azért azt is megeszi.
Viszont imádja a ketchup-öt, bármikor bármennyit meg tud enni belőle.
A savanyú uborka meg ketchup összekeverésétől meg hánynia kell, annyira rossz lesz.
Talán így érthető, hogy rossz + jó, az sok esetben még rosszabb.

Egyébként nem haragszom. Ha végig olvasod, amiket írtam, akkor sehol sem írtam, hogy " mirt RPN amikor az hű de szar, és nem 50 évvel ezelőtt élünk már, fejlődés van, senkisenemfogjahasználni emiatt, nehezenolvasható stb.".
Mondjuk kb. ez a véleményem, de megértem, hogy erre a legegyszerűbb elemzőt írni és különleges is lesz tőle a nyelv.
Azt már kevésbé értem meg, hogy az RPN-hez hozzáraksz infixet.

Segítő szándékkal írtam, tőlem úgy csinálod, ahogy akarod!

Efféle átalakításokat compilereknél szoktak végezni. Egy szkriptnyelv, ha csinál is bájtkódszerűséget a végrehajtás előtt, ritkán ereszkedik le ilyen mértékű átalakításig. Azt természetesen nem tagadom, elméletileg megoldható. Én őszintén bevallom, nem mászom bele ebbe, ennél sokkal fontosabb dolgokra fordítom inkább az energiámat.

Obsessed commandline-maniac.

Well... Még nincs kész ez az infix notation... teljesen. De annyi már látszik, hogy a koncepció tökéletesen működőképes, megvalósítható!

Ezt az állításomat arra alapozom, hogy az értékadás művelete amit a

:=

operátorhoz kötöttem, működget, akarommondani nemcsak működGET de abszolút tökéletesen működik, mindössze annyi a gond hogy ugye ő utána egy aritmetikai kifejezést vár el, na és ez egyelőre csak az insigned long long típusra van elkészítve. Mármint annak a kiértékelője. És még ez se tud mást csak a számkonstansokat és a váltózókat felismerni, a műveleti jelek közül meg az összeadást, kivonást, szorzást és az osztást.

Szóval a dolog működik, igen, de az világos hogy ez roppant mértékben meg fogja növelni a kódbázist. CSEPPET SE ÖRÜLÖK A DOLOGNAK, az az igazság...

Ismétlem nem arról van szó hogy meg ne tudnám csinálni, elvégre a „csontváza” hogy úgy mondjam máris készen van, mondjuk hogy „demo” szinten működik is... és ez se tellett több időmbe mint mondjuk két óra. És közben még az időm nagy részében azzal voltam elfoglalva hogy kaját főztem magamnak... disznóhúst, igen, de fejet még mindig nem kaptam, ez a bordái voltak csak a cocának... na de ez off. Szóval a kiértékelő csontváza megvan, ezt csak fel kell tölteni a megfelelő rutinokkal, az is nagyrészt egy kaptafára megy mind...

Ennek ellenére, minthogy sok mindenféle izémizé meg gezemice az amiről szó van, ez NAGYON megnöveli a kódbázist! Ha nem is kétszeresére, de legalább egy húsz százalékkal. Most emiatt vagyok bosszús. Morfondírozok sok mindenen, leginkább azon, érdemes-e folytatnom. Persze oké, a memóriába belefér meg minden... na de akkor is... szóval morfondírozok. Disznófejem már nincs (legfeljebb a nyakamon amit hordok...) de morfondírból van elég, abból nagy a készletem, szóval morfondírozni tudok, van mit...

Obsessed commandline-maniac.

Milyen jó, hogy annyi sok morfondírt vásároltam a legutóbbi leértékeléskor... Most jól jött! Megvan a megoldás!

A megoldás az, hogy a mostani verziót ahogy van, kimentettem egy alkönyvtárba (sőt, egy másik partícióra...), és az „érvényes” változatból a mikroszkopikus nyomát is kitöröltem ennek az infix notationnak... Nem kell bele!

Mármint, a core-ba... Mert majd megcsinálom, igen, de KÜLÖN LIBRARYBA fog menni! Ez a nagy ötlet!

Aki akarja, majd betölti magának, egyetlen sor kell csak hozzá a program elejére ugye...

De most előbb mást csinálok meg. A printscreen rutint. Hogy a Furorral tudjak képernyőképeket is készíteni. Természetesen png formátumban. Ehhez kell egy png libet csinálnom... Vélelmezem, ez sajna holnapra marad...

Obsessed commandline-maniac.