10 PRINT TAB(26);"ELIZA"
20 DIM Z$(112),N1$(36),S2$(7),R2$(7)
30 DIMS(36),R(36),N(36)
40 N1=36:N2=14:N3=112
50 FORX=1TON1:READN1$(X):NEXTX
60 FORX=1TON2/2:READS2$(X),R2$(X) :NEXTX
70 FORX=1TON3:READZ$(X):NEXT X
80 FORX=1TON1
90 READS(X),L:R(X)=S(X):N(X)=S(X)+L-1
100 NEXTX
110 PRINT"HI! I'M ELIZA. WHAT'S YOUR PROBLEM?"
120 REM
130 REM -----USER INPUT SECTION-----
140 REM
150 INPUTI$
160 I$=" "+I$+" "
170 REM GET RID OF APOSTROPHES
180 FORL=1TOLEN(I$)
190 IFMID$(I$,L,1)="'"THENDI$=LEFT$(I$,L-1)+RIGHT$(I$,LEN(I$)-L):GOTO190
200 IFL+4<=LEN(I$)THENIFMID$(I$,L,4)="SHUT"THENPRINT"SHUT UP...":END
210 NEXTL
220 IFI$=P$THENPRINT"TRY NOT TO REPEAT YOURSELF.":GOTO120
230 REM
240 REM
250 S=.
260 FORK=1TON1
270 K$=N1$(K)
280 IFS>.THEN320
290 FORL=1TOLEN(I$)-LEN(K$)+1
300 IFMID$(I$,L,LEN(K$))=K$THENS=K:T=L%:F$=K$
310 NEXTL
320 NEXTK
330 IFS>0THENK=S:L=T:GOTO360
340 K=36:GOTO570:REM NO KEYWORDS
350 REM
360 REM
370 REM
380 C$=" "+RIGHT$(I$,LEN(I$)-LEN(F$)-L+1)+" "
390 FORX=1TON2/2
400 S$=S2$(X):R$=R2$(X)
410 FORL=1TOLEN(C$)
420 IFL+LEN(S$)>LEN(C$)THEN470
430 IFMID$(C$,L,LEN(S$))<>S$THEN470
440 C$=LEFT$(C$,L-1)+R$+RIGHT$(C$,LEN(C$)-L-LEN(S$)+1)
450 L=L+LEN(R$)
460 GOTO 510
470 IFL+LEN(R$)>LEN(C$)THEN510
480 IFMID$(C$,L,LEN(R$))<>R$THEN510
490 C$=LEFT$(C$,L-1)+S$+RIGHT$(C$,LEN(C$)-L-LEN(R$)+1)
500 L=L+LEN(S$)
510 NEXT L
520 NEXTX
530 IFMID$(C$,2,1)=" "THENC$=RIGHT$(C$,LEN(C$)-1)
540 FORL=1TOLEN(C$)
550 IFMID$(C$,L,1)="!"THENC$=LEFT$(C$,L-1)+RIGHT$(C$,LEN(C$)-L):GOTO550
560 NEXTL
570 REM
580 REM RESTORE:FORX=1TON1+N2 :READZ$:NEXTX
590 REM FORX=1TOR(K):READF$:NEXTX
600 F$=Z$(R(K))
610 R(K)=R(K)+1:IFR(K)>N(K)THENR(K)=S(K)
620 IFRIGHT$(F$,1)<>"*"THENPRINTF$:P$=I$:GOTO120
630 PRINTLEFT$(F$,LEN(F$)-1);C$
640 P$=I$:GOTO120
650 REM KEYWORDS
660 DATA "CAN YOU","CAN I","YOU ARE","YOURE","I DONT","I FEEL"
670 DATA "WHY DONT YOU","WHY CANT I","ARE YOU","I CANT","I AM","IM "
680 DATA "YOU ","I WANT","WHAT","HOW","WHO","WHERE","WHEN","WHY"
690 DATA "NAME","CAUSE","SORRY","DREAM","HELLO","HI ","MAYBE"
700 DATA " NO","YOUR","ALWAYS","THINK","ALIKE","YES","FRIEND"
710 DATA "COMPUTER","NOKEYFOUND"
720 DATA " ARE "," AM ","WERE ","WAS "," YOU "," I ","YOUR ","MY "
730 DATA " IVE "," YOUVE "," IM "," YOURE "
740 DATA " ME "," !YOU "
750 DATA"DON'T YOU BELIEVE I CAN*"
760 DATA "PERHAPS YOU WOULD LIKE TO BE ABLE TO*"
770 DATA"YOU WANT ME TO BE ABLE TO*"
780 DATA "PERHAPS YOU DON'T WANT TO*"
790 DATA "DO YOU WANT TO BE ABLE TO*"
800 DATA "WHAT MAKES YOU THINK I AM*"
810 DATA"DOES IT PLEASE YOU TO BELIEVE I AM*"
820 DATA "PERHAPS YOU WOULD LIKE TO BE*"
830 DATA "DO YOU SOMETIMES WISH YOU WERE*"
840 DATA"DON'T YOU REALLY*"
850 DATA"WHY DON'T YOU*"
860 DATA "DO YOU WISH TO BE ABLE TO*"
870 DATA "DOES THAT TROUBLE YOU?"
880 DATA"TELL ME MORE ABOUT SUCH FEELINGS."
890 DATA "DO YOU OFTEN FEEL*"
900 DATA"DO YOU ENJOY FEELING*"
910 DATA"DO YOU REALLY BELIEVE I DON'T*"
920 DATA"PERHAPS IN GOOD TIME I WILL*"
930 DATA"DO YOU WANT ME TO*"
940 DATA "DO YOU THINK YOU SHOULD BE ABLE TO*"
950 DATA "WHY CAN'T YOU*"
960 DATA "WHY ARE YOU INTERESTED IN WHETHER OR NOT I AM*"
970 DATA "WOULD YOU PERFER IF I WERE NOT*"
980 DATA "PERHAPS IN YOUR FANTASIES I AM*"
990 DATA "HOW DO YOU KNOW YOU CAN'T*"
1000 DATA "HAVE YOU TRIED?"
1010 DATA "PERHAPS YOU CAN NOW*"
1020 DATA "DID YOU COME TO ME BECAUSE YOU ARE*"
1030 DATA "HOW LONG HAVE YOU BEEN*"
1040 DATA "DO YOU BELIEVE IT IS NORMAL TO BE*"
1050 DATA "DO YOU ENJOY BEING*"
1060 DATA "WE ARE DISCUSSING YOU -- NOT ME."
1070 DATA "OH, I*"
1080 DATA "YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU?"
1090 DATA "WHAT WOULD IT MEAN TO YOU IF YOU GOT*"
1100 DATA "WHY DO YOU WANT*"
1110 DATA "SUPPOSE YOU SOON GOT*"
1120 DATA "WHAT IF YOU NEVER GOT*"
1130 DATA "I SOMETIMES ALSO WANT*"
1140 DATA "WHY DO YOU ASK?"
1150 DATA "DOES THAT QUESTION INTEREST YOU?"
1160 DATA "WHAT ANSWER WOULD PLEASE YOU MOST?"
1170 DATA "WHAT DO YOU THINK?"
1180 DATA "ARE SUCH QUESTIONS ON YOUR MIND OFTEN?"
1190 DATA "WHAT IS IT THAT YOU REALLY WANT TO KNOW?"
1200 DATA "HAVE YOU ASKED ANYONE ELSE?"
1210 DATA "HAVE YOU ASKED SUCH QUESTIONS BEFORE?"
1220 DATA "WHAT ELSE COMES TO MIND WHEN YOU ASK THAT?"
1230 DATA "NAMES DON'T INTEREST ME."
1240 DATA "I DON'T CARE ABOUT NAMES -- PLEASE GO ON."
1250 DATA "IS THAT THE REAL REASON?"
1260 DATA "DO ANY OTHER REASONS COME TO MIND?"
1270 DATA "DOES THAT REASON EXPLAIN ANYTHING ELSE?"
1280 DATA "WHAT OTHER REASONS MIGHT THERE BE?"
1290 DATA "PLEASE DON'T APOLOGIZE."
1300 DATA "APOLOGIES ARE NOT NECESSARY."
1310 DATA "WHY DO YOU APOLOGIZE?"
1320 DATA "DON'T BE SO DEFENSIVE."
1330 DATA "WHAT DOES THAT DREAM SUGGEST TO YOU?"
1340 DATA "DO YOU HAVE DREAMS OFTEN?"
1350 DATA "WHAT PERSONS APPEAR IN YOUR DREAMS?"
1360 DATA "ARE YOU DISTURBED BY YOUR DREAMS?"
1370 DATA "HOW DO YOU DO. PLEASE STATE YOUR PROBLEM:"
1380 DATA "YOU DON'T SEEM QUITE CERTAIN."
1390 DATA "WHY THE UNCERTAINTY?"
1400 DATA "TRY TO BE MORE POSITIVE."
1410 DATA "YOU AREN'T SURE?"
1420 DATA "DON'T YOU KNOW?"
1430 DATA "DID YOU SAY NO JUST TO BE NEGATIVE?"
1440 DATA "YOU ARE BEING A BIT NEGATIVE."
1450 DATA "WHY NOT?"
1460 DATA "ARE YOU SURE?"
1470 DATA "WHY NOT?"
1480 DATA "WHY ARE YOU CONCERNED ABOUT MY*"
1490 DATA "WHAT ABOUT YOUR OWN*"
1500 DATA "CAN YOU THINK OF A SPECIFIC EXAMPLE?"
1510 DATA "WHEN?"
1520 DATA "WHAT HAVE YOU BEEN THINKING ABOUT?"
1530 DATA "REALLY?"
1540 DATA "DO YOU REALLY THINK SO?"
1550 DATA "BUT YOU ARE NOT SURE YOU*"
1560 DATA "DO YOU DOUBT YOU*"
1570 DATA "IN WHAT WAY?"
1580 DATA "WHAT RESEMBLANCE DO YOU SEE?"
1590 DATA "WHAT DOES THE SIMILARITY SUGGEST TO YOU?"
1600 DATA "WHAT OTHER CONNECTIONS DO YOU SEE?"
1610 DATA "COULD THERE REALLY BE A CONNECTION?"
1620 DATA "HOW?"
1630 DATA "YOU SEEM QUITE POSITIVE."
1640 DATA "ARE YOU SURE?"
1650 DATA "I SEE."
1660 DATA "I UNDERSTAND.
1670 DATA "WHY DO YOU BRING UP THE TOPIC OF FRIENDS?"
1680 DATA "DO YOUR FRIENDS WORRY YOU?"
1690 DATA "DO YOUR FRIENDS PICK ON YOU?"
1700 DATA "HOW DO YOU KNOW THAT YOU HAVE FRIENDS?"
1710 DATA "DO YOU IMPOSE ON YOUR FRIENDS?"
1720 DATA "PERHAPS YOUR LOVE FOR FRIENDS WORRIES YOU."
1730 DATA "DO COMPUTERS WORRY YOU?"
1740 DATA "ARE YOU TALKING ABOUT ME IN PARTICULAR?"
1750 DATA "ARE YOU FRIGHTENED BY MACHINES?"
1760 DATA "WHY DO YOU MENTION COMPUTERS?"
1770 DATA "HOW ARE MACHINES INVOLVED IN YOUR PROBLEM?"
1780 DATA "DO YOU THINK A COMPUTER CAN HELP PEOPLE?"
1790 DATA "WHAT IS IT ABOUT MACHINES THAT WORRIES YOU?"
1800 DATA "DO YOU FEEL YOU MIGHT HAVE A PSYCHO- LOGICAL PROBLEM?"
1810 DATA "WHAT DOES THAT SUGGEST TO YOU?"
1820 DATA "OH, I SEE."
1830 DATA "I'M NOT SURE I UNDERSTAND YOU FULLY."
1840 DATA "LET ME KNOW HOW YOU FEEL."
1850 DATA "CAN YOU ELABORATE ON THAT?"
1860 DATA "THAT IS VERY INTERESTING."
1870 DATA 1 ,3,4,2,6,4,6,4,10,4,14,3,17,3,20,2,22,3,25,3
1880 DATA 28,4,28,4,32,3,35,5,40,9,40,9,40,9,40,9,40,9,40,9
1890 DATA 49,2,51,4,55,4,59,4,63,1,63,1,64,5,69,5,74,2,76,4
1900 DATA 80,3,83,7,90,3,93,6,99,7,106,6