RPG (programmeringsspråk)

RPG (Report Program Generator) är ett programmeringsspråk vars syntax ursprungligen liknade kommandospråket för IBM :s mekaniska tabulatorer . Designad för att underlätta övergången av ingenjörer som underhållit dessa tabulatorer till ny utrustning och dataöverföring, den implementerades ursprungligen för IBM 1401. Används i stor utsträckning på 1960- och 1970 -talen .

Den vanligaste versionen av språket verkar ha varit RPG II.

IBM fortsätter att stödja språket för närvarande, eftersom det skrivs en enorm mängd kod i det, vilket är olönsamt att översätta till andra programmeringsspråk.

RPG IV-versionen släpptes 2001 och introducerade element av objektprogrammering.

Förutom IBM stordatorer och AS/400 -maskiner har RPG implementerats på Digital VAX , Sperry Univac BC/7, Univac system 80, Siemens BS2000, Burroughs B1700, Hewlett Packard HP3000, ICL 2900 series, Honeywell 6220, IBM WANG, PC- plattformar ( DOS ).

En tredje parts Visual RPG-kompilator ger stöd för Windows och GUI . Det finns även implementeringar för OpenVMS och andra mer exotiska plattformar.

Exempelkod

* "F" (fil) specifikationer definierar filer och andra i/o-enheter FARMstF1 UF EK Disk Rename (ARMST: RARMST) * "D"-specifikationer används för att definiera variabler och parametrar * "Prototypen" för programmet finns i en separat fil * tillåter andra program att anropa det /copy custom_pr * "Procedurgränssnittet" beskriver *ENTRY-parametrarna D getCustInf PI DpCusNo 6p 0 konst D pNamn 30a DpAddr1 30a DpAddr2 30a DpCity 25a D pTillstånd 2a D pZip 10a /fri // Kommandot "chain" används för slumpmässig åtkomst av en nyckelfil kedja pCusNo ARMstF1; // Om en post hittas, flytta fält från filen till parametrar om hittad; pName=ARNm01; pAddrl = ARAd01; pAddr2 = ARAd02; pCity=ARCy01; pState=ARSt01; pZip=ARZp15; endif; // RPG använder sig av switchar. En strömbrytare "LR" stod ursprungligen för "senaste rekordet" //LR flaggar faktiskt programmet och dess datautrymme som borttagbart från minnet. *InLR = *På; /slutfri

Litteratur