Средства разработки пакетного режима
Традиционный способ разработки программ, применяемый программистами в течение десятилетий, основан на использовании средств пакетного режима, реализуемых в сеансе TSO/E или ISPF/PDF. Ключевым элементом данного способа является использование стандартных процедур JCL, хранящихся в системной библиотеке SYS1.PROCLIB и предназначенных для компиляции, редактирования связей и исполнения различных HLL-программ. В таблице 5.9 представлен список некоторых таких процедур.
HL Assembler | ASMAC | ASMACL | ASMACLG |
C++ | CBCC | CBCСB, CBCCL | CBCCBG, CBCCLG |
C | EDCC | EDCСB, EDCСL | EDCCBG, EDCСLG |
COBOL | IGYWC | IGYWCL | IGYWCLG |
Pl/1 | IEL1C | IEL1CL, IBMZCB | IEL1CLG, IBMZCBG |
Процедуры, предназначенные только для компиляции (имя процедуры заканчивается символом "C"- Compile), служат для создания и сохранения объектного модуля программы. Процедуры компиляции и редактирования служат для создания загрузочного модуля и сохранения его в библиотеке. Символы "CL" или "CB" в имени процедуры указывают на применение соответственно стандартного редактора связей Linkage Editor или редактора Binder. Последняя группа процедур (имена заканчиваются на "CLG" или "CBG") предназначена для выполнения программы, представленной в исходном коде, причем объектный и загрузочный модули могут не сохраняться в постоянных наборах данных.
В качестве примера использования каталогизированной процедуры рассмотрим процедуру ASMACLG, предназначенную для компиляции, редактирования связей и выполнения ассемблерной программы, представленной в виде исходного модуля [29]. Текст процедуры приведен на рис. 5.61.
Процедура ASMACLG состоит из трех шагов. На первом шаге (C) вызывается компилятор ассемблера ASMA90, на втором шаге (L) - редактор связей IEWL, а на третьем (G) - запускается созданный загрузочный модуль. Процедура не содержит символических параметров, поскольку необходимые средства настройки доступны через модификацию DD и EXEC операторов.
С помощью модификации операторов DD можно определить собственные наборы данных для размещения исходного текста программы (C.SYSIN), объектного (C.SYSLIN) и загрузочного (L.SYSLMOD) модулей, исходных данных программы (G.SYSIN). Для задания требуемого набора опций компилятора и редактора связей следует модифицировать параметр PARM соответствующего оператора EXEC (PARM.C и PARM.L).
Рис. 5.61. Каталогизированная процедура ASMACLG
Рассмотрим некоторые варианты применения процедуры ASMACLG при разработке ассемблерных программ:
- исходный модуль и исходные данные разрабатываемой программы представлены во входном потоке:
//TEST JOB ... // EXEC ASMACLG,PARM.C=LIST,PARM.L=NOMAP //C.SYSIN DD * строки исходной программы ... /* //G.SYSIN DD * исходные данные ... - исходный модуль и исходные данные представлены в заранее подготовленных каталогизированных наборах данных USER.ASM и USER.DATA:
//TEST JOB ... // EXEC ASMACLG,PARM.C=LIST,PARM.L=NOMAP //C.SYSIN DD DSN=USER.ASM(PRG3),DISP=OLD //G.SYSIN DD DSN=USER.DATA(TABL1),DISP=OLD
При работе в среде ISPF/PDF текст задания формируется с помощью текстового редактора EDIT. Запуск задания можно производить прямо из редактора с помощью команды SUBMIT. Отчет о выполнении задания можно получить и просмотреть либо с помощью утилиты Outlist, либо средствами компонента SDSF.