Here goes, no guarantees or warranties...

00010 REM THIS IS ELIZA.
00020 RC = CMS('CLRSCRN')
00030 REM  ----- INITIALIZATION -----
00040 DIM S(36),R(36),N(36)
00050 N1 = 36
00060 N2 = 14
00070 N3 = 112
00080 FOR X = 1 TO N1 + N2 + N3
00090   READ Z$
00100   NEXT X
00110 REM SAME AS RESTORE
00120 FOR X = 1 TO N1
00130   READ S(X),L
00140   R(X) = S(X)
00150   N(X) = S(X) + L-1
00160   NEXT X
00170 PRINT "HI! I'M ELIZA. WHAT'S YOUR PROBLEM?"
00180 REM
00190 REM ----- USER INPUT SECTION -----
00200 REM
00210 LINPUT I$
00211 IF I$ = ''
00212    PRINT "SPEAK UP. I CAN'T HEAR YOU."
00213    GOTO 210
00215 ENDIF
00220 I$ = UPRC$(" "+I$+" ")
00230 IF IDX(I$,'SHUT') > 0 THEN STOP
00240 REM  GET RID OF APOSTROPHES
00250 I$ = SREP$(I$,"'","")
00260 IF I$ = P$
00270    PRINT "I HEARD YOU THE FIRST TIME."
00280    GOTO 180
00290 ENDIF
00300 REM
00310 REM ----- FIND KEYWORD IN I$ -----
00320 REM
00330 RESTORE
00340 S = 0
00350 FOR K = 1 TO N1
00360   READ K$
00370   IF S > 0 THEN 430
00380 FOR L = 1 TO LEN(I$) - LEN(K$) + 1
00390   IF STR$(I$,L,LEN(K$))=K$ THEN S=K
00400   T = L
00410   F$ = K$
00420 NEXT L
00430 NEXT K
00440 IF S > 0 THEN K = S
00450 IF S > 0 THEN L = T
00460 IF S > 0 THEN GOTO 510
00470 K = 36
00480 GOTO 840
00490 REM WE DID'NT FIND ANY KEYWORDS
00500 REM  **********************************************
00510 REM  * TAKE RIGHT PART OF STRING AND CONJUGATE IT *
00520 REM  * USING THE LIST OF STRINGS TO BE SWAPPED    *
00530 REM  **********************************************
00540 RESTORE
00550 FOR X = 1 TO N1
00560   READ Z$
00570   NEXT X
00580 REM SKIP OVER KEYWORDS
00590 X = LEN(I$)-LEN(F$)-L+1
00600 C$ = " " + STR$(I$,LEN(I$)-X+1,X)+" "
00610 FOR X = 1 TO N2/2
00620   READ S$,R$
00630     FOR L = 1 TO LEN(C$)
00640     IF L + LEN(S$) > LEN(C$) THEN 700
00650     IF STR$(C$,L,LEN(S$)) <> S$ THEN 700
00660     XX = LEN(C$)-L-LEN(S$)+1
00670     C$ = STR$(C$,1,L-1) + R$ + STR$(C$,LEN(C$)-XX+1,XX)
00680     L = L + LEN(R$)
00690     GOTO 750
00700     IF L + LEN(R$) > LEN(C$) THEN 750
00710     IF STR$(C$,L,LEN(R$)) <> R$ THEN 750
00720     XX = LEN(C$)-L-LEN(R$)+1
00730     C$ = STR$(C$,L,L-1) + S$ + STR$(C$,LEN(C$)-XX+1,XX)
00740     L = L + LEN(S$)
00750     NEXT L
00760   NEXT X
00770 IF STR$(C$,2,1) = " " THEN C$ = STR$(C$,1,LEN(C$) - 1)
00780 REM ONLY 1 SPACE
00790 FOR L = 1 TO LEN(C$)
00800 C$ = SREP$(I$,"!","")
00810 IF STR$(C$,L,1)="!" THEN 800
00820 NEXT L
00830 REM
00840 REM NOW USING THE KEYWORD NUMBER(K) GET REPLY
00850 REM
00860 RESTORE
00870 FOR X = 1 TO N1 + N2
00880  READ Z$
00890  NEXT X
00900 FOR X = 1 TO R(K)
00910   READ F$
00920   NEXT X
00930 REM READ AND WRITE REPLY
00940 R(K) = R(K) + 1
00950 IF R(K) > N(K) THEN R(K) = S(K)
00960 IF STR$(F$,LEN(F$),1) <> "*" THEN PRINT F$
00970 IF STR$(F$,LEN(F$),1) <> "*" THEN P$ = I$
00980 IF STR$(F$,LEN(F$),1) <> "*" THEN 180
00990 PRINT STR$(F$,1,LEN(F$)-1);C$
01000 P$ = I$
01010 GOTO 180
01020 REM
01030 REM ----- PROGRAM DATA FOLLOWS -----
01040 REM
01050 REM KEYWORDS
01060 REM
01070 DATA "CAN YOU","CAN I","YOU ARE","YOURE","I DONT","I FEEL"
01080 DATA "WHY DONT YOU","WHY CANT I","ARE YOU","I CANT","I AM","IM "
01090 DATA "YOU ","I WANT","WHAT","HOW","WHO","WHERE","WHEN","WHY"
01100 DATA "NAME","CAUSE","SORRY","DREAM","HELLO","HI ","MAYBE"
01110 DATA " NO","YOUR","ALWAYS","THINK","ALIKE","YES","FRIEND"
01120 DATA "COMPUTER","NOKEYFOUND"
01130 REM
01140 REM STRING DATA FOR CONJUGATIONS
01150 REM
01160 DATA " ARE "," AM ","WERE","WAS "," YOU "," I ","YOUR","MY "
01170 DATA " IVE "," YOUVE "," IM "," YOURE "
01180 DATA " ME "," IYOU "
01190 REM
01200 REM REPLIES
01210 REM
01220 DATA "DON'T YOU BELIEVE THAT I CAN*"
01230 DATA "PERHAPS YOU WOULD LIKE TO BE ABLE TO*"
01240 DATA "YOU WANT ME TO BE ABLE TO*"
01250 DATA "PERHAPS YOU DON'T WANT TO*"
01260 DATA "DO YOU WANT TO BE ABLE TO*"
01270 DATA "WHAT MAKES YOU THINK I AM*"
01280 DATA "DOES IT PLEASE YOU TO BELIEVE I AM*"
01290 DATA "PERHAPS YOU WOULD LIKE TO BE*"
01300 DATA "DO YOU SOMETIMES WISH YOU WERE*"
01310 DATA "DON'T YOU REALLY*"
01320 DATA "WHY DON'T YOU*"
01330 DATA "DO YOU WISH TO BE ABLE TO*"
01340 DATA "DOES THAT TROUBLE YOU?"
01350 DATA "TELL ME MORE ABOUT SUCH FEELINGS."
01360 DATA "DO YOU OFTEN FEEL*"
01370 DATA "DO YOU ENJOY FEELING*"
01380 DATA "DO YOU REALLY BELIEVE I DON'T*"
01390 DATA "PERHAPS IN GOOD TIME I WILL*"
01400 DATA "DO YOU WANT ME TO"
01410 DATA "DO YOU THINK YOU SHOULD BE ABLE TO*"
01420 DATA "WHY CAN'T YOU*"
01430 DATA "WHY ARE YOU INTERESTED IN WHETHER OR NOT I AM*"
01440 DATA "WOULD YOU PREFER IF I WERE NOT*"
01450 DATA "PERHAPS IN YOUR FANTASIES I AM*"
01460 DATA "HOW DO YOU KNOW YOU CAN'T*"
01470 DATA "HAVE YOU TRIED?"
01480 DATA "PERHAPS YOU CAN NOW*"
01490 DATA "DID YOU COME TO ME BECAUSE YOU ARE*"
01500 DATA "HOW LONG HAVE YOU BEEN*"
01510 DATA "DO YOU BELIEVE IT IS NORMAL TO BE*"
01520 DATA "DO YOU ENJOY BEING*"
01530 DATA "WE WERE DISCUSSING YOU -- NOT ME."
01540 DATA "OH, I*"
01550 DATA "YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU?"
01560 DATA "WHAT WOULD IT MEAN TO YOU IF YOU GOT*"
01570 DATA "WHY DO YOU WANT*"
01580 DATA "SUPPOSE YOU SOON GOT*"
01590 DATA "WHAT IF YOU NEVER GOT*"
01600 DATA "I SOMETIMES ALSO WANT*"
01610 DATA "WHY DO YOU ASK?"
01620 DATA "DOES THAT QUESTION INTEREST YOU?"
01630 DATA "WHAT ANSWER WOULD PLEASE YOU THE MOST?"
01640 DATA "WHAT DO YOU THINK?"
01650 DATA "ARE SUCH QUESTIONS ON YOU MIND OFTEN?"
01660 DATA "WHAT IS IT THAT YOU REALLY WANT TO KNOW?"
01670 DATA "HAVE YOU ASKED ANYONE ELSE?"
01680 DATA "HAVE YOU ASKED SUCH QUESTIONS BEFORE?"
01690 DATA "WHAT ELSE COMES TO MIND WHEN YOU ASK THAT?"
01700 DATA "NAMES DON'T INTEREST ME."
01710 DATA "I DON'T CARE ABOUT NAMES -- PLEASE GO ON."
01720 DATA "IS THAT THE REAL REASON?"
01730 DATA "DON'T ANY OTHER REASONS COME TO MIND?"
01740 DATA "DOES THAT REASON EXPLAIN ANYTHING ELSE?"
01750 DATA "WHAT OTHER REASONS MIGHT THERE BE?"
01760 DATA "PLEASE DON'T APOLOGIZE!"
01770 DATA "APOLOGIES ARE NOT NECESSARY."
01780 DATA "WHAT FEELINGS DO YOU HAVE WHEN YOU APOLOGIZE?"
01790 DATA "DON'T BE SO DEFENSIVE!"
01800 DATA "WHAT DOES THAT DREAM SUGGEST TO YOU?"
01810 DATA "DO YOU DREAM OFTEN?"
01820 DATA "WHAT PERSON APPEARS IN YOUR DREAMS?"
01830 DATA "ARE YOU DISTURBED BY YOUR DREAMS?"
01840 DATA "HOW DO YOU DO ... PLEASE STATE YOUR PROBLEM."
01850 DATA "YOU DON'T SEEM QUITE CERTAIN."
01860 DATA "WHY THE UNCERTAIN TONE?"
01870 DATA "CAN'T YOU BE MORE POSITIVE?"
01880 DATA "YOU AREN'T SURE?"
01890 DATA "DON'T YOU KNOW?"
01900 DATA "ARE YOU SAYING NO JUST TO BE NEGATIVE?"
01910 DATA "YOU ARE BEING A BIT NEGATIVE."
01920 DATA "WHY NOT?"
01930 DATA "ARE YOU SURE?"
01940 DATA "WHY NO?"
01950 DATA "WHY ARE YOU CONCERNED ABOUT MY*"
01960 DATA "WHAT ABOUT YOUR OWN*"
01970 DATA "CAN YOU THINK OF A SPECIFIC EXAMPLE?"
01980 DATA "WHEN?"
01990 DATA "WHAT ARE YOU THINKING OF?"
02000 DATA "REALLY, ALWAYS?"
02010 DATA "DO YOU REALLY THINK SO?"
02020 DATA "BUT YOU ARE NOT SURE YOU*"
02030 DATA "DO YOU DOUBT YOU*"
02040 DATA "IN WHAT WAY?"
02050 DATA "WHAT RESEMBLENCE DO YOU SEE?"
02060 DATA "WHAT DOES THE SIMILARITY SUGGEST TO YOU?"
02070 DATA "WHAT OTHER CONNECTIONS DO YOU SEE?"
02080 DATA "COULD THERE REALLY BE SOME CONNECTION?"
02090 DATA "HOW?"
02100 DATA "YOU SEEM QUITE POSITIVE."
02110 DATA "ARE YOU SURE?"
02120 DATA "I SEE."
02130 DATA "I UNDERSTAND."
02140 DATA "WHY DO YOU BRING UP THE TOPIC OF FRIENDS?"
02150 DATA "DO YOU FRIENDS WORRY YOU?"
02160 DATA "DO YOUR FRIENDS PICK ON YOU?"
02170 DATA "ARE YOU SURE YOU HAVE ANY FRIENDS?"
02180 DATA "DO YOU IMPOSE ON YOUR FRIENDS?"
02190 DATA "PERHAPS YOUR LOVE FOR FRIENDS WORRIES YOU."
02200 DATA "DO COMPUTERS WORRY YOU?"
02210 DATA "ARE YOU TALKING ABOUT ME IN PARTICULAR?"
02220 DATA "ARE YOU FRIGHTENED BY MACHINES?"
02230 DATA "WHY DO YOU MENTION COMPUTERS?"
02240 DATA "WHAT DO YOU THINK MACHINES HAVE TO DO WITH YOUR PROBLEM?"
02250 DATA "DON'T YOU THINK COMPUTERS CAN HELP PEOPLE?"
02260 DATA "WHAT IS IT ABOUT MACHINES THAT WORRIES YOU?"
02270 DATA "SAY, DO YOU HAVE ANY PSYCHOLOGICAL PROBLEMS?"
02280 DATA "WHAT DOES THAT SUGGEST TO YOU?"
02290 DATA "I SEE."
02300 DATA "I'M NOT SURE I UNDERSTAND YOU FULLY."
02310 DATA "COME COME ELUCIDATE YOUR THOUGHTS."
02320 DATA "CAN YOU ELABORATE ON THAT?"
02330 DATA "THAT IS QUITE INTERESTING."
02340 REM
02350 REM   DATA FOR FINDING RIGHT REPLIES
02360 REM
02370 DATA 1,3,4,2,6,4,6,4,10,4,14,3,17,3,20,2,22,3,25,3
02380 DATA 28,4,28,4,32,3,35,5,40,9,40,9,40,9,40,9,40,9,40,9
02390 DATA 49,2,51,4,55,4,59,4,63,1,63,1,64,5,69,5,74,2,76,4
02400 DATA 80,3,83,7,90,3,93,6,99,7,106,6
**************8


