SUBROUTINE PLIST IMPLICIT INTEGER(A-Z) BYTE STRING,PERIOD,COMMA BYTE ARROW COMMON/STRING/STRING(132),POINT,EPOINT COMMON/NUMBER/NUM(4) DATA PERIOD,COMMA/'.',','/ DATA ARROW/'^'/ C C SEE HOW MANY LIST ELEMENTS, SENTENCES C CALL RANDOM(1,3,SENT) CALL RANDOM(2,5,LIST) C C PRINT OUT SENTENCES C DO 10 J=1,SENT CALL GETNUM IF(J.EQ.1)GOTO 20 CALL GETREC(3,NUM(3)) EPOINT=EPOINT+1 STRING(EPOINT)=COMMA CALL OUTPUT 20 CALL GETREC(1,NUM(1)) WHCHAR=1 IF(STRING(1).EQ.ARROW)WHCHAR=3 IF(J.EQ.1)STRING(WHCHAR)=STRING(WHCHAR).AND."337 IF(J.EQ.1)WRITE(4,100) 100 FORMAT('.BLANK') CALL OUTPUT CALL GETREC(2,NUM(2)) CALL OUTPUT CALL GETREC(1,NUM(4)) EPOINT=EPOINT+1 STRING(EPOINT)=PERIOD CALL OUTPUT 10 CONTINUE C C NOW LIST THE ELEMENTS C WRITE(4,150) 150 FORMAT('.LIST') DO 30 J=1,LIST CALL GETNUM WRITE(4,200) 200 FORMAT('.LE') CALL GETREC(1,NUM(1)) WHCHAR=1 IF(STRING(1).EQ.ARROW)WHCHAR=3 STRING(WHCHAR)=STRING(WHCHAR).AND."337 CALL OUTPUT CALL GETREC(2,NUM(2)) CALL OUTPUT CALL GETREC(1,NUM(4)) EPOINT=EPOINT+1 STRING(EPOINT)=PERIOD CALL OUTPUT 30 CONTINUE WRITE(4,300) 300 FORMAT('.END LIST') RETURN END