Viola Zoltán
A mau programozási nyelv
TARTALOM, BEVEZETÉSTartalom
A mau programnyelv fordítási opcióiElőszó a bevezetéshez
Bevezetés
1. fejezet - A mau nyelv változói
2. fejezet - Az aritmetikai kifejezések
3. fejezet - Értékadás
4. fejezet - A pontosvesszők
5. fejezet - A megjegyzések, kommentek
6. fejezet - Tömbök
7. fejezet - Stringek
8. fejezet - Stringtömbök
Stringtömbök névsorba rendezése
Stringek darabolása határolókarakter szerint
9. fejezet - Inkrementálás és dekrementálás
10. fejezet - Összevont utasítások
Egyenlőségjellel összevont utasítások
Előjelváltás
Gyorsfüggvények
Gyorsparancsok
11. fejezet - Kiiratás
12. fejezet - Vermek
13. fejezet - Mau rendszerváltozók és rendszerfüggvények
Alapértelmezetten #l (mau l) értéket visszaadó rendszerfüggvények
Explicit módon casting operátorral jelölt rendszerfüggvények
#c értéket visszaadó rendszerfüggvények
#l értéket visszaadó rendszerfüggvények
#L értéket visszaadó rendszerfüggvények
#g értéket visszaadó rendszerfüggvények
#s értéket visszaadó rendszerfüggvények
14. fejezet - Vezérlési szerkezetek, azaz elágazások, ciklusok és "esetek"
UTF-8 kódok
Az if és a ha utasítás
Ciklusok
A "végtelen ciklus"
Hátultesztelő ciklus
Elöltesztelő ciklus
Előre rögzített fix számszor lefutó ciklus
String hosszától függő ciklus
Utasításblokkok
A switch-szerű vezérlési szerkezet
Elágazás keresési eredménytől függően
15. fejezet - Névterek
16. fejezet - File-kezelés
Input fájlok
Output fájlok
17. fejezet - Tartalomjegyzékek (directoryk) kezelése
18. fejezet - Mau nyelvű függvények
19. fejezet - Változó hosszúságú paraméterlista kezelése
20. fejezet - "Igazi" függvények és rekurzív függvények
21. fejezet - Bencsmarkok
22. fejezet - A mau interpreter és a shell kapcsolata
Shell parancs eredményének tömbbe olvasása
23. fejezet - A BRAINFUCK interpreter, avagy "ez itt a humor helye"
24. fejezet - Hasznos feladatokat ellátó mau nyelvű példaprogramok
A "maudir" program
File sorait névsorba rendező program
Állománylistázó program, olyasféle mint az "ls -l"
Szótárprogi
Mau plugin készítése a Surf böngészőhöz
Mau nyelvű statusbarkezelő program a DWM ablakkezelőhöz
Parancssoros GMAIL watcher program mau nyelven
Menü a DWM ablakkezelőbe
25. fejezet - Stringkonstansok a programmemóriában
26. fejezet - Álfüggvények
27. fejezet - Közös kódú függvények
28. fejezet - A mau programozás csapdái
29. fejezet - Önmódosító programok készítése
30. fejezet - Pluginek készítése a mau interpreterhez
31. fejezet - A logolás egy mau programban
32. fejezet - Saját billentyűzetkiosztás készítése
33. fejezet - Esettanulmány: egy mau program felgyorsítása
34. fejezet - Hasznos X parancsok
A DMENU integráció
Kiiratás a statuszbarra
35. fejezet - A mau programnyelv fejlesztését segítő eszközök
36. fejezet - Mau megszakításrendszer
37. fejezet - A BETŰ és a JELSOR, vagyis az UTF-8 kódolású karakterek és stringek
A BETŰk
A JELSORok
A JELSOR-tömbök
38. fejezet - Bitmezők kezelése
39. fejezet - Egzisztenciafüggvények
40. fejezet - Streamkezelés
41. fejezet - Az ncurses integráció
Ncurses-sel összefüggő mau utasítások
Ncurses-sel összefüggő függvények
Bevezetés
A "mau" egy olyan programozási nyelv, amit én, Viola Zoltán alkottam meg. Ezt azért tettem, mert
1. Író vagyok, s a sci-fi sorozatom számára szükséges volt egy programozási nyelv, ami nem azonos egyik jelenleg létező nyelvvel sem, s amelyen írhatok majd néhány programféleséget vagy ilyesmiknek a részleteit a regényeimbe, a hangulat fokozása s a színvonal emelése céljából. Na most, nem akartam halandzsát írni, így megalkottam a szóban forgó nyelvet. Ez tehát a legkifejezettebben egy IRODALMI CÉLLAL létrehozott, mindazonáltal működő és (reményeim szerint) akár komoly feladatokra is használható PROGRAMOZÁSI nyelv. Amennyire tudom, semelyik író soha nem alkotott még meg programozási nyelvet a sorozata kedvéért, ezért ezzel egyedülálló vagyok a Világ (vagy legyek szerényebb: legalábbis a Föld...) összes jelenlegi vagy valaha létezett írója közt, s teljesen nyíltan elismerem hogy erre nagyon büszke vagyok, s ez rém jólesik nekem! Ha azonban tévednék, s előfordult volna már hogy más író is alkotott az irodalmi művei számára/kedvéért programozási nyelvet, akkor az csak eggyel több ok a számomra, hogy ebben se maradjak el más íróktól!
2. Amúgyis érdekelt, képes vagyok-e egy effélének a megírására, azaz vonzott maga a kihívás. Mondhatni tehát hogy afféle "tudományos" vagy "intellektuális" virtus miatt is kedvem volt ezt megcsinálni. Szerintem az ilyesminek sokkal több értelme van, és nemesebb szórakozás, mint az idióta Valóságshowkat bámulni a tévében.
3. Teljesen nyíltan bevallom, szeretek dicsekedni, felvágni, kérkedni a tudásommal, azaz hiú vagyok. S ebben még csak semmi rosszat se találok, mert mindenki hiú, csak egyesek ezt pofátlanul és képmutatóan letagadják. Én legalább bevallom. Na most, ha valaki megalkot egy új programnyelvet, az azért már elég jelentős valami ahhoz, hogy komoly mértékben növelje azt a "fogalmat", amit a számítástechnikusok úgy neveznek, hogy az illető "E-penis mértéke"...
4. A programnyelvem konkrétan hasznos is lehet mindenfélére, amiatt, mert bár interpreter típusú, de meggyőződésem szerint ezen nyelvek közt jóeséllyel a leggyorsabb, emellett függősége semmi sincs a g++ fordítóprogram kivételével (Az is csak akkor kell neki ha forrásból fordítjuk az interpreterét), erőforrásigénye elenyésző, emellett pedig teljesen biztos hogy ez a nyelv támogatja jelenleg a legislegjobban az INDIREKCIÓT, ugyanis a mau nyelvben szinte minden lehet tetszőleges aritmetikai (vagy string) kifejezés, még a változók NEVE is, vagy a meghívott függvények neve, az ugrások címkéi, a casting operátorok, meg mindenféle más akármik is. Korábban készítettem egy leírást e nyelv megalkotásának FOLYAMATÁRÓL, aminek az a címe, hogy "Hogyan írhatsz saját programnyelvet", de annak érdekében hogy akit nem érdekel a megalkotás folyamata, csak maga a mau programnyelv, a szintaxis, a szabályok stb, hogy annak tehát ne abból a hosszú tanul mányból kelljen kimazsoláznia a végső változatot, itt most ezt közlöm az érdeklődőkkel. Emiatt aztán itt nem is írom le a programnyelvet megvalósító C/C++ nyelvű kódokat, bár mau nyelven írt példaprogramokat természetesen igen.