1.6 Mi a REXX?


A REXX egy programnyelv, amelyet Michael Cowlishaw tervezett az IBM angliai laboratóriumában. A legtöbb programozási nyelvhez hasonlóan, a REXX lehetôvé teszi a programok világos, strukturált megírását. Azonban, a REXX mint makró (script) nyelv is használható. Az OS/2 1.3-as verziója óta minden egyes példány tartalmazza a REXX programozási nyelvet. A REXX nem korlátozódik kizárólag az OS/2-re, ugyanis létezik REXX interpreter DOS, UNIX, VMS vagy például AmigaOS operációs rendszerek számára is. A REXX alapjaira épül az Object REXX (OREXX), amely az objektum orientált programozás elemeivel egészíti ki az alap REXX-et és a tervek szerint az újabb OS/2 verziókban ez lesz az új makró nyelv. A Warp 4-tôl kezdve mind a normál REXX, mind pedig az Object REXX megtalálható az OS/2-ben. A REXX változatok között a SWITCHRX paranccsal lehet váltani. Ha az Object REXX WPS támogatását is használni szeretnénk, akkor a WPINST paranccsal regisztráltatni kell két új osztályt. Amennyiben visszaváltunk REXX-re, a regisztráció törlôdik. A SWITCHRX parancs kiadása után mindig újra kell indítani a gépet, hogy a változtatás aktivizálódjon.

A REXX nyelvet könnyû tanulni, mivel más programozási nyelvekbôl már ismert szavakat, parancsokat használ. Legyen az egyszerû, vagy komoly programozási probléma, a REXX mindig hatékonyan használható. OS/2 alatt, a REXX programokat OS/2 szekcióban kell futtatni. A köteg (batch) fájlokhoz hasonlóan minden REXX program .CMD kiterjesztéssel rendelkezik. Ami viszont a közönséges köteg fájltól megkülönbözteti a REXX programot, az a fájl elsô sora: minden REXX programnak egy megjegyzés (comment) sorral kell kezdôdnie. Az alábbiakban a híres "Hello World!" példaprogram, igen egyszerû REXX-es változatát tekinthetjük meg:

/* Hello World! példaprogram */
SAY "Hello World!"
EXIT

Más programnyelvekhez hasonlóan, használhatunk mindenféle típusú változót, IF-ELSE konstrukciókat, DO-END hurkokat vagy akár OS/2 parancsokat is egy REXX programban:

/* REXX program, amelyik elszámol egy darabig és elindítja az editort. */
SAY "Meddig számoljak?"
PULL i
IF i < 1
THEN    DO
        SAY "A megadott szám kisebb mint 1."
        EXIT
        END
ELSE    SAY "A számolás folyamatban..."
DO  
    j = 1 to i
    SAY "Szám=" j
END
e.exe
EXIT

Ezen felül, rendelkezésre állnak az úgynevezett REXX segéd-függvények, azonban ezeket elôbb be kell tölteni egy CALL utasítással. Az alábbi példaprogram bekér egy nevet és egy ilyen névvel ellátott gyûjtôt (folder) készít a munkaasztalon (desktop):

/* REXX program, amelyik készít egy foldert a desktopon. */
CALL RxFuncadd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
CALL SysLoadFuncs
SAY "Add meg a folder nevét!"
PULL név
SAY "A folder készítése folyamatban..."
Dummy=SysCreateObject('WPFolder',név,'<WP_DESKTOP>','OBJECTID=<test_folder>')
EXIT

Ha a fenti két program bármelyikét átmásoljuk egy .CMD kiterjesztésû fájlba, akkor máris kész van az elsô REXX programunk. A második példa alapján készíthetünk egy olyan programot is, amelyik a munkaasztal beállítások elvesztése esetén visszaállítja az eredeti objektumokat. (Ugyanezt a célt szolgálja a Krim Kruse Hansen által írt WPS2Rexx/2 program.) A REXX nyelv szintaktikájáról és a parancsokról jó leírást találhatunk az OS/2 Warp On-Line Help-jében, az OS/2 Procedures Language2/REXX címû "könyvben". Ha a program futtatásakor hibaüzenetet kapunk, akkor az üzenet száma alapján további információhoz juthatunk a help program segítségével. Ha például a hibaüzenet száma REX0041 volt, akkor a parancssorba a HELP REX41 parancsot kell begépelnünk.

Más operációs rendszerekhez ingyen is beszerezhetünk REXX interpretereket. UNIX (és VMS) rendszerekhez a REGINA és REXX/imc programokat tölthetjük le. A REGINA-t Anders Christensen írta és az ftp.pvv.unit.no site-on találhatjuk meg. A másodikként említett interpretert a SunOS operációs rendszerekhez készítette Ian Collier és sok más interpreterrel egyetemben a rexx.uwaterloo.ca site-ról tölthetô le, a /pub/freerexx alkönyvtárból. DOS operációs rendszerhez a Bill Vlachoudis-féle BREXX interpretert használhatjuk. A PC-DOS alapállapotban tartalmaz REXX interpretert. Szintén létezik a REXX Linux portja is, amelyet Supoj Choachaicharoenkul készített.

Az Interneten is nagyon sok információforrást találhatunk. A Useneten, a comp.lang.rexx newsgroup-ban feltehetjük REXX-szel kapcsolatos kérdéseinket. Idônként lehet olvasni REXX-rôl szóló cikkeket a comp.os.os2.programmer.misc és a comp.sys.amiga.programmer csoportokban is. Magyarul tudóknak érdemes elolvasni az OS/2-es információs központban található, igen részletes REXX tanfolyamot is.

A REXX elônyeirôl és hátrányairól találhatunk leírásokat REXX-szel foglalkozó WWW site-okon.


A témához kapcsolódó más oldalak:


< [ OS/2 kérdések és válaszok | Keresés | Észrevételek, megjegyzések ] >
Utolsó módosítás ideje: 1999.11.06.