10  COM V0,V1,V2,V3,V4,V5,V6,V7
20  COM H$[62],H[62],S$[70],T$[70],V$[70]
21  COM S[240,4]
25  COM F$[6],V9
30  COM C[200],C0,P0,P9
40  COM Q[20],G[20,4],D$[12]
45  COM E0,E9
100  REM - SNOBOL INTERPRETER
105  REM  HP CONTRIBUTED LIBRARY, 2/75, 4 PROGRAMS:  SNOBOL, SNOBEX,
106  REM  SNOBLD, SNOBER.
110  REM - EXECUTES THE CODE PRODUCED BY THE SNOBOL COMPILER
120  REM - WES FASNACHT   12/5/72
130  REM
200  FILES STRING,STRING,STRING
201  FILES *
202  ASSIGN F$,V9,N
203  READ #V9;T$
204  IF T$[1,4]="END " THEN 210
205  GOTO 203
210  D$="0123456789-+"
220  GOTO 310
300  REM-EXEC
302  REM-EB
305  GOSUB 7850
310  C2=C[P0]
320  G2=P4=1
330  H9=H0=P2=G1=G3=G4=G6=0
340  REM-EA
350  GOSUB 7850
352  IF G6=0 THEN 360
354  IF P9 >= 20052 THEN 3020
356  GOTO 350
360  IF P9 >= 20000 THEN 500
370  REM-NAME/LITERAL
380  P1=P9
390  GOSUB 7900
400  IF P9=1 THEN 440
410  IF P9#2 THEN 340
420  G4=1
430  GOTO 340
440  IF TYP(V9)#3 THEN 448
442  G6=1
444  G2=0
446  GOTO 340
448  READ #V9;T$
450  R1=1
460  R2=LEN(T$)
470  GOSUB 5000
480  S[1,4]=S6
490  GOTO 340
500  IF P9>20007 THEN 550
510  REM-VARIABLE
520  IF P4=2 THEN 370
530  E0=4
540  GOTO 9000
550  IF P9#20010 THEN 640
560  REM-INDIRECT REFERENCE
570  GOSUB 7950
580  IF P1 <= 20000 THEN 610
590  E0=5
600  GOTO 9000
610  GOSUB 8100
620  GOSUB 7900
630  GOTO 340
640  IF P9#20014 THEN 840
650  REM-CONCATENATE ROUTINE
660  GOSUB 7950
670  GOSUB 8100
680  IF P1=0 THEN 340
690  R3=S[P1,1]
700  R4=S[P1,2]
710  A1=P1
720  GOSUB 7950
730  GOSUB 8100
740  IF P1#0 THEN 780
750  P1=-A1
760  GOSUB 7900
770  GOTO 340
780  R1=S[P1,1]
790  R2=S[P1,2]
800  GOSUB 5100
810  P1=-S6
820  GOSUB 7900
830  GOTO 340
840  IF P9 >= 20015 AND P9 <= 20019 THEN 860
850  GOTO 1140
860  REM-ARITHMETIC ROUTINES
870  GOSUB 7950
880  GOSUB 8100
890  F0=P1
900  GOSUB 8200
910  IF D0=1 THEN 940
920  E0=7
930  GOTO 9000
940  A1=D9
950  GOSUB 7950
960  GOSUB 8100
970  F0=P1
980  GOSUB 8200
990  IF D0=0 THEN 920
1000  GOTO P9-20015 OF 1030,1050,1070,1090
1010  D9=D9+A1
1020  GOTO 1100
1030  D9=D9-A1
1040  GOTO 1100
1050  D9=D9*A1
1060  GOTO 1100
1070  IF A1=0 THEN 1100
1075  D9=INT(D9/A1)
1080  GOTO 1100
1090  D9=D9^A1
1100  GOSUB 8150
1110  P1=-S6
1120  GOSUB 7900
1130  GOTO 340
1140  IF P9#20020 THEN 1270
1150  GOSUB 7950
1160  IF P1=16 THEN 1200
1170  PRINT "FUNCTION NOT DEFINED"
1180  GOSUB 7950
1190  GOTO 340
1200  REM-SIZE FUNCTION
1210  GOSUB 7950
1220  D9=S[P1,2]
1230  GOSUB 8150
1240  P1=-S6
1250  GOSUB 7900
1260  GOTO 340
1270  IF P9#20050 THEN 1350
1280  REM-SET UP PATTERN MATCH
1290  P4=2
1300  GOSUB 7950
1310  G1=P1
1320  IF P2=0 THEN 340
1330  E0=8
1340  GOTO 9000
1350  IF P9#20051 THEN 2760
1360  REM-SET UP REPLACEMENT OPERATION
1370  IF P4#1 THEN 1400
1380  P4=3
1382  GOSUB 7950
1384  G1=P1
1390  GOTO 340
1400  IF P4=2 THEN 1430
1410  E0=9
1420  GOTO 9000
1430  P4=23
1440  REM-PATTERN MATCHING (PATT)
1450  H7=0
1455  MAT G=ZER
1460  IF P2=0 THEN 1730
1470  H7=H7+1
1480  GOSUB 7950
1490  G[H7,3]=0
1500  IF P1 >= 20000 THEN 1540
1510  G[H7,1]=P1
1520  G[H7,2]=G[H7,4]=0
1530  GOTO 1460
1540  G[H7,2]=P1
1550  IF P1=20005 OR P1=20007 THEN 1570
1560  GOTO 1590
1570  G[H7,1]=G[H7,4]=0
1580  GOTO 1460
1590  IF P1=20001 OR P1=20003 THEN 1690
1600  GOSUB 7950
1610  GOSUB 8100
1620  F0=P1
1630  GOSUB 8200
1640  IF D0=1 THEN 1650
1642  G2=0
1644  G6=1
1646  P2=0
1648  GOTO 340
1650  G[H7,4]=D9
1660  IF G[H7,2]#20006 THEN 1700
1670  G[H7,1]=0
1680  GOTO 1460
1690  G[H7,4]=0
1700  GOSUB 7950
1710  G[H7,1]=P1
1720  GOTO 1460
1730  REM PATT2
1735  Z3=Z=0
1740  P1=G1
1750  H6=H7
1760  GOSUB 8100
1761  IF P1#0 THEN 1775
1762  FOR H6=H7 TO 1 STEP -1
1763  IF G[H6,2]=0 THEN 1766
1764  S[G[H6,1],4]=0
1765  GOTO 1769
1766  P1=G[H6,1]
1767  GOSUB 8100
1768  IF P1#0 THEN 2662
1769  NEXT H6
1770  GOTO 2535
1775  H0=0
1780  H9=H1=H3=S[P1,1]
1790  H2=H1+S[P1,2]-1
1800  GOTO 1840
1810  REM-PA
1820  H6=H6-1
1830  REM-PB
1840  IF H6=0 THEN 2535
1850  G5=G[H6,2]
1860  IF G5#0 THEN 2050
1865  REM-NON-VARIABLE
1870  P1=G[H6,1]
1880  GOSUB 8100
1890  Z3=S[P1,1]
1900  Z=S[P1,2]
1910  G[H6,4]=Z
1920  IF H3+Z-1>H2 THEN 2640
1925  R8=Z3
1930  R9=H3
1935  T=Z
1937  T0=0
1940  GOSUB 6300
1950  IF U0=0 THEN 2000
1960  IF H6#H7 THEN 2640
1970  H3=H3+1
1980  H9=H3
1990  GOTO 1920
2000  H3=H3+Z
2010  H0=H0+Z
2020  IF H6#H7 THEN 1810
2030  H9=R9
2040  GOTO 1810
2050  REM-PATT 3
2060  IF G5#20001 THEN 2255
2070  REM-ORDINARY VARIABLE
2080  IF H6=1 THEN 2210
2090  IF G[H6,3]#0 THEN 2100
2092  G[H6,3]=1
2094  S[G[H6,1],4]=0
2096  GOTO 1810
2100  Z3=H3
2110  Z=G[H6,4]=G[H6,4]+1
2120  H3=H3+Z
2130  H0=H0+Z
2140  IF H3-1>H2 THEN 2180
2150  GOSUB 8550
2160  S[G[H6,1],4]=S6
2170  GOTO 1810
2180  G[H6,3]=G[H6,4]=0
2190  H3=H3-Z
2200  H0=H0-Z
2205  GOTO 2640
2210  Z=H2-H3+1
2215  IF Z=0 THEN 2245
2220  Z3=H3
2225  GOSUB 8550
2230  S[G[H6,1],4]=S6
2235  H0=H0+Z
2240  GOTO 2535
2245  S[G[H6,1],4]=0
2250  GOTO 2535
2255  IF G5#20002 THEN 2380
2260  REM-FIXED LENGTH VARIABLE
2262  REM-UNSUCCESSFUL PATTERN MATCH (PD)
2270  Z=G[H6,4]
2280  Z3=H3
2290  H3=H3+Z
2300  H0=H0+Z
2310  IF H3-1>H2 THEN 2350
2320  GOSUB 8550
2330  S[G[H6,1],4]=S6
2340  GOTO 1810
2350  H3=H3-Z
2360  H0=H0-Z
2370  GOTO 2640
2380  IF G5#20005 THEN 2550
2390  IF H6=1 THEN 2510
2400  IF G[H6,3]#0 THEN 2430
2410  G[H6,3]=1
2420  GOTO 1810
2430  Z=G[H6,4]=G[H6,4]+1
2440  H3=H3+Z
2450  H0=H0+Z
2460  IF H3-1 <= H2 THEN 1810
2470  G[H6,3]=G[H6,4]=0
2480  H3=H3-Z
2490  H0=H0-Z
2500  GOTO 2640
2510  Z=H2-H3+1
2520  IF Z=0 THEN 2535
2530  H0=H0+Z
2535  REM-SUCCESSFUL PATTERN MATCH (PC)
2540  IF P9=20051 THEN 340
2545  GOTO 3020
2550  IF G5=20006 THEN 2580
2560  E0=10
2570  GOTO 9000
2580  Z=G[H6,4]
2590  H3=H3+Z
2600  H0=H0+Z
2610  IF H3-1 <= H2 THEN 1810
2620  H3=H3-Z
2630  H0=H0-Z
2640  REM-BACKUP
2650  H6=H6+1
2655  G5=G[H6,2]
2660  IF H6 <= H7 THEN 2670
2662  REM-UNSUCCESSFUL PATTERN MATCH
2664  G2=0
2666  G6=1
2668  GOTO 2535
2670  Z=G[H6,4]
2680  H3=H3-Z
2690  H0=H0-Z
2700  IF G5=0 OR G5=20002 OR G5=20004 OR G5=20006 THEN 2720
2710  GOTO 1830
2720  IF H6#H7 THEN 2640
2730  H3=H3+1
2740  H9=H3
2750  GOTO 1830
2760  IF P9 >= 20052 THEN 2790
2770  E0=11
2780  GOTO 9000
2790  IF G3#1 THEN 2870
2800  GOSUB 7950
2810  IF P2=0 THEN 2850
2820  E0=12
2830  GOTO 9000
2850  P0=-S[P1,4]
2860  GOTO 310
2870  IF P4=1 THEN 3020
2880  IF P4#2 THEN 2910
2890  P4=4
2900  GOTO 1440
2910  IF P4=23 THEN 3260
2920  IF P4#3 THEN 3020
2930  IF G1>0 THEN 2960
2940  E0=13
2950  GOTO 9000
2960  GOSUB 7950
2970  IF P2=0 THEN 3000
2980  E0=14
2990  GOTO 9000
3000  GOSUB 8100
3010  S[G1,4]=P1
3020  REM-EXEC 4-1
3030  IF G4#1 THEN 3100
3035  S$=""
3040  R8=S[S[2,4],1]
3050  R9=1
3060  T=S[S[2,4],2]
3070  S0=1
3080  T0=0
3085  GOSUB 6200
3090  PRINT S$
3100  G6=0
3102  P2=0
3105  REM-GOTO
3110  IF P9=20052 THEN 3140
3120  IF P9#20053 THEN 3190
3130  IF G2#0 THEN 3160
3140  G3=1
3150  GOTO 340
3160  GOSUB 7850
3170  IF P9 >= 20052 THEN 3105
3180  GOTO 3160
3190  IF P9#20054 THEN 3220
3200  IF G2=1 THEN 3140
3210  GOTO 3160
3220  IF P9=20055 THEN 302
3230  IF P9#20099 THEN 3240
3232  PRINT LIN(2)"EXECUTION COMPLETE"
3234  GOTO 9500
3240  E0=11
3250  GOTO 9000
3260  REM-REPLACEMENT
3270  GOSUB 7950
3280  IF P2=0 THEN 3310
3290  E0=12
3300  GOTO 9000
3310  GOSUB 8100
3320  R1=H1
3330  R2=H9-H1
3340  IF P1=0 THEN 3380
3350  R3=S[P1,1]
3360  R4=S[P1,2]
3370  GOTO 3390
3380  R3=R4=0
3390  R5=H3
3400  R6=H2-R5+1
3410  GOSUB 5300
3420  S[G1,4]=S6
3430  GOTO 3020
5000  REM-STORE ROUTINE
5010  IF R2#0 THEN 5040
5020  S6=0
5030  RETURN 
5040  V$=T$[R1,R1]
5050  T0=1
5060  REM-S/C/R-A
5065  R0=0
5070  R7=R2
5080  GOTO 5430
5100  REM-CONCAT ROUTINE
5110  REM-S/C/R-B
5115  R0=1
5120  S0=T0=0
5130  R7=R2+R4
5140  IF R2=0 THEN 5180
5150  F6=R1
5160  GOSUB 7700
5170  GOTO 5430
5180  IF R4=0 THEN 5240
5190  F6=R3
5200  GOSUB 7700
5210  R1=R3
5220  R2=R4
5230  GOTO 5060
5240  S6=0
5250  RETURN 
5300  REM-REPLACE ROUTINE
5310  R0=2
5320  S0=T0=0
5330  R7=R2+R4+R6
5340  IF R2=0 THEN 5380
5350  F6=R1
5360  GOSUB 7700
5370  GOTO 5430
5380  R1=R3
5390  R2=R4
5400  R3=R5
5410  R4=R6
5420  GOTO 5110
5430  REM-S/C/R-1
5440  I=1
5450  J=62
5460  S0=0
5470  S5=INT((I+J)/2)
5480  IF V$=H$[S5,S5] THEN 5560
5490  IF V$<H$[S5,S5] THEN 5520
5500  I=S5+1
5510  GOTO 5530
5520  J=S5-1
5530  IF J >= I THEN 5470
5540  PRINT "INVALID CHARACTER"
5550  STOP 
5560  S6=H[S5]
5570  IF S6#0 THEN 5610
5580  V0=V0+1
5590  H[S5]=V0
5600  GOTO 5920
5610  REM-S/C/R-2
5620  IF S[S6,2]=R7 THEN 5690
5630  S5=S6
5640  S6=S[S5,3]
5650  IF S6#0 THEN 5620
5660  V0=V0+1
5670  S[S5,3]=V0
5680  GOTO 5920
5690  R8=R1
5700  R9=S[S6,1]
5710  T=R2
5720  GOSUB 6300
5730  IF U0#0 THEN 5630
5740  IF R0#0 THEN 5760
5750  RETURN 
5760  R9=R9+R2
5765  IF R4=0 THEN 5820
5770  R8=R3
5790  T=R4
5800  GOSUB 6300
5810  IF U0#0 THEN 5630
5820  IF R0#1 THEN 5840
5830  RETURN 
5840  IF R6=0 THEN 5830
5860  R8=R5
5870  R9=R9+R4
5880  T=R6
5890  GOSUB 6300
5900  IF U0#0 THEN 5630
5910  RETURN 
5920  REM-S/C/R-3
5930  S6=V0
5940  R9=V7
5950  S[V0,1]=V7
5960  S[V0,2]=R7
5970  S[V0,3]=S[V0,4]=0
5980  R8=R1
5990  T=R2
6000  GOSUB 6200
6010  IF R0#0 THEN 6030
6020  RETURN 
6030  IF R4=0 THEN 6080
6040  R9=V7
6050  R8=R3
6060  T=R4
6070  GOSUB 6200
6080  IF R0#1 THEN 6100
6090  RETURN 
6100  IF R6=0 THEN 6090
6120  R9=V7
6130  R8=R5
6140  T=R6
6150  GOSUB 6200
6160  RETURN 
6200  REM-MOVE ROUTINE
6210  U1=0
6220  GOTO 6330
6300  REM-MATCH ROUTINE
6310  U1=1
6320  S0=0
6330  IF S0#0 THEN 6400
6340  F6=R9
6350  GOSUB 7500
6360  S1=F1
6370  S2=F2
6380  S3=F3
6390  GOTO 6410
6400  S3=R9
6410  IF T0#0 THEN 6480
6420  F6=R8
6430  GOSUB 7500
6440  T1=F1
6450  T2=F2
6460  T3=F3
6470  GOTO 6490
6480  T3=R8
6490  REM-M/M-1
6500  IF S0=1 THEN 6660
6510  READ #V4,S1
6520  IF U1=1 THEN 6540
6530  READ #V6,S1
6540  S5=0
6550  S8=S1
6560  FOR I=1 TO S2
6570  IF U1=1 THEN 6620
6580  IF S5=0 THEN 6610
6590  PRINT #V6;S$
6600  GOTO 6620
6610  S5=1
6620  READ #V4;S$
6630  NEXT I
6640  S9=S2
6650  GOTO 6690
6660  IF S3+T-1 <= V1 THEN 6690
6670  E0=1
6680  GOTO 9000
6690  IF T0=1 THEN 6770
6692  IF T1=1 THEN 6698
6694  READ #V5,1
6696  GOTO 6700
6698  READ #V5,2
6700  READ #V5,T1
6710  T8=T1
6720  T9=T2
6730  FOR I=1 TO T2
6740  READ #V5;T$
6750  NEXT I
6760  GOTO 6780
6770  IF T3+T-1>V1 THEN 6670
6780  REM-M/M-2
6790  U0=0
6800  T4=T
6810  S7=S3
6820  T7=T3
6830  REM-M/M-4
6840  S4=(V1-S7+1) MIN (V1-T7+1)
6850  IF T4 <= S4 THEN 7220
6860  REM-M/M-3
6870  S5=S7+S4-1
6880  T5=T7+S4-1
6890  IF U1=1 THEN 6920
6900  S$[S7,S5]=T$[T7,T5]
6910  GOTO 6980
6920  IF S$[S7,S5]=T$[T7,T5] THEN 6980
6930  IF S$[S7,S5]<T$[T7,T5] THEN 6960
6940  U0=-1
6950  RETURN 
6960  U0=1
6970  RETURN 
6980  S7=S5+1
6990  T7=T5+1
7000  T4=T4-S4
7010  IF S0=1 THEN 7130
7020  IF S7 <= V1 THEN 7130
7030  S7=1
7040  S9=S9+1
7050  IF U1=1 THEN 7120
7080  IF S9 <= V2 THEN 7110
7090  S9=1
7100  S8=S8+1
7110  PRINT #V6;S$
7120  READ #V4;S$
7130  IF T0=1 THEN 6830
7140  IF T7 <= V1 THEN 6830
7150  T7=1
7160  T9=T9+1
7170  READ #V5;T$
7180  IF T9 <= V2 THEN 6830
7190  T9=1
7200  T8=T8+1
7210  GOTO 6830
7220  S5=S7+T4-1
7230  T5=T7+T4-1
7240  IF U1=1 THEN 7390
7250  S$[S7,S5]=T$[T7,T5]
7260  IF S0#1 THEN 7280
7270  RETURN 
7280  FOR I=S9 TO V2+1
7290  PRINT #V6;S$
7295  IF  END #V4 THEN 9510
7300  READ #V4;S$
7310  NEXT I
7320  READ #V6,S8
7330  F1=S8
7340  F2=S9
7350  F3=S5+1
7360  GOSUB 7600
7370  V7=F6
7380  RETURN 
7390  IF S$[S7,S5]=T$[T7,T5] THEN 7440
7400  IF S$[S7,S5]<T$[T7,T5] THEN 7430
7410  U0=-1
7420  RETURN 
7430  U0=1
7440  RETURN 
7500  REM-GETPTRS
7510  F1=F6-1
7520  F2=INT(F1/V1)
7530  F3=F1-V1*F2+1
7540  F1=INT(F2/V2)
7550  F2=F2-V2*F1+1
7560  F1=F1+1
7570  RETURN 
7600  REM-PUTPTRS
7610  F6=V1*V2*(F1-1)+V1*(F2-1)+F3
7620  RETURN 
7700  REM-FINDFIRSTCHAR
7710  GOSUB 7500
7720  READ #V6,F1
7730  FOR I=1 TO F2
7740  READ #V6;V$
7750  NEXT I
7760  V$=V$[F3,F3]
7770  RETURN 
7850  REM-INCPTR
7860  P0=P0+1
7870  P9=C[P0]
7880  RETURN 
7900  REM-STACKOP
7910  P2=P2+1
7920  Q[P2]=P1
7930  RETURN 
7950  REM-POPUP
7960  IF P2>0 THEN 7985
7970  E0=2
7980  GOTO 9000
7985  P1=Q[P2]
7990  P2=P2-1
7995  RETURN 
8050  REM-PUTSTRING
8055  IF P[P0,2] <= P[P0,3] THEN 8070
8060  S6=0
8065  RETURN 
8070  R1=P[P0,2]
8075  R2=P[P0,3]-R1+1
8080  GOSUB 5000
8085  IF P9#2 THEN 8095
8090  S6=-S6
8095  RETURN 
8100  REM-VALUE ROUTINE
8110  IF P1#0 THEN 8125
8120  RETURN 
8125  IF P1<0 THEN 8140
8130  P1=S[P1,4]
8135  RETURN 
8140  P1=-P1
8145  RETURN 
8150  REM-NUMBER-STRING ROUTINE
8155  GOSUB 8300
8160  IF T$="" THEN 8185
8165  R1=1
8170  R2=LEN(T$)
8175  GOSUB 5000
8180  RETURN 
8185  S6=0
8190  RETURN 
8200  REM-STRING-NUMBER ROUTINE
8205  IF F0=0 THEN 8255
8210  R8=S[F0,1]
8215  R9=1
8220  S$=""
8225  T=S[F0,2]
8230  S0=1
8235  T0=0
8240  GOSUB 6200
8245  GOSUB 8450
8250  RETURN 
8255  D9=0
8260  D0=1
8265  RETURN 
8300  REM-NUM-STR ROUTINE
8305  T$=""
8310  IF D9#0 THEN 8320
8315  RETURN 
8320  IF D9<0 THEN 8335
8325  D0=0
8330  GOTO 8350
8335  T$[1,1]="-"
8340  D0=1
8345  D9=-D9
8350  FOR D1=1 TO 31
8355  IF D9<10^D1 THEN 8375
8360  NEXT D1
8365  E0=6
8370  GOTO 9000
8375  FOR D2=1 TO D1
8380  D3=10^(D1-D2)
8385  D4=INT(D9/D3)
8390  D9=D9-D3*D4
8395  D4=D4+1
8400  D3=D2+D0
8405  T$[D3,D3]=D$[D4,D4]
8410  NEXT D2
8415  RETURN 
8450  REM-STR-NUM ROUTINE
8455  D0=D3=1
8460  D2=D9=0
8465  FOR D1=LEN(S$) TO 1 STEP -1
8470  FOR D4=0 TO 11
8475  IF S$[D1,D1]=D$[D4+1,D4+1] THEN 8495
8480  NEXT D4
8485  D0=0
8490  RETURN 
8495  IF D4=11 THEN 8515
8500  IF D4=12 THEN 8520
8505  D9=D9+D4*10^D2
8507  D2=D2+1
8510  GOTO 8520
8515  D3=-1
8520  NEXT D1
8530  RETURN 
8550  REM-PUTVAR
8555  T0=0
8560  R1=Z3
8565  R2=Z
8570  F6=R1
8575  GOSUB 7700
8580  GOTO 5060
9000  REM-ERROR ROUTINE
9005  PRINT LIN(2)
9007  PRINT "****ERROR -";E0"AT STATEMENT";C2
9010  CHAIN "$SNOBER"
9500  REM-END ROUTINE
9505  PRINT LIN(2)
9510  REM-STORAGE DUMP
9520  PRINT "WANT A DUMP";
9530  INPUT S$
9540  IF S$="YES" THEN 9560
9550  STOP 
9560  D7=30
9570  FOR I1=1 TO 62
9575  H1=H[I1]
9580  IF H1=0 THEN 9780
9590  IF H1=1 OR H1=2 OR H1=29 THEN 9610
9600  IF H1 <= D7 THEN 9760
9610  IF S[H1,4] <= 0 THEN 9760
9615  S$=""
9620  R8=S[H1,1]
9630  R9=1
9640  T=S[H1,2]
9642  IF T <= V1 THEN 9650
9644  T=V1
9650  S0=1
9660  T0=0
9670  GOSUB 6200
9680  S$[LEN(S$)+1]=" = '"
9690  H2=S[H1,4]
9700  R8=S[H2,1]
9710  R9=LEN(S$)+1
9720  T=S[H2,2]
9724  IF R9+T <= V1 THEN 9730
9726  T=V1-R9
9730  GOSUB 6200
9740  S$[LEN(S$)+1]="'"
9750  PRINT S$
9760  H1=S[H1,3]
9770  GOTO 9580
9780  NEXT I1
9999  END 
