A REXX programozási nyelv

Alprogramok, modulok



Szintaxis

Osztályozás és szintaxis A nyelv három fajta alprogramot ismer: Beépített alprogramok olyan alprogramok, amelyek részei a nyelv definíciójának, és tetszőleges programban használhatóak. Külső alprogramok Olyan alprogramok, amelyek definíciója a forráskódon kívül található, esetleg más nyelven íródott. Belső alprogramok Olyan alprogramok, amelyek definíciója az adott program forráskódján belül található.
Belső alprogramok (internál subroutines) definiálása A nyelv lehetőséget nyújt belső alprogramok (az alfejezeten belül a továbbiakban alporogramok) használatára. Az alprogram definíciójának szintaxisa:

[alprogram] ::= [címke]: [utasítások] [return] [return]::= 'return' | 'return' [kifejezés]
Az [címke] tetszőleges azonosító lehet, de nem végződhet ponttal. Az alprogram végét a return utasítás jelzi, melynek hatására a vezérlés a hívóhoz kerül vissza. Lehetőség van rekurzív alprogramok írására. Az alprogramok értéket is visszaadhatnak, a visszatérési értéket a return utasítás paramétereként kell megadni. A paramétereket az ARG beépített függvény segítségével lehet lekérdezni. Alapesetben az alprogramon belül láthatóak, és változtathatóak mindazon változók, amelyek láthatóak a hívás helyén. A változók levédése PROCEDURE utasítás segítségével történhet. Paraméter nélkül az utasítás láthatatlanná teszi az összes külső váltózót az alprogram számára. A PROCEDURE EXPOSE [változónevek] utasítás hatására a [változónevek]-ben felsorolt változók kivételével az összes többi külső változó láthatatlan lesz az alprogram számára.

Alprogram meghívása

Kétféle formátum létezik:

CALL [alprogram neve] [paraméter lista]
Az [alprogram neve] nevű alprogramot a [paraméter lista] paraméterekkel meghívja. Ha az alprogram eredményt ad vissza, az a RESULT változóba kerül. A [paraméter lista] az alprogramnak megadni kívánt paraméterértékek felsorolása, az egyes értékeket szóközökkel kell elválasztani.
[függvény név] ( par_1,..,par_n)
Ez a hívási formátum csak értéket visszaadó alprogramok esetén megengedett. Ez egy kifejezés, amelynek a kiértékelése során a [függvény név] nevű alprogram a par_1,..,par_n paraméterekkel meghívódik. A kifejezés értéke az alprogram visszatérési értéke lesz.
Mindkét esetben az alprogram meghívása a következőképpen megy végbe:

Általános tulajdonságok