SPL,L,M,O,T,C NAME LDUM2(8) "REV G 770325" ! ! RELOCATE/SEARCH STATEMENT SEMANTIC ROUTINES ! ! FOR EACH FILE, POLISH OUTPUT IS: ! ! AVALU: ! ! ********************************************************************* ! * * * * * * ! *S.T.PTR TO* * +1) * LIST * * ! * * * * PTR) * * ! ********************************************************************* ! ! LET ASTAK,AVALU BE INTEGER,EXTERNAL LET ISTR BE FUNCTION,EXTERNAL LET ATRB,STYP,STAK,IWP BE PSEUDO,EXTERNAL LET ASTAV,ASPOP,WDTAV,STPRG,ASTAV BE SUBROUTINE,EXTERNAL ! DEFINE GLOBAL CONSTANTS LET LOCC,BPLOC,FWAM,LWAM,FWABP,LWABP,FWAC,LWAC,NXTPG, XFER,\ LCOMM,LINKF,UNDF1,UNDFS,UNDX1,UNDFX,EXTX1,EXTX,LISTO,ABRTF,\ FILEX,BPLKS,NBPLK,GUESS,NGESS,LWAM1,NLINK,MAXA,MINA,\ MAXAB,MINAB,XBPLK,XGESS,XSEC BE INTEGER ,EXTERNAL ! PNAME: SUBROUTINE GLOBAL ! TYPE A GIVEN NAME AS "PROGRAM NAME" ASTAV !MOVE PROGRAM NAME TO AVALU RETURN END ! PRLST: SUBROUTINE GLOBAL ! PASSES A STRING OF PROGRAM NAMES TO PRFLS P1_ISTR(P0) !INITIALIZE STRING ASPOP?[GOTO PRL1] ! FORM STRING OF PROGRAM NAMES. POP COMMAS FROM ASTAK. ALWAYS DO[IWP(P1)_STAK(ASTAK)?[GOTO PRL1]; ASPOP?[GOTO PRL1]]! PRL1: WDTAV(P0) !PASS STRING(POSSIBLY EMPTY) TO PRFLS RETURN END ! PRFLS: SUBROUTINE GLOBAL P1_ISTR(P0)! INITIALIZE FILES STRING PRFL1: P3_ISTR(P4) !INITIALIZE PROGRAM STRING IWP(P3)_STAK(ASTAK) !PUT FILE NAME INTO STRING IWP(P3)_STAK(ASTAK)?(0) PRFL2: IWP(P1)_P4 ASPOP?[GOTO PRFL3] !POP COMMA, OR F-RETURN IF NONE LEFT GOTO PRFL1 ! ! PUT FILE/PROGRAM STRING POINTER INTO AVALU ! PRFL3: WDTAV(P0) RETURN END FNAME: SUBROUTINE GLOBAL ASTAV !MOVE FILE NAME TO AVALU RETURN END ! ID1: SUBROUTINE GLOBAL ASTAV RETURN END ! ! PSEUDO-TERMINAL ROUTINES FOR GRAMMAR ! SMPCN: SUBROUTINE(SMPC1) GLOBAL,FEXIT LET STYP BE PSEUDO,EXTERNAL IF(STYP(SMPC1) AND 1) THEN RETURN!ACCEPT SIMPLE CONSTANTS FRETURN END ! NAEM: SUBROUTINE (NAEM1) GLOBAL,FEXIT ! SYMBOL CAN BE USED AS A NAME IF IT ISN'T A SPECIAL CHARACTER ! OPERATOR. IF(STYP(NAEM1)AND 1) THEN GOTO NFAIL!REJECT CONSTANTS IF (NAEM1 AND 77777K)>34K THEN RETURN !ALLOW RSERVED WORDSDS. NFAIL:FRETURN END END END$