$(1) PREQ . SCAN ALL TYPES OF FUNCTION STATEMENTS 430700 . 430800 SUBCH* . ENTRY FOR CHARACTER FUNCTION S,H2 B11,SF30 L,M A0,6 . TYPE FOR FUNCTION J SUBC . JOIN MAIN FLOW SUBF* S,H2 B11,SF30 430900 L,S3 A0,TST2,A0 . ST TYPE IS IN A0 FROM 'STD' SUBC S A0,SF701 . SZ CHARAG .FLAG TO SCALAR OF FNC TO ARG LIST SZ N1REGF SET WHEN VARYING TYPES OF SUBROUTINES CALLSREGIST SZ ENTF L A3,(3,0) . 3 MEANS FUNCTION S A3,ROUTW . A TEMP LMJ B11,PFSP 431300 J SF300 ERROR 431400 S B5,LSAB5 SAVE B5 FOR SUBARG TNZ FFS IS THIS 1ST STAT 431500 J SF401 THIS IS NOT FIRST STATEMENT 431600 SZ FFS RESET FFS 431700 LMJ B11,GLS THIS IS MAIN PROGRAM 431800 J SF601 NOT IN 431900 L,H1 A2,2,A1 432000 AND,M A2,01007 432100 TE,M A3,6 432200 SLJ BUG 432300 SZ 3,A1 SZ,H2 2,A1 CLEAR MAGIC ROUTINE NUMBER SZ,S2 2,A1 0 IN DIODE 432400 SZ,S3 2,A1 432500 SF601 L,H1 A2,2,A1 432600 OR,M A2,01000 432700 L,M A5,6 . TYPE FOR CHARACTER TNE A5,SF701 . TEST IFFUNCTION IS CHARACTER A,M A3,5 . CONVERT TO DUMMY ARGUMENT S,H1 A3,2,A1 F=1,C=0 432800 L,M A3,1 433000 S,H2 A3,CRPRO (0,1) IN CRPRO 433100 OR A1,SF12 433200 S A2,STRING,*B5 F30 ITEM (BEGIN) 433300 TNE A5,SF701 S A1,CHARAG . SYM POINTER TO ADD TO ARG LIST J SF700 433400 . 433500 SF401 L A4,GITV THIS IS NOT MAIN PROGRAM 433600 S A4,CRIFZ LMJ B11,SLT SEARCH SYM 433700 + CRGHL 433800 J SF405 NOT IN 433900 L,H1 A2,2,A1 CLASS IN A3 434000 L,M A1,0,A1 CLEAR A1(H1) 434010 AND,M A2,7 MADE IN A2 434100 NOP 0,0 434200 J *SF21,A3 BRANCH ON CLASS 434300 . 434400 SF405 LMJ B11,SLTI INSERT IN SYM 434500 L,H1 A2,2,A1 GET MODE 434600 LMJ B11,SFFIN INSERT NAME, SYM IN INTPRO 434650 J SF406 434700 . 434800 SF403 AND,M A2,01400 JZ A3,SF406 IS F=0, D3=0 L,S3 A3,2,A1 . TEST FOR CHARACTER SSL A3,3 TNE,M A3,6 J SF406 . IT WAS A CHARACTER FUNCTION L,S4 A3,2,A1 . CHECK FOR EXTERNAL TEP,M A3,020 J SF406 SF402 LMJ B11,PERR NO-ALSO C=OTHER 435200 FORM6 012,2,GITV SF402A AND A2,(0770070) L A2,A3 435500 J SF406 435600 SF407 AND,M A2,0700 . DIMENSIONED JNZ A3,SF402 . NO J SF402A . FUNCTION . 435700 SF407A L,S4 A3,2,A1 REGIST TE,M A3,077 TEST IF INTRINSIC FUNCTION IS MAGIC REGIST J SF402 REGIST SZ,H2 2,A1 REGIST J SF406 REGIST SF404 AND,M A2,01000 REGIST JNZ A3,SF402 435900 SF406 OR A2,FNA FNA=ABNORMAL FLAG-SET D1 OR FNA 436000 AND A3,(0777770) 436100 OR,M A4,01201 C=1,D2=1,F=1 436200 S,H1 A5,2,A1 436300 AND,M A2,070 SAVE TYPE AND SYM 436400 S A3,SF11 436500 L,S4 A2,2,A1 AND,M A2,057 REMOVE EXTERNAL BIT S,S4 A2,2,A1 OR A1,SF13 436600 S A2,STRING,*B5 F30 ITEM(GEGIN,T=3,SYM(G) 436700 LMJ B11,GLS 436800 J SF451 NOT IN 436900 L,H1 A2,2,A1 437000 AND,M A2,01007 C=6,F=0 437100 TE,M A3,6 437200 SLJ BUG NO 437300 SZ,S2 2,A1 437400 SZ,S3 2,A1 437500 SF451 L,H1 A2,2,A1 437600 OR,M A2,01000 437700 OR A3,SF11 TYPE OF EXTEND SYM 437800 L,M A5,6 . TYPE FOR CHARACTER TNE A5,SF701 . TEST IFFUNCTION IS CHARACTER A,M A4,5 . CONVERT TO DUMMY ARGUMENT S,H1 A4,2,A1 437900 OR A1,SF14 438000 S A2,STRING,*B5 F30 ITEM(BEGIN,T=5,SYM(L)) 438100 TNE A5,SF701 S A1,CHARAG . SYM POINTER TO ADD TO ARG LIST . 438200 SF700 RES 0 L,H2 A0,EPPTR S,H1 A1,0,A0 . SYM REF OF FUNCTION S,H1 B1,6,A0 . INTERNAL SEQ NUMBER TE,H1 A0,EPPTR LMJ B11,PSTL PROCESS STATEMENT LABEL 438500 L A0,PLABL LABEL PRES. STMT. 438600 TNE A0,(' ') 438700 J SF702 438800 LMJ B11,PERR LABEL ON ST 438900 FORM6 0,89,0 439000 SF702 TNZ,H2 SF701 DOES =0 439100 J SF703 YES 439200 LMJ B11,SETT NO-ALSO TYPE ST 439300 +SF701 INDIRECTLY REFERENCE ARGUMENT REENT SF703 L A0,GXX PUT X IN A0 439500 L FNXT,R8 RESET NEXT TNE,M A0,'/' REGIST SLJ N1RGSB REGIST TE,M A0,'(' 439700 LMJ B11,ERR2 439800 LMJ B11,SUBARG 439900 SF300 RES 0 440000 J *SF30 REENT . 441100 SF21 J SF407 . C=0 J SF402 1 J SF403 2 J SF402 3 441500 J SF402 4 441600 J SF404 J SF407A C=6 REGIST J SF402 7 441900 SFFIN* S,H2 B11,SFXT L A0,(-0111,-1) S A0,MLINK S A1,GITV+1 L A0,(2,GITV) LMJ B11,MTLT SLJ SYMOF J *SFXT . 442000 . 440200 . SUBF CONSTANTS 440400 $(2) . REENT SFXT +0 SF30 J $-$ REENT SF701* J $-$ REENT CHARAG* +0 . IF NON ZERO SYM ADDRESS TO CONVERT TO LAST ARG . 440500 SF11 +0 TYPE OF GLOBAL FUNCTION SF12 FORM2 ID13,010,0,0 ID=BEGIN,T=1,,SYM(G) 440700 SF13 FORM2 ID13,030,0,0 ID=BEGIN,T=3,,SYM(G) 440800 SF14 FORM2 ID13,050,0,0 ID=BEGIN,G=5,,SYM(V) 440900 END