SUBROUTINE MAIN LOGICAL*1 LINE(402), STR(402) INTEGER EQUAL, GETLIN, GETWRD, OPEN INTEGER INFILE(4), LEN, LEVEL, LOC INTEGER GETARG, I LOGICAL*1 INCLD(8) LOGICAL*1 ST001Z(24) LOGICAL*1 ST002Z(27) DATA INCLD(1) /105/ DATA INCLD(2) /110/ DATA INCLD(3) /99/ DATA INCLD(4) /108/ DATA INCLD(5) /117/ DATA INCLD(6) /100/ DATA INCLD(7) /101/ DATA INCLD(8) /0/ DATA ST001Z(1)/117/,ST001Z(2)/115/,ST001Z(3)/97/,ST001Z(4)/103/,ST *001Z(5)/101/,ST001Z(6)/58/,ST001Z(7)/32/,ST001Z(8)/32/,ST001Z(9)/1 *05/,ST001Z(10)/110/,ST001Z(11)/99/,ST001Z(12)/108/,ST001Z(13)/32/, *ST001Z(14)/91/,ST001Z(15)/102/,ST001Z(16)/105/,ST001Z(17)/108/,ST0 *01Z(18)/101/,ST001Z(19)/93/,ST001Z(20)/32/,ST001Z(21)/46/,ST001Z(2 *2)/46/,ST001Z(23)/46/,ST001Z(24)/0/ DATA ST002Z(1)/105/,ST002Z(2)/110/,ST002Z(3)/99/,ST002Z(4)/108/,ST *002Z(5)/117/,ST002Z(6)/100/,ST002Z(7)/101/,ST002Z(8)/115/,ST002Z(9 *)/32/,ST002Z(10)/110/,ST002Z(11)/101/,ST002Z(12)/115/,ST002Z(13)/1 *16/,ST002Z(14)/101/,ST002Z(15)/100/,ST002Z(16)/32/,ST002Z(17)/116/ *,ST002Z(18)/111/,ST002Z(19)/111/,ST002Z(20)/32/,ST002Z(21)/100/,ST *002Z(22)/101/,ST002Z(23)/101/,ST002Z(24)/112/,ST002Z(25)/108/,ST00 *2Z(26)/121/,ST002Z(27)/0/ CALL QUERY(ST001Z) I=1 23000 CONTINUE IF (.NOT.(GETARG(I, LINE, 402) .EQ. -1))GOTO 23003 IF (.NOT.(I.NE. 1))GOTO 23005 GOTO 23002 23005 CONTINUE INFILE(1) = 1 GOTO 23004 23003 CONTINUE IF (.NOT.(LINE(1) .EQ. 45 .AND. LINE(2) .EQ. 0))GOTO 23007 INFILE(1) = 1 GOTO 23008 23007 CONTINUE INFILE(1) = OPEN(LINE,1) IF (.NOT.(INFILE(1) .EQ. -3))GOTO 23009 CALL CANT (LINE) 23009 CONTINUE 23008 CONTINUE 23004 CONTINUE LEVEL=1 23011 IF (.NOT.(LEVEL .GT. 0))GOTO 23013 23014 IF (.NOT.(GETLIN(LINE, INFILE(LEVEL)) .NE. -1))GOTO 23015 LOC = 1 LEN = GETWRD(LINE, LOC, STR) CALL FOLD(STR) IF (.NOT.(EQUAL(STR,INCLD) .EQ. 0))GOTO 23016 CALL PUTLIN (LINE, 2) GOTO 23017 23016 CONTINUE LEVEL = LEVEL + 1 IF (.NOT.(LEVEL .GT. 4))GOTO 23018 CALL ERROR (ST002Z) 23018 CONTINUE LEN = GETWRD(LINE, LOC,STR) INFILE(LEVEL) = OPEN(STR,1) IF (.NOT.(INFILE(LEVEL) .EQ. -3))GOTO 23020 CALL CANT (STR) 23020 CONTINUE 23017 CONTINUE GOTO 23014 23015 CONTINUE IF (.NOT.(INFILE(LEVEL) .NE. 1))GOTO 23022 CALL CLOSE (INFILE(LEVEL)) 23022 CONTINUE 23012 LEVEL = LEVEL - 1 GOTO 23011 23013 CONTINUE IF (.NOT.(INFILE(1) .NE. 1))GOTO 23024 CALL CLOSE (INFILE(1)) 23024 CONTINUE 23001 I=I+1 GOTO 23000 23002 CONTINUE RETURN END