|
|
DataMuseum.dkPresents historical artifacts from the history of: IBM System/3 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about IBM System/3 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5588 (0x15d4)
Types: s3xseg
Names: »S$EPLG«
└─⟦d0bc1a931⟧ Bits:30009189 5704-sc1.V08.ccp
└─⟦64693a1c9⟧
└─⟦this⟧ »S$EPLG«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$EPLG«
└─⟦827b5bd03⟧ Bits:30009184 5702-sc1.V16.ccp
└─⟦f17e99db6⟧
└─⟦this⟧ »S$EPLG«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $EPLG * 00040000
.* * 00050000
.* MODIFICATION LEVEL: VERSION 8, MODIFICATION LEVEL 0 OF 5702-SC1 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION FIRST PASS MACRO-INSTRUCTION -- DEFINE * 00100000
.* PROGRAMMING LANGUAGE FOR WHICH SUPPORT IS TO BE INCLUDED. * 00110000
.* * 00120000
.* INPUT OPERANDS: * 00130000
.* * 00140000
.* . LANG-COBOL/FORTRAN/ASSEM/RPGII * 00150000
.* * 00160000
.* NAME OF PROGRAMMING LANGUAGE TO BE SUPPORTED. THERE IS NO * 00170000
.* DEFAULT. * 00180000
.* * 00190000
.* . PPUNIT-R1/F1/R2/F2 * 00200000
.* * 00210000
.* UNIT ONTO WHICH THE SOURCE MODULES (MACROS) AND/OR RELOCATABLE * 00220000
.* MODULES (SUBROUTINES) REQUIRED TO SUPPORT THE LANGUAGE ARE TO * 00230000
.* BE PLACED BY GENERATION. * 00240000
.* * 00250000
.********************************************************************** 00260000
$EPLG &LANG-,&PPUNIT- 00270000
.* 00280000
GBLA &SEQ . SEQUENCE CONTROL 00290000
.* . MUST BE 2 OR 3 UPON ENTRY 00300000
.* . IS MADE 3 AFTER PROCESSING 00310000
GBLB &TERR . TERMINATION ERROR SWITCH 00320000
GBLC &PLG . LANGUAGES SUPPORTED 00330000
.* . 1ST CHAR -- COBOL 00340000
.* . 2ND CHAR -- FORTRAN 00350000
.* . 3RD CHAR -- ASSEMBLER 00360000
.* . 4TH CHAR -- RPG II 00370000
GBLC &UPCBL,&UPFOR,&UPASM,&UPRPG . UNIT FOR EACH PGM LANG 00380000
.* 00390000
LCLA &N . LOCAL VARIABLE FOR LENGTHS 00400000
LCLC &C1,&C2 . USED TO REBUILD LANG SUPPORT 00410000
.* 00420000
.*--------- PARAMETER TRANSFORMATION TABLE -------------------------* 00430000
.* 00440000
TABLE &PPUNIT . PROGRAM PREPARATION UNIT 00450000
R1 TABDF R1 00460000
F1 TABDF F1 00470000
R2 TABDF R2 00480000
F2 TABDF F2 00490000
'' TABDF ?? 00500000
TABDF ** . ERROR PARAMETER 00510000
TEXT 00520000
.* 00530000
.*--------- CHECK STATEMENT SEQUENCE -------------------------------* 00540000
.* 00550000
AIF (&SEQ EQ '2').SEQ1 . SKIP IF $EIOD, $EFAC BEFORE 00560000
AIF (&SEQ EQ '3').SEQOK . SKIP IF $EPLG BEFORE 00570000
.* 00580000
*!100E $EPLG STATEMENT OUT OF SEQUENCE -- OR PRECEDING STATEMENT ERROR 00590000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00600000
.* 00610000
AIF (&PLG NE '').SEQOK . SKIP IF INITIALIZED 00620000
.* 00630000
.SEQ1 ANOP . STMT IN SEQUENCE--1ST USE 00640000
&PLG SETC '0000' . INITIALIZE SUPPORT SWITCHES 00650000
.* 00660000
.SEQOK ANOP . STATEMENT IN SEQUENCE 00670000
.* 00680000
.*--------- LANG-COBOL/FORTRAN/ASSEM/RPGII -------------------------* 00690000
.* 00700000
AIF (T'&LANG NE 'O').LG001 00710000
.* 00720000
*!120E MISSING 'LANG' OPERAND -- MUST BE SPECIFIED 00730000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00740000
AGO .LGEND . SKIP REST OF 'LANG' PROCESSING 00750000
.* 00760000
.LG001 ANOP . LANG OPERAND SPECIFIED 00770000
AIF (&LANG EQ 'COBOL').CBL . SKIP IF LANG-COBOL 00780000
AIF (&LANG EQ 'FORTRAN').FOR . SKIP IF LANG-FORTRAN 00790000
AIF (&LANG EQ 'ASSEM').ASM . SKIP IF LANG-ASSEM 00800000
AIF (&LANG EQ 'RPGII').RPG . SKIP IF LANG-RPGII 00810000
.* 00820000
*!105E INVALID 'LANG' PARAMETER -- MUST BE COBOL/RPGII/ASSEM/FORTRAN 00830000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00840000
AGO .LGEND 00850000
.* 00860000
.CBL ANOP . LANG-COBOL 00870000
&UPCBL SETC '&PPUNIT' . PGM PREP UNIT FOR COBOL 00880000
.* 00890000
AIF ('&PLG'(1,1) EQ '1').DUERR . SKIP IF DUPLICATE LANG-COBOL 00900000
.* 00910000
&C1 SETC '1' 00920000
&C2 SETC '&PLG'(2,3) 00930000
AGO .LGCOM 00940000
.* 00950000
.FOR ANOP . LANG-FORTRAN 00960000
&UPFOR SETC '&PPUNIT' . PGM PREP UNIT FOR FORTRAN 00970000
.* 00980000
AIF ('&PLG'(2,1) EQ '1').DUERR . SKIP IF DUPLIC LANG-FORTRAN 00990000
.* 01000000
&C1 SETC '&PLG'(1,1) 01010000
&C1 SETC '&C1.1' 01020000
&C2 SETC '&PLG'(3,2) 01030000
AGO .LGCOM 01040000
.* 01050000
.ASM ANOP . LANG-ASSEM 01060000
&UPASM SETC '&PPUNIT' . PGM PREP UNIT FOR ASSEMBLER 01070000
.* 01080000
AIF ('&PLG'(3,1) EQ '1').DUERR . SKIP IF DUPLICATE LANG-ASSEM 01090000
.* 01100000
&C1 SETC '&PLG'(1,2) 01110000
&C1 SETC '&C1.1' 01120000
&C2 SETC '&PLG'(4,1) 01130000
AGO .LGCOM 01140000
.* 01150000
.RPG ANOP . LANG-RPGII 01160000
&UPRPG SETC '&PPUNIT' . PGM PREP UNIT FOR RPG II 01170000
.* 01180000
AIF ('&PLG'(4,1) EQ '1').DUERR . SKIP IF DUPLICATE LANG-RPGII 01190000
.* 01200000
&C1 SETC '&PLG'(1,3) 01210000
&C2 SETC '1' 01220000
AGO .LGCOM 01230000
.DUERR ANOP . $EPLG STMT DUPLICATE FOR LANG 01240000
*!110E DUPLICATE $EPLG STATEMENT FOR &LANG LANGUAGE 01250000
AGO .LGEND . SKIP REST OF 'LANG' PROCESSING 01260000
.* 01270000
.LGCOM ANOP . COMMON FOR ALL LANGUAGES 01280000
&PLG SETC '&C1&C2' . REBUILD LANG SUPPORT SWITCHES 01290000
.* 01300000
.LGEND ANOP . END OPERAND 'LANG' 01310000
.* 01320000
.*--------- PPUNIT-R1/F1/R2/F2 -------------------------------------* 01330000
.* 01340000
AIF (&PPUNIT NE '??').LG500 . SKIP IF OPERAND SPECIFIED 01350000
.* 01360000
*!125E MISSING 'PPUNIT' OPERAND -- MUST BE SPECIFIED 01370000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01380000
AGO .PPEND . SKIP REST OF 'PPUNIT' PROCESS 01390000
.* 01400000
.LG500 ANOP 01410000
AIF (&PPUNIT NE '**').PPEND . SKIP IF VALID PARAMETER 01420000
.* 01430000
*!115E INVALID 'PPUNIT' PARAMETER -- MUST BE R1/F1/R2/F2 01440000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01450000
.* 01460000
.PPEND ANOP . END OPERAND 'PPUNIT' 01470000
.* 01480000
.*--------- SET STATEMENT SEQUENCE ---------------------------------* 01490000
.* 01500000
.END ANOP 01510000
&SEQ SETA 3 . INDICATE $EPLG PROCESSED 01520000
.* 01530000
MEND 01540000