Меню
Главная
Случайная статья
Настройки
|
RPG (Report Program Generator) — язык программирования, синтаксис которого был изначально сходен с командным языком механических табуляторов компании IBM. Был разработан для облегчения перехода инженеров, обслуживавших эти табуляторы, на новую технику и переноса данных, первоначально был реализован для IBM 1401. Широко использовался в 1960-х и 1970-х годах.
Наиболее распространённой версией языка, по всей видимости, являлась RPG II.
Компания IBM продолжает поддержку языка и в настоящее время, так как на нём написан громадный объём кода, который невыгодно переводить на другие языки программирования.
В версии RPG IV, выпущенной в 2001 году, введены элементы объектного программирования.
Кроме мэйнфреймов и машин AS/400 от IBM, RPG был реализован на платформах Digital VAX, Sperry Univac BC/7, Univac system 80, Siemens BS2000, Burroughs B1700, Hewlett Packard HP3000, ICL 2900 series, Honeywell 6220, WANG VS, IBM PC (DOS).
Компилятор Visual RPG, разработанный сторонним производителем, обеспечивает работу под Windows и поддержку GUI. Существуют также реализации для OpenVMS и других, более экзотических платформ.
Пример кода * "F" (file) specs define files and other i/o devices
FARMstF1 UF E K Disk Rename(ARMST:RARMST)
* "D" specs are used to define variables and parameters
* The "prototype" for the program is in a separate file
* allowing other programs to call it
/copy cust_pr
* The "procedure interface" describes the *ENTRY parameters
D getCustInf PI
D pCusNo 6p 0 const
D pName 30a
D pAddr1 30a
D pAddr2 30a
D pCity 25a
D pState 2a
D pZip 10a
/free
// The "chain" command is used for random access of a keyed file
chain pCusNo ARMstF1;
// If a record is found, move fields from the file into parameters
if %found;
pName = ARNm01;
pAddr1 = ARAd01;
pAddr2 = ARAd02;
pCity = ARCy01;
pState = ARSt01;
pZip = ARZp15;
endif;
// RPG makes use of switches. One switch "LR" originally stood for "last record"
//LR actually flags the program and its dataspace as removable from memory.
*InLR = *On;
/end-free
Литература- 9PAC, Report Generator (неопр.). History of Programming Languages (HOPL), Murdoch University, AU (2006). Дата обращения: 1 апреля 2008. Архивировано из оригинала 24 декабря 2010 года.
- RPG, Report Program Generator (неопр.). History of Programming Languages (HOPL), Murdoch University, AU (2006). Дата обращения: 1 апреля 2008. Архивировано из оригинала 15 апреля 2011 года.
- DuCharme, Bob. Pulling data out of computers in the mid-twentieth and early twenty-first centuries (неопр.) (26 февраля 2006). Дата обращения: 1 апреля 2021. Архивировано 14 мая 2008 года.
- Cozzi, Robert. The Modern RPG IV Language (неопр.) (1996). Дата обращения: 1 апреля 2021. Архивировано 3 ноября 2012 года.
- Shelly, Gary B. Introduction to Computer Programming RPG / Gary B. Shelly, Thomas J. Cashman. — Fullerton, California : Anaheim Publishing Company, 1977. — ISBN 0-88236-225-9.
|
|