23.11.2016 Views

Guru 1992-03

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

AREXX<br />

UÄdvoÄzloÄk mindenkit a GURU uÁj sorozataÁban, amelyben az AREXX programnyelvet vesszuÄk nagyÉÁtoÁ<br />

alaÁ. EloÁszoÄr talaÁn neÁzzuÄk meg mi is az az AREXX? Annyit mindenkeÁppen tudni kell, hogy nem X. A<br />

Rex francia kiraÁlyroÁl van szoÁ. Azoknak sincs igazuk akik azt mondjaÁk, minek meÁg egy programnyelv<br />

a Pascal, C, Assembly stb. melleÁ. Az AREXX nem a szokvaÁnyos programozaÁsra hasznaÁlhatoÁ, (baÁr<br />

korlaÁtozottan megoldhatoÁk vele olyan feladatok is), hanem kuÄlsoÁ, uÁn. vendeÁglaÁtoÁ programok vezeÁrleÁseÁt<br />

lehet aÁltala megoldani. Ez kisseÁ zavaros, de roÄvidesen tisztaÁzzuk.<br />

Hogy koÄnnyebben eÁrtse mindenki, neÁzzuÄnk<br />

egy peÁldaÁt. KeÁszÉÁtetteÁl megbÉÁzaÁsra<br />

egy 24 bites ray-traced animaÁcioÁt, amit<br />

szeretneÁl sajaÁt, 24 bites kaÁrtyaÁt neÁlkuÄloÄzoÁ<br />

geÁpeden is megjelenÉÁthetoÁveÁ tenni. Vagy<br />

uÁjra szaÁmoltatod a keÁpeket HAM-ben,<br />

ami sok idoÁ, vagy egyenkeÁnt aÁtkonvertaÁlod<br />

oÁket, ami nem feheÁr embernek valoÁ<br />

munka. Egyikre sincs azonban szuÄkseÁg,<br />

ha ismered az AREXX-et. IÁrhatsz egy<br />

olyan programot, amit veÁgrehajtatva vezeÁrli<br />

a paÁrhuzamosan futoÁ ADpro nevuÁ<br />

keÁpkonverter programot, eÁs minimaÁlis<br />

munkaÁval aÁtalakÉÁthatod a keÁpeidet HAMbe.<br />

Ez csak egy, a sokfeÁle alkalmazaÁsi lehetoÁseÁg<br />

koÄzuÄl. Kezded maÁr laÁtni milyen<br />

hasznos dologgal aÁllsz szemben?<br />

Ebben a sorozatban terveim szerint eloÁszoÄr<br />

megismerkeduÄnk a nyelv alapjaival,<br />

elemeivel, aÁttekintjuÄk az utasÉÁtaÁsait (mind<br />

a 34-et), majd a leggyakrabban hasznaÁlt,<br />

AREXX kompatibilis felhasznaÁloÁi programok<br />

AREXX parancsait ismertetem.<br />

EzuÁton keÁrneÁk mindekit, akinek valamilyen<br />

AREXX-es programroÁl boÁvebb leÉÁraÁs<br />

van birtokaÁban, juttassa el hozzaÁm, hogy<br />

koÄzkinccseÁ tehessem. Mivel a hely korlaÁtozott<br />

a papÉÁr GURU-ban, a szaÁmÉÁtoÁgeÁpet<br />

eloÁszoÄr laÁtoÁk joÁ ha eloÁtanulmaÁnyokat<br />

folytatnak, mert minden reÁszletre itt nem<br />

tudunk kiteÁrni. Ennek elleneÁre, ha valami<br />

nem vilaÁgos, keÁrdezzetek nyugodtan, eÁs<br />

Bear fuÄleÁt is raÁghatjaÁtok, mert ha megjelenik<br />

a lemez GURU is, ott lesz hely a<br />

reÁszletes leÉÁraÁsra.<br />

Ennyi bevezetoÁ utaÁn neÁzzuÄnk bele az<br />

AREXX titkaiba. Az AREXX a koÄvetkezoÁ<br />

elemekboÁl aÁll:<br />

- rexxsyslib.library<br />

- rexxsupport.library<br />

- mathieeedoubbas.library (nem reÁsze az<br />

AREXX-nek, de szuÄkseÁges)<br />

- rexxmast (AREXX interpreter, amely rezidens,<br />

egyszer kell elindÉÁtani)<br />

- neÁhaÁny AREXX segeÁdprogram, amelyek<br />

a REXX alkoÄnyvtaÁrban vannak<br />

A REXX koÄnyvtaÁr kituÄntetett jelentoÁseÁggel<br />

bÉÁr, az interpreter aÁltalaÁban itt keresi a<br />

programokat. AjaÁnlatos ezt az Assign<br />

REXX: sys:REXX utasÉÁtaÁssal logikai egyseÁggeÁ<br />

tenni. Ennek meÁg az is eloÁnye,<br />

hogy ilyenkor nem kell megadni az<br />

AREXX scriptek szabvaÁnyos .rexx kiterjeszteÁseÁt,<br />

azt az interpreter automatikusan<br />

hozzaÁilleszti. Ha suÁruÁn hasznaÁlod az<br />

AREXX-et, a kijeloÄleÁst a startup-sequence-ben<br />

ceÁlszeruÁ elveÁgezni. Az AREXX<br />

program futtataÁsaÁhoz el kell indÉÁtani egy<br />

rezidens interpretert, a Rexxmastert. Ezt<br />

megteheted workbench-boÁl, vagy CLI-boÁl<br />

egyaraÁnt. Vannak olyan felhasznaÁloÁi<br />

programok, amelyek keÁpesek oÄnmaguk is<br />

elindÉÁtani az interpretert.<br />

Mivel ÉÁrd meg az AREXX scriptet? Az<br />

AREXX-nek nincs sajaÁt editora, script ÉÁraÁsaÁhoz<br />

baÁrmilyen szoÄvegszerkesztoÁt hasznaÁlhatsz,<br />

amely tud ASCII formaÁtumban<br />

kimenteni, az interpreter baÁrmilyen ASCII<br />

faÁjlt elfogad forraÁskeÁnt.<br />

Milyen nevet adj a programjaidnak? Az<br />

AREXX programok elnevezeÁseÁre nincs<br />

kuÄloÄnleges megkoÄteÁs, de ajaÁnlatos oÁket<br />

ellaÁtni a szabvaÁnyos .rexx kiterjeszteÁssel,<br />

hogy keÁsoÁbb is felismerd mit takar a neÁv.<br />

A programokat ceÁlszeruÄ a REXX: tartalomjegyzeÁkbe<br />

elmenteni.<br />

Programot indÉÁtani vagy az RX utasÉÁtaÁssal,<br />

amelynek szintaxisa "RX uÁt/program.rexx",<br />

vagy ha a program a REXX:-<br />

ben van "RX program", vagy a vendeÁglaÁtoÁ<br />

program megfeleloÁparancsaÁval lehet.<br />

A nyelv szintaktikaÁja. Az AREXX<br />

programok mint maÁr emlÉÁtettem, ASCII<br />

karakterekboÁl aÁllnak. Megengedett a kiboÁvÉÁtett<br />

karakterkeÁszlet hasznaÁlata is. Az interpreter<br />

a futtataÁs megkezdeÁse eloÁtt az<br />

utasÉÁtaÁsokat, vaÁltozoÁkat aÁtalakÉÁtja nagybetuÁs<br />

formaÁtumba, tehaÁt a 'say' eÁs a<br />

'SAY' utasÉÁtaÁsok azonosak. Az ideÁzoÁjelen<br />

beluÄli sztringeket ez nem eÁrinti. A programok<br />

legkisebb nyelvi egyseÁgeit az<br />

AREXX-ben tokeneknek nevezik. Token<br />

lehet egy oÄnaÁlloÁ karaktersorozat, mint peÁldaÁul<br />

egy szimboÁlum, vagy csak egyetlen<br />

karakter, mint az operaÁtorok toÄbbseÁge. A<br />

tokeneket a koÄvetkezoÁ kategoÁriaÁkba soroljuk:<br />

MegjegyzeÁsek. Ezek a /* karaktersorozattal<br />

kezdoÁdnek eÁs a */ jelekkel eÁrnek veÁget.<br />

A megjegyzeÁsek baÁrmilyen karaktereket<br />

tartalmazhatnak, futtataÁskor, az<br />

eloÄfeldolgozaÁs alatt eltaÁvolÉÁtoÁdnak a forraÁsboÁl.<br />

A megjegyzeÁsbe beaÁgyazhatoÁk<br />

uÁjabb megjegyzeÁsek, de ekkor mindegyiket<br />

le kell zaÁrni. A program elsoÁsoraÁnak<br />

mindÉÁg megjegyzeÁsnek kell lenni!<br />

SzimboÁlumok. Mindazok a karaktersorozatok,<br />

amelyek a-z, A-Z, 0-9 eÁs .!?$ jelekboÁl<br />

aÁllnak, az AREXX-ben szimboÁlumoknak<br />

neveztetnek. A szimboÁlumokat aÁtalakÉÁtja<br />

az interpreter, a veÁgrehajtaÁs megkezdeÁse<br />

eloÁtt nagybetuÄs formaÁba. A<br />

szimboÁlumokat neÁgy csoportra bonthatjuk:<br />

Fix szimboÁlumok, amelyek szaÁmmal vagy<br />

tizedes ponttal kezdoÁdnek.<br />

EgyszeruÁ szimboÁlumok, amelyek nem<br />

szaÁmmal kezdoÁdnek eÁs nem tartalmaznak<br />

tizedes pontot.<br />

Stem szimboÁlumok (magyar megfeleloÁ<br />

kerestetik), amelyek egyszeruÄ szimboÁlumok,<br />

a veÁguÄkoÄn tizedes ponttal.<br />

OÄsszetett szimboÁlumok, amelyek egy,<br />

vagy toÄbb tizedes pontot tartalmaznak a<br />

neÁvben.<br />

A Stem eÁs az oÄsszetett szimboÁlumok az<br />

AREXX uÁjÉÁtaÁsai, a toÄmboÄk eÁs listaÁk feleÁpÉÁteÁseÁben<br />

jutnak szerephez. A szimboÁlumoknak<br />

eÁrteÁkuÄk van. A fix szimboÁlumok<br />

eÁrteÁke mindÉÁg a szimboÁlum oÄnmaga. Az<br />

egyszeruÁ, Stem eÁs oÄsszetett szimboÁlumok<br />

a vaÁltozoÁk, amelyek a program futaÁsa<br />

soraÁn eÁrteÁkeket szerezhetnek. AmÉÁg<br />

egy vaÁltozoÁhoz nem rendelteÁl eÁrteÁket, addig<br />

eÁrteÁke oÄnmaga.<br />

A koÄvetkezoÁhoÁnapban innen folytatjuk.<br />

Arany SaÁndor alias Aurum<br />

58 GURU 92/3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!