RPG (programozási nyelv)

Az RPG (Report Program Generator) egy olyan programozási nyelv, amelynek szintaxisa eredetileg hasonló volt az IBM mechanikus tabulátorainak parancsnyelvéhez . A táblázatkezelőket karbantartó mérnökök új berendezésekre és adatátvitelre való átállásának megkönnyítésére tervezték, eredetileg az IBM 1401-hez valósították meg. Az 1960 -as és 1970 -es években széles körben használták .

Úgy tűnik, hogy a nyelv leggyakoribb változata az RPG II.

Az IBM jelenleg is támogatja a nyelvet, mivel hatalmas mennyiségű kódot írnak bele, amit nem kifizetődő más programozási nyelvekre lefordítani.

A 2001 -ben kiadott RPG IV verzió az objektumprogramozás elemeit vezette be.

Az IBM nagyszámítógépeken és AS/400 -as gépeken kívül az RPG-t Digital VAX , Sperry Univac BC/7, Univac system 80, Siemens BS2000, Burroughs B1700, Hewlett Packard HP3000 , ICL 2900 sorozat, Honeywell WANG 6220, IBM WANG 6220 rendszereken is megvalósították. PC platformok ( DOS ).

Egy harmadik féltől származó Visual RPG fordító Windows és GUI támogatást biztosít . Vannak implementációk az OpenVMS -hez és más egzotikusabb platformokhoz is.

Mintakód

* Az "F" (fájl) specifikációk határozzák meg a fájlokat és más i/o eszközöket FARMstF1 UF EK lemez átnevezése (ARMST:RARMST) * A "D" specifikációk a változók és paraméterek meghatározására szolgálnak * A program "prototípusa" egy külön fájlban található * lehetővé teszi, hogy más programok hívják /copy custom_pr * Az "eljárási felület" az *ENTRY paramétereket írja le D getCustInf PI DpCusNo 6p 0 konst D pNév 30a DpAddr1 30a DpAddr2 30a DpCity 25a D pState 2a D pZip 10a /ingyenes // A "lánc" parancs a kulcsos fájl véletlenszerű elérésére szolgál lánc pCusNo ARMstF1; // Ha a rendszer rekordot talál, helyezze át a mezőket a fájlból a paraméterek közé ha %talált; pNév=ARNm01; pAddr1 = ARAd01; pAddr2 = ARAd02; pCity=ARCy01; pState=ARSt01; pZip=ARZp15; endif; // Az RPG kapcsolókat használ. Az egyik „LR” kapcsoló eredetileg az „utolsó rekordot” jelentette. //LR valójában a programot és annak adatterét eltávolíthatóként jelzi a memóriából. *InLR = *Be; /vég nélküli

Irodalom