PROGRAM MENU C CLP DECLARATIONS FOR COMMAND LINE PROCESSING COMMON/CLP/ 1 TYPNUL,TYPEOL,TYPEL,TYPINT,TYPFLT,TYPNAM,TYPSPC, 2 TLU,CLPEFN,CNTLZ,TRACE, 3 LINE,NXTCHR,TOKLEN,TOKTYP,INTVAL,FLTVAL,STRVAL,CHRVAL INTEGER*2 TYPNUL,TYPEOL,TYPEL,TYPINT,TYPFLT,TYPNAM,TYPSPC INTEGER*2 TLU,CLPEFN,NXTCHR,TOKLEN,TOKTYP,INTVAL LOGICAL*1 LINE(82),STRVAL(82),CHRVAL LOGICAL CNTLZ,TRACE REAL FLTVAL C LOCAL DECLARATIONS INTEGER*2 DATE(3),TIME(3) DATA DATE/3*0/,TIME/3*0/ C BEGIN 1000 CALL PROMPT('1=SET DATE,2=PRINT DATE,3=SET TIME,4=PRINT TIME') CALL TOKEN IF(CNTLZ)STOP IF(TOKTYP.EQ.TYPEL)GO TO 1000 IF(INTVAL.GE.1.AND.INTVAL.LE.4)GO TO 1010 CALL PLINE('ILLEGAL COMMAND. MUST BE >=1 AND <=4') GO TO 1000 1010 GO TO(1100,1200,1300,1400)INTVAL 1100 CALL PROMPT('DATE(MM/DD/YY)') CALL TOKEN IF(TOKTYP.EQ.TYPEL)GO TO 1000 1110 DO 1150 I=1,3 IF(TOKTYP.EQ.TYPINT)GO TO 1120 CALL SYNERR CALL PLINE('ILLEGAL PARAMETER') GO TO 1100 1120 DATE(I)=INTVAL CALL TOKEN IF(CHRVAL.EQ.'/')CALL TOKEN 1150 CONTINUE GO TO 1000 1200 WRITE(TLU,110)DATE 110 FORMAT(1H ,'DATE: ',I2,'/',I2,'/',I2) GO TO 1000 1300 CALL PROMPT('TIME(HH:MM:SS)') CALL TOKEN IF(TOKTYP.EQ.TYPEL)GO TO 1000 1310 DO 1350 I=1,3 IF(TOKTYP.EQ.TYPINT)GO TO 1320 CALL SYNERR CALL PLINE('ILLEGAL PARAMETER') GO TO 1300 1320 TIME(I)=INTVAL CALL TOKEN IF(CHRVAL.EQ.':')CALL TOKEN 1350 CONTINUE GO TO 1000 1400 WRITE(TLU,130)TIME 130 FORMAT(1H ,'TIME: ',I2,':',I2,':',I2) GO TO 1000 END