1000  COM R1,R2,R3,R4,R$[72],N,C[30,4],A$[72],F1,F2,F[125]
1010  REM *** COFTAB - PROGRAM COFTA5 - 06/06/73
1012  REM *** COMPUTES THE CROSSTABULATIONS.
1013  REM *** TRANSFERS CONTROL TO COFTA6.
2000  FILES VARBLE,WORK1,WORK2
3000  FILES F1,F2,F3,F4,F5,F6,F7,F8,F9,F10
5000  DIM S$[72],T$[72],B$[72]
5010  MAT F=ZER
5020  PRINT #2,1; END 
5030  F=3
5040  IF  END #2 THEN 5280
5050  F=F+1
5060  READ #F,1
5070  IF  END #F THEN 5050
5080  READ #F;A$
5090  READ #3,1
5100  IF A$[1,3]="EOT" THEN 5330
5110  S$=""
5120  FOR I=1 TO N
5130  S9=LEN(S$)+1
5140  T$=A$[C[I,1],C[I,2]]
5150  S1=1
5160  IF C[I,4] >= 0 THEN 5190
5170  GOSUB 5610
5180  IF S1=0 THEN 5080
5190  S$[S9]=T$
5200  NEXT I
5210  T1=0
5220  READ #2,1
5230  READ #2;T$
5240  T1=T1+1
5250  IF S$#T$ THEN 5230
5260  F[T1]=F[T1]+1
5270  GOTO 5080
5280  T1=T1+1
5290  A1=T1
5300  F[A1]=F[A1]+1
5310  PRINT #2;S$, END 
5320  GOTO 5080
5330  A2=A1-1
5340  F1=2
5350  F2=3
5360  FOR I=A2 TO 1 STEP -1
5370  READ #F1,1;A$
5380  PRINT #F2,1
5390  FOR J=1 TO I
5400  READ #F1;B$
5410  IF A$<B$ THEN 5480
5420  T$=A$
5430  A$=B$
5440  B$=T$
5450  T1=F[J+1]
5460  F[J+1]=F[J]
5470  F[J]=T1
5480  PRINT #F2;A$
5490  A$=B$
5500  NEXT J
5510  PRINT #F2;A$, END 
5520  IF  END #F1 THEN 5560
5530  READ #F1;A$
5540  PRINT #F2;A$, END 
5550  GOTO 5530
5560  T1=F1
5570  F1=F2
5580  F2=T1
5590  NEXT I
5600  A$="ZYX"'7
5605  CHAIN "COFTA6"
5610  REM *** ROUTINE FOR DETERMINING CONSTRAINTS
5620  T3=C[I,2]-C[I,1]+1
5630  READ #3;C1
5640  FOR K=1 TO C1
5650  READ #3;B$
5660  IF B$[1,T3]>T$ THEN 5690
5670  IF B$[T3+1]<T$ THEN 5690
5680  GOTO 5720
5690  NEXT K
5700  S1=0
5710  RETURN 
5720  S1=1
5730  FOR K=K+1 TO C1
5740  READ #3;B$
5750  NEXT K
5760  RETURN 
5770  END 
