$(1) LIT . PREQ . GET SUBPROGRAM ARGUMENTS 424900 . 425000 SUBARG* S,H2 B11,SA30 425100 S A6,SA11 SAVE A6 425200 SZ A11 SZ A6 A6=COUNT 425300 L B4,(1,PRESYM) . SPACE TO SAVE DUMMY ARGS L A1,(060000,0) . SEQUENCE NUMBER S A1,0,B4 TZ ENTF1 S,S2 R15,0,B4 . FLAG FOR ENTRY STATEMENT S,H2 B1,0,*B4 TNZ N1RGF2 . TEST FOR ALTERED CALLING SEQUENCE J $+3 TE,M A0,'(' . TEST FOR PRESENCE OF ARGUMENT LIST J SA306 SA301 A,M A6,1 425400 LMJ B11,GIT 425500 J SA302 EOS 425600 TNE,M A2,3 425700 J SA303 ITEM=VAR NAME 425800 TNE,M A2,1 J SA307 . $ ARGUMENT TNE,M A2,11 J SA307 . * ARGUMENT TNE,M A2,12 . SLASH PER OS/360 J SA301+1 SA A6,GITV ARGUMENT NUMBER LMJ B11,PERR ERROR 426100 FORM6 020,203,GITV J SA307 SA302 LMJ B11,PERR 426400 FORM6 01,4,0 426500 SA400 L A0,LSAB5 LSAB5 SET BY CALLER 426600 NOP 0,0 426700 TNZ CHARAG . TEST IF EXTRA ARGUMENT TO BE ADDED J SA400J A,M A6,1 . COUNT EXTRA ARGUMENT L,H2 A1,CHARAG . SYM REF OF EXTRA ARGUMENT S,H2 A1,0,B4 S,H1 A6,0,B4 . SET ARGUMENT NUMBER L,M A2,5 S,S1 A2,0,*B4 . SET ID INTO ENTRY L,M A0,4 . LENGTH OF CHARACTER PACKET LMJ B11,PRQEST . GET SOME SPACE FROM POOL SLJ SYMOF . CATASTROPHE NO SPACE SSL A0,18 S,H2 A0,3,A1 . SET POINTER TO CHARACTER TABLE L A2,(0660200,0) S A2,0,A0 . SET ID FOR CHARACTER PACKET L A2,(030100,0177777) . GET MAXIMUM POSSIBLE LENGTH S A2,1,A0 SZ 2,A0 SZ 3,A0 SZ CHARAG L A0,LSAB5 . RESTORE A0 SA400J A,H1 A6,STRING,A0 PUT COUNT IN F30 ITEM 426800 S,H1 A6,STRING,A0 (BEGIN ITEM) 426900 L A6,SA11 427000 TNZ A11 J SA30A L,M A0,0,B1 A A0,(0124400,0) INPUT LIST ITEM S A0,SLOUT,*B9 BEHIND D.P. ITEMS S,S3 A11,SLOUT-1,B9 A,M B1,1 L A0,(0330001,1) LAST 6 BITS AREA FLAG TO INHIBIT CALL BY NAME S A0,SLOUT,*B9 LMJ B11,PSDP SA30A SZ ENTF1 L A0,(-0107,-1) . LINK WORD FOR DUMMY ARGS S A0,MLINK L,M A0,PRESYM . TRANSFER LIST OF DUMMY ARGS AN,M B4,PRESYM LXI,M A0,0,B4 AN,M B4,1 TNZ,M 0,B4 . TEST FOR ANY ARGUMENTS J SA30AJ L A1,B4 . SIMULATE S,T1 B4,ROUTW S,S2 A1,ROUTW SSL A1,6 S,S1 A1,ROUTW LMJ B11,MTLT SLJ SYMOF L A1,CRLNAR LINK TO ARGUMENTS S,H2 A1,ROUTW SA30AJ L A0,ROUTW L A1,EPPTR S A0,1,A1 SET DESCRIPTOR INSIDE OF DESCRITOR BLOCK J *SA30 . 427200 SA303 LMJ B11,GLS J SA304 L,H1 A2,2,A1 . MODE WORD AND,M A2,7 TNE,M A3,6 J SA304 INTRINSIC DS TNE,M A3,5 J SA303C ARGUMENT TNZ ENTF J SA303B TNE,M A3,2 J SA304G EXTERNAL TNE,M A3,1 J SA304G INTERNAL TNE,M A3,7 TEST FO UNASSIGNED FROM PREVIOUS TYPE STATEMENT SZ,S2 2,A1 AND,M A2,070 VARIABLE, UNASSIGNED A,M A3,05 S,S3 A3,2,A1 L,H1 A2,2,A1 AND,M A2,02000 JNZ A3,$+2 J SA3048 LMJ B11,PERR FORM6 011,158,A4 J SA3048 SA304G AND A2,(0770070) OR,M A3,01005 S,H1 A4,2,A1 . C=DUM,T=UNASSIGNED J SA3048 SA303B LMJ B11,PERR FORM6 011,2,A4 J SA304 SA303C LR R4,A6 JGD R4,$+1 L B11,(1,PRESYM) L,M A1,0,A1 TNE,H2 A1,0,*B11 J SA303D . ARGUMENT ALREADY IN THIS LIST JGD R4,$-2 L,M A12,0,A1 LMJ B11,GENDP2 A,M A11,1 J SA304Z SA303D LMJ B11,PERR FORM6 010,139,A4 SA304 SZ,S2 2,A1 DS SZ,H2 2,A1 CLEAR ARGUMENT NUMFER FOR STATEMENT FUNCTIONS SZ 3,A1 L,M A2,5 428200 S,S3 A2,2,A1 428300 TNZ ENTF J SA304Z SA3048 RES 0 L,M A12,0,A1 LMJ B11,GENDP2 A,M A11,1 SA304Z L,M A2,5 S A1,0,B4 SA304A S,H1 A6,0,B4 S,S1 A2,0,*B4 TZ FEOS 428800 J SA302 EOS 428900 SA305 L A0,GXX 429000 L FNXT,R8 RESET NEXT TNE,M A0,',' X=COMMA 429010 J SA301 429100 TNE,M A0,'/' J SA401 TNE,M A0,')' 429200 J SA306 X=RT PAREN 429300 LMJ B11,ERR2 TREAT AS COMMA 429400 J SA301 429500 . 429600 SA306 TZ N1RGF2 TEST FOR REGISTER VARIATIONS REGIST J SA307Q REGIST LMJ B11,GX REGIST J SA400 EOS 429800 J SA302 429900 SA307 L,M A2,5 . FOR * OR $ ARGUMENT SZ 0,B4 . PLACE HOLDEQ J SA304A SA37SR LMJ B11,GIT EENT J SA400 NO SPECIAL NAMES FOR ARGUMENTS OR TEMP REGIST TE,M A2,3 REGIST J SA309 NO VARIABLE NAME WHERE ONE EXPECTED REGIST LMJ B11,GLS REGIST J $+2 REGIST LMJ B11,DIMT REGIST L,M A2,065 BOOLEAN TO ELIMINATE CONVERSIONS S,S3 A2,2,A1 REGIST L,M A2,1 REGIST S,S2 A2,2,A1 SET NUMBER OF DIMENSIONS TO ONE REGIST SZ,H2 2,A1 REGIST SZ,H2 3,A1 REGIST SZ,H1 3,A1 REGIST L A5,(010000,1) . PUT DUMMY DIMENSION S A5,PRESYM+100 L A0,(-1,PRESYM) . FOR SYM TABLE LMJ B11,MTCT SLJ SYMOF . LINK TO VARIABLES SSL A0,18 S,H2 A0,3,A1 J *SA307S REGIST SA307Q SLJ SA307S GET TEMP REGIST L,M A1,0,A1 REGIST S,H2 A1,N5RGFB SAVE VARIABLE REPRESENTING CALL REGIST L A0,GXX REGIST TE,M A0,',' REGIST J SA307B TEST END OF STATEMENT REGIST L FNXT,R8 REGIST SLJ SA307S REGIST L,M A1,0,A1 REGIST S,H2 A1,N5RGFC SAVE VARIABLE REPRESENTING TEMP REGIST SA307B LMJ B11,GX REGIST J SA400 REGIST SA309 LMJ B11,PERR REGIST FORM6 1,267,0 REGIST J SA400 NO IDENTIFER WHERE EXPECTED REGIST . 430000 . SUBARG CONSTANTS 430200 . 430300 SA401 LMJ B11,GX J SA302 . EOS J SA305+1 $(2) . REENT SA11 +0 REENT SA30 J $-$ REENT SA307S J $-$ REENT J SA37SR REENT END