home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-04 | 21.4 KB | 712 lines | [TEXT/ttxt] |
- TO MATCH!
- IF EMPTYP :SEN [OP "FALSE]
- IF NOT TRY.PRED [OP "FALSE]
- MAKE :SPECIAL.VAR FIRST :SEN
- OP MATCH BF :PAT BF :SEN
- END
-
- TO MATCH#
- MAKE :SPECIAL.VAR []
- OP #TEST #GATHER :SEN
- END
-
- TO #GATHER :SEN
- IF EMPTYP :SEN [OP :SEN]
- IF NOT TRY.PRED [OP :SEN]
- MAKE :SPECIAL.VAR LPUT FIRST :SEN THING :SPECIAL.VAR
- OP #GATHER BF :SEN
- END
-
- TO #TEST :SEN
- IF MATCH BF :PAT :SEN [OP "TRUE]
- IF EMPTYP THING :SPECIAL.VAR [OP "FALSE]
- OP #TEST2 FPUT LAST THING :SPECIAL.VAR :SEN
- END
-
- TO #TEST2 :SEN
- MAKE :SPECIAL.VAR BL THING :SPECIAL.VAR
- OP #TEST :SEN
- END
-
- TO MATCH&
- OP &TEST MATCH#
- END
-
- TO &TEST :TF
- IF EMPTYP THING :SPECIAL.VAR [OP "FALSE]
- OP :TF
- END
-
- TO MATCH?
- MAKE :SPECIAL.VAR []
- IF EMPTYP :SEN [OP MATCH BF :PAT :SEN]
- IF NOT TRY.PRED [OP MATCH BF :PAT :SEN]
- MAKE :SPECIAL.VAR FIRST :SEN
- IF MATCH BF :PAT BF :SEN [OP "TRUE]
- MAKE :SPECIAL.VAR []
- OP MATCH BF :PAT :SEN
- END
-
- TO MATCH@
- MAKE :SPECIAL.VAR :SEN
- OP @TEST []
- END
-
- TO @TEST :SEN
- IF @TRY.PRED [IF MATCH BF :PAT :SEN [OP "TRUE]]
- IF EMPTYP THING :SPECIAL.VAR [OP "FALSE]
- OP @TEST2 FPUT LAST THING :SPECIAL.VAR :SEN
- END
-
- TO @TEST2 :SEN
- MAKE :SPECIAL.VAR BL THING :SPECIAL.VAR
- OP @TEST :SEN
- END
-
- TO @TRY.PRED
- IF LISTP :SPECIAL.PRED [OP MATCH :SPECIAL.PRED THING :SPECIAL.VAR]
- OP RUN LIST :SPECIAL.PRED THING :SPECIAL.VAR
- END
-
- TO ADDMEMR :WORD :PATTERN :RESULTS
- LOCAL "PROPNAME
- MAKE "PROPNAME GENSYM
- PPROP :WORD "MEMR ( SE GPROP :WORD "MEMR LIST :PATTERN :PROPNAME )
- PPROP :WORD :PROPNAME :RESULTS
- END
-
- TO ADDPUNCT :STUFF :CHAR
- IF WORDP :STUFF [OUTPUT WORD :STUFF :CHAR]
- IF EMPTYP :STUFF [OUTPUT :CHAR]
- OUTPUT SE BL :STUFF WORD LAST :STUFF :CHAR
- END
-
- TO ADDRULE :WORD :PATTERN :RESULTS
- LOCAL "PROPNAME
- MAKE "PROPNAME GENSYM
- PPROP :WORD "RULES ( SE GPROP :WORD "RULES LIST :PATTERN :PROPNAME )
- PPROP :WORD :PROPNAME :RESULTS
- END
-
- TO ALWAYS :X
- OP "TRUE
- END
-
- TO ANALYZE :SENTENCE :KEYWORDS
- LOCAL [RULES KEYWORD]
- IF EMPTYP :KEYWORDS [NORULES STOP]
- MAKE "KEYWORD FIRST :KEYWORDS
- MAKE "RULES GPROP :KEYWORD "RULES
- IF WORDP FIRST :RULES ~
- [MAKE "KEYWORD FIRST :RULES MAKE "RULES GPROP :KEYWORD "RULES]
- CHECKRULES :KEYWORD :RULES
- END
-
- TO ANYOF :SEN
- OP ANYOF1 :SEN :IN.LIST
- END
-
- TO ANYOF1 :SEN :PATS
- IF EMPTYP :PATS [OP "FALSE]
- IF MATCH FIRST :PATS :SEN [OP "TRUE]
- OP ANYOF1 :SEN BF :PATS
- END
-
- TO BELIEFP :WORD
- OUTPUT NOT EMPTYP GPROP :WORD "BELIEF
- END
-
- TO CHECKPRIORITY :WORD
- LOCAL "PRIORITY
- MAKE "PRIORITY GPROP :WORD "PRIORITY
- IF EMPTYP :PRIORITY [STOP]
- IF EMPTYP :KEYWORDS [MAKE "KEYWORDS ( LIST :WORD ) STOP]
- IFELSE :PRIORITY > ( GPROP FIRST :KEYWORDS "PRIORITY ) ~
- [MAKE "KEYWORDS FPUT :WORD :KEYWORDS] ~
- [MAKE "KEYWORDS LPUT :WORD :KEYWORDS]
- END
-
- TO CHECKRULES :KEYWORD :RULES
- IF NOT MATCH FIRST :RULES :SENTENCE ~
- [CHECKRULES :KEYWORD BF BF :RULES STOP]
- DORULE FIRST BF :RULES
- END
-
- TO DOCTOR
- LOCAL [TEXT SENTENCE STUFF A B C RULES KEYWORDS]
- MAKE "MEMORY []
- PR [HELLO, I AM THE DOCTOR. WHAT CAN I DO FOR YOU?]
- PR [PLEASE END YOUR REMARKS WITH AN EMPTY LINE.]
- PR []
- LOOP
- END
-
- TO DORULE :RULE
- LOCAL "PRINT
- MAKE "PRINT FIRST GPROP :KEYWORD :RULE
- PPROP :KEYWORD :RULE LPUT :PRINT BF GPROP :KEYWORD :RULE
- IF EQUALP :PRINT "NEWKEY [ANALYZE :SENTENCE BF :KEYWORDS STOP]
- IF WORDP :PRINT [CHECKRULES :PRINT GPROP :PRINT "RULES STOP]
- IF EQUALP FIRST :PRINT "PRE ~
- [ANALYZE RECONSTRUCT FIRST BF :PRINT BF BF :PRINT STOP]
- PRINT RECONSTRUCT :PRINT
- MEMORY :KEYWORD :SENTENCE
- END
-
- TO FAMILYP :WORD
- OUTPUT NOT EMPTYP GPROP :WORD "FAMILY
- END
-
- TO GETSENTENCE :TEXT
- MAKE "KEYWORDS []
- OUTPUT GETSENTENCE1 :TEXT []
- END
-
- TO GETSENTENCE1 :TEXT :OUT
- IF EMPTYP :TEXT [OUTPUT :OUT]
- IF EQUALP FIRST :TEXT ". ~
- [IFELSE EMPTYP :KEYWORDS ~
- [OUTPUT GETSENTENCE1 BF :TEXT []] [OUTPUT :OUT]]
- CHECKPRIORITY FIRST :TEXT
- OUTPUT GETSENTENCE1 BF :TEXT SE :OUT TRANSLATE FIRST :TEXT
- END
-
- TO GETSTUFF :STUFF
- LOCAL "LINE
- MAKE "LINE RL
- IF EMPTYP :LINE [OP :STUFF]
- OP GETSTUFF SE :STUFF :LINE
- END
-
- TO IN :WORD
- OP MEMBERP :WORD :IN.LIST
- END
-
- TO LASTRESORT
- PRINT FIRST :LASTRESORT
- MAKE "LASTRESORT LPUT FIRST :LASTRESORT BF :LASTRESORT
- END
-
- TO LOOP
- MAKE "TEXT TOKENIZE GETSTUFF []
- MAKE "SENTENCE GETSENTENCE :TEXT
- ANALYZE :SENTENCE :KEYWORDS
- PRINT []
- LOOP
- END
-
- TO MATCH :PAT :SEN
- LOCAL [SPECIAL.VAR SPECIAL.PRED SPECIAL.BUFFER IN.LIST]
- IF OR WORDP :PAT WORDP :SEN [OP "FALSE]
- IF EMPTYP :PAT [OP EMPTYP :SEN]
- IF LISTP FIRST :PAT [OP SPECIAL FPUT "!: :PAT :SEN]
- IF MEMBERP FIRST FIRST :PAT [? # ! & @] [OP SPECIAL :PAT :SEN]
- IF EMPTYP :SEN [OP "FALSE]
- IF EQUALP FIRST :PAT FIRST :SEN [OP MATCH BF :PAT BF :SEN]
- OP "FALSE
- END
-
- TO MEMORY :KEYWORD :SENTENCE
- LOCAL [RULES RULE NAME]
- MAKE "RULES GPROP :KEYWORD "MEMR
- IF EMPTYP :RULES [STOP]
- IF NOT MATCH FIRST :RULES :SENTENCE [STOP]
- MAKE "NAME LAST :RULES
- MAKE "RULES GPROP :KEYWORD :NAME
- MAKE "RULE FIRST :RULES
- PPROP :KEYWORD :NAME LPUT :RULE BF :RULES
- MAKE "MEMORY FPUT RECONSTRUCT :SENTENCE :MEMORY
- END
-
- TO NORULES
- IFELSE :MEMFLAG [USEMEMORY] [LASTRESORT]
- MAKE "MEMFLAG NOT :MEMFLAG
- END
-
- TO PARSE.SPECIAL :WORD :VAR
- IF EMPTYP :WORD [OP LIST :VAR "ALWAYS]
- IF EQUALP FIRST :WORD ": [OP LIST :VAR BF :WORD]
- OP PARSE.SPECIAL BF :WORD WORD :VAR FIRST :WORD
- END
-
- TO QUOTED :THING
- IF LISTP :THING [OP :THING]
- OP WORD "" :THING
- END
-
- TO RECONSTRUCT :SENTENCE
- IF EMPTYP :SENTENCE [OUTPUT []]
- IF NOT EQUALP ": FIRST FIRST :SENTENCE ~
- [OUTPUT FPUT FIRST :SENTENCE RECONSTRUCT BF :SENTENCE]
- OUTPUT SE REWORD FIRST :SENTENCE RECONSTRUCT BF :SENTENCE
- END
-
- TO REWORD :WORD
- IF MEMBERP LAST :WORD [. ? ,] [OUTPUT ADDPUNCT REWORD BL :WORD LAST :WORD]
- OUTPUT THING BF :WORD
- END
-
- TO SET.IN
- MAKE "IN.LIST FIRST BF :PAT
- MAKE "PAT FPUT FIRST :PAT BF BF :PAT
- END
-
- TO SET.SPECIAL :LIST
- MAKE "SPECIAL.VAR FIRST :LIST
- MAKE "SPECIAL.PRED LAST :LIST
- IF EMPTYP :SPECIAL.VAR [MAKE "SPECIAL.VAR "SPECIAL.BUFFER]
- IF MEMBERP :SPECIAL.PRED [IN ANYOF] [SET.IN]
- IF NOT EMPTYP :SPECIAL.PRED [STOP]
- MAKE "SPECIAL.PRED FIRST BF :PAT
- MAKE "PAT FPUT FIRST :PAT BF BF :PAT
- END
-
- TO SETUP
- MAKE "MEMFLAG "FALSE
- MAKE "LASTRESORT [[I AM NOT SURE I UNDERSTAND YOU FULLY.] ~
- [PLEASE GO ON.] ~
- [WHAT DOES THAT SUGGEST TO YOU?] ~
- [DO YOU FEEL STRONGLY ABOUT DISCUSSING SUCH THINGS?]]
- SETUP1
- SETUP2
- SETUP3
- SETUP4
- ERASE [SETUP1 SETUP2 SETUP3 SETUP4 ADDRULE ADDMEMR SETUP]
- END
-
- TO SETUP1
- PPROP "SORRY "PRIORITY 0
- ADDRULE "SORRY [#] ~
- [[PLEASE DON'T APOLOGIZE.] ~
- [APOLOGIES ARE NOT NECESSARY.] ~
- [WHAT FEELINGS DO YOU HAVE WHEN YOU APOLOGIZE?] ~
- [I'VE TOLD YOU THAT APOLOGIES ARE NOT REQUIRED.]]
- PPROP "DONT "TRANSLATION "DON'T
- PPROP "CANT "TRANSLATION "CAN'T
- PPROP "WONT "TRANSLATION "WON'T
- PPROP "REMEMBER "PRIORITY 5
- ADDRULE "REMEMBER ~
- [# YOU REMEMBER #STUFF] ~
- [[DO YOU OFTEN THINK OF :STUFF?] ~
- [DOES THINKING OF :STUFF BRING ANYTHING ELSE TO MIND?] ~
- [WHAT ELSE DO YOU REMEMBER?] ~
- [WHY DO YOU REMEMBER :STUFF JUST NOW?] ~
- [WHAT IN THE PRESENT SITUATION REMINDS YOU OF :STUFF?]]
- ADDRULE "REMEMBER [# DO I REMEMBER #STUFF] ~
- [[DID YOU THINK I WOULD FORGET :STUFF?] ~
- [WHY DO YOU THINK I SHOULD RECALL :STUFF NOW?] ~
- [WHAT ABOUT :STUFF?] WHAT [YOU MENTIONED :STUFF.]]
- ADDRULE "REMEMBER [#] [NEWKEY]
- PPROP "IF "PRIORITY 3
- ADDRULE "IF [#A IF #B HAD #C] [[PRE [:A IF :B MIGHT HAVE :C] IF]]
- ADDRULE "IF [# IF #STUFF] ~
- [[DO YOU THINK IT'S LIKELY THAT :STUFF?] ~
- [DO YOU WISH THAT :STUFF?] ~
- [WHAT DO YOU THINK ABOUT :STUFF?]]
- PPROP "DREAMED "PRIORITY 4
- ADDRULE "DREAMED [# YOU DREAMED #STUFF] ~
- [[REALLY :STUFF?] ~
- [HAVE YOU EVER FANTASIED :STUFF WHILE YOU WERE AWAKE?] ~
- [HAVE YOU DREAMED :STUFF BEFORE?] DREAM NEWKEY]
- ADDRULE "DREAMED [#] [DREAM NEWKEY]
- PPROP "DREAMT "TRANSLATION "DREAMED
- PPROP "DREAMT "PRIORITY 4
- PPROP "DREAMT "RULES [DREAMED]
- PPROP "DREAM "PRIORITY 3
- ADDRULE "DREAM [#] ~
- [[WHAT DOES THAT DREAM SUGGEST TO YOU?] ~
- [DO YOU DREAM OFTEN?] ~
- [WHAT PERSONS APPEAR IN YOUR DREAMS?] ~
- [DON'T YOU BELIEVE THAT DREAM HAS SOMETHING TO DO WITH YOUR PROBLEM?] ~
- [DO YOU EVER WISH YOU COULD FLEE FROM REALITY?] NEWKEY]
- PPROP "DREAMS "TRANSLATION "DREAM
- PPROP "DREAMS "PRIORITY 3
- PPROP "DREAMS "RULES [DREAM]
- PPROP "WHAT "PRIORITY 0
- ADDRULE "WHAT [!:IN [WHAT WHERE] #] [HOW]
- ADDRULE "WHAT [# !A:IN [WHAT WHERE] #B] ~
- [[TELL ME ABOUT :A :B.] [:A :B?] ~
- [DO YOU WANT ME TO TELL YOU :A :B?] [REALLY.] [I SEE.] NEWKEY]
- PPROP "ALIKE "PRIORITY 10
- PPROP "ALIKE "RULES [DIT]
- PPROP "SAME "PRIORITY 10
- PPROP "SAME "RULES [DIT]
- PPROP "CERTAINLY "PRIORITY 0
- PPROP "CERTAINLY "RULES [YES]
- PPROP "FEEL "BELIEF "TRUE
- PPROP "THINK "BELIEF "TRUE
- PPROP "BELIEVE "BELIEF "TRUE
- PPROP "WISH "BELIEF "TRUE
- PPROP "BET "BELIEF "TRUE
- ADDMEMR "MY [# YOUR &STUFF] ~
- [[EARLIER YOU SAID YOUR :STUFF.] ~
- [BUT YOUR :STUFF.] ~
- [DOES THAT HAVE ANYTHING TO DO WITH YOUR STATEMENT ABOUT :STUFF?]]
- PPROP "PERHAPS "PRIORITY 0
- ADDRULE "PERHAPS [#] ~
- [[YOU DON'T SEEM QUITE CERTAIN.] ~
- [WHY THE UNCERTAIN TONE?] ~
- [CAN'T YOU BE MORE POSITIVE?] ~
- [YOU AREN'T SURE.] [DON'T YOU KNOW?]]
- PPROP "MAYBE "PRIORITY 0
- PPROP "MAYBE "RULES [PERHAPS]
- PPROP "NAME "PRIORITY 15
- ADDRULE "NAME [#] ~
- [[I AM NOT INTERESTED IN NAMES.] ~
- [I'VE TOLD YOU BEFORE I DON'T CARE ABOUT |NAMES;| PLEASE CONTINUE.]]
- PPROP "DEUTSCH "PRIORITY 0
- ADDRULE "DEUTSCH [#] [[I'M SORRY, I SPEAK ONLY ENGLISH.]]
- PPROP "FRANCAIS "PRIORITY 0
- PPROP "FRANCAIS "RULES [DEUTSCH]
- PPROP "SVENSKA "PRIORITY 0
- PPROP "SVENSKA "RULES [DEUTSCH]
- PPROP "ITALIANO "PRIORITY 0
- PPROP "ITALIANO "RULES [DEUTSCH]
- PPROP "ESPANOL "PRIORITY 0
- PPROP "ESPANOL "RULES [DEUTSCH]
- PPROP "HELLO "PRIORITY 0
- ADDRULE "HELLO [#] [[HOW DO YOU DO. PLEASE STATE YOUR PROBLEM.]]
- PPROP "COMPUTER "PRIORITY 50
- ADDRULE "COMPUTER [#] ~
- [[DO COMPUTERS WORRY YOU?] ~
- [WHY DO YOU MENTION COMPUTERS?] ~
- [WHAT DO YOU THINK MACHINES HAVE TO DO WITH YOUR PROBLEM?] ~
- [DON'T YOU THINK COMPUTERS CAN HELP PEOPLE?] ~
- [WHAT ABOUT MACHINES WORRIES YOU?] ~
- [WHAT DO YOU THINK ABOUT MACHINES?]]
- PPROP "MACHINE "PRIORITY 50
- PPROP "MACHINE "RULES [COMPUTER]
- PPROP "MACHINES "PRIORITY 50
- PPROP "MACHINES "RULES [COMPUTER]
- PPROP "COMPUTERS "PRIORITY 50
- PPROP "COMPUTERS "RULES [COMPUTER]
- PPROP "AM "PRIORITY 0
- PPROP "AM "TRANSLATION "ARE
- END
-
- TO SETUP2
- ADDRULE "AM [# ARE YOU #STUFF] ~
- [[DO YOU BELIEVE YOU ARE :STUFF?] ~
- [WOULD YOU WANT TO BE :STUFF?] ~
- [YOU WISH I WOULD TELL YOU YOU ARE :STUFF.] ~
- [WHAT WOULD IT MEAN IF YOU WERE :STUFF?] HOW]
- ADDRULE "AM [#] [[WHY DO YOU SAY "AM"?] [I DON'T UNDERSTAND THAT.]]
- PPROP "ARE "PRIORITY 0
- ADDRULE "ARE [#A THERE ARE #B YOU #C] [[PRE [:A THERE ARE :B] ARE]]
- ADDRULE "ARE [# THERE ARE &STUFF] ~
- [[WHAT MAKES YOU THINK THERE ARE :STUFF?] ~
- [DO YOU USUALLY CONSIDER :STUFF?] ~
- [DO YOU WISH THERE WERE :STUFF?]]
- ADDRULE "ARE [# ARE I #STUFF] ~
- [[WHY ARE YOU INTERESTED IN WHETHER I AM :STUFF OR NOT?] ~
- [WOULD YOU PREFER IF I WEREN'T :STUFF?] ~
- [PERHAPS I AM :STUFF IN YOUR FANTASIES.] ~
- [DO YOU SOMETIMES THINK I AM :STUFF?] HOW]
- ADDRULE "ARE [ARE #] [HOW]
- ADDRULE "ARE [# ARE #STUFF] ~
- [[DID YOU THINK THEY MIGHT NOT BE :STUFF?] ~
- [WOULD YOU LIKE IT IF THEY WERE NOT :STUFF?] ~
- [WHAT IF THEY WERE NOT :STUFF?] [POSSIBLY THEY ARE :STUFF.]]
- PPROP "YOUR "PRIORITY 0
- PPROP "YOUR "TRANSLATION "MY
- ADDRULE "YOUR [# MY #STUFF] ~
- [[WHY ARE YOU CONCERNED OVER MY :STUFF?] ~
- [WHAT ABOUT YOUR OWN :STUFF?] ~
- [ARE YOU WORRIED ABOUT SOMEONE ELSE'S :STUFF?] ~
- [REALLY, MY :STUFF?]]
- PPROP "WAS "PRIORITY 2
- ADDRULE "WAS [# WAS YOU #STUFF] ~
- [[WHAT IF YOU WERE :STUFF?] ~
- [DO YOU THINK YOU WERE :STUFF?] ~
- [WERE YOU :STUFF?] ~
- [WHAT WOULD IT MEAN IF YOU WERE :STUFF?] ~
- [WHAT DOES " :STUFF " SUGGEST TO YOU?] HOW]
- ADDRULE "WAS [# YOU WAS #STUFF] ~
- [[WERE YOU REALLY?] ~
- [WHY DO YOU TELL ME YOU WERE :STUFF NOW?] ~
- [PERHAPS I ALREADY KNEW YOU WERE :STUFF.]]
- ADDRULE "WAS [# WAS I #STUFF] ~
- [[WOULD YOU LIKE TO BELIEVE I WAS :STUFF?] ~
- [WHAT SUGGESTS THAT I WAS :STUFF?] ~
- [WHAT DO YOU THINK?] ~
- [PERHAPS I WAS :STUFF.] ~
- [WHAT IF I HAD BEEN :STUFF?]]
- ADDRULE "WAS [#] [NEWKEY]
- PPROP "WERE "PRIORITY 0
- PPROP "WERE "TRANSLATION "WAS
- PPROP "WERE "RULES [WAS]
- PPROP "ME "TRANSLATION "YOU
- PPROP "YOU'RE "PRIORITY 0
- PPROP "YOU'RE "TRANSLATION "I'M
- ADDRULE "YOU'RE [# I'M #STUFF] [[PRE [I ARE :STUFF] YOU]]
- PPROP "I'M "PRIORITY 0
- PPROP "I'M "TRANSLATION "YOU'RE
- ADDRULE "I'M [# YOU'RE #STUFF] [[PRE [YOU ARE :STUFF] I]]
- PPROP "MYSELF "TRANSLATION "YOURSELF
- PPROP "YOURSELF "TRANSLATION "MYSELF
- PPROP "MOTHER "FAMILY "TRUE
- PPROP "MOM "TRANSLATION "MOTHER
- PPROP "MOM "FAMILY "TRUE
- PPROP "MOMMY "TRANSLATION "MOTHER
- PPROP "MOMMY "FAMILY "TRUE
- PPROP "FATHER "FAMILY "TRUE
- PPROP "DAD "TRANSLATION "FATHER
- PPROP "DAD "FAMILY "TRUE
- PPROP "DADDY "TRANSLATION "FATHER
- PPROP "DADDY "FAMILY "TRUE
- PPROP "SISTER "FAMILY "TRUE
- PPROP "BROTHER "FAMILY "TRUE
- PPROP "HUSBAND "FAMILY "TRUE
- PPROP "WIFE "FAMILY "TRUE
- PPROP "CHILDREN "FAMILY "TRUE
- PPROP "I "PRIORITY 0
- PPROP "I "TRANSLATION "YOU
- ADDRULE "I [# YOU !:IN [WANT NEED] #STUFF] ~
- [[WHAT WOULD IT MEAN TO YOU IF YOU GOT :STUFF?] ~
- [WHY DO YOU WANT :STUFF?] ~
- [SUPPOSE YOU GOT :STUFF SOON.] ~
- [WHAT IF YOU NEVER GOT :STUFF?] ~
- [WHAT WOULD GETTING :STUFF MEAN TO YOU?] ~
- [YOU REALLY WANT :STUFF.] ~
- [I SUSPECT YOU REALLY DON'T WANT :STUFF.]]
- ADDRULE "I [# YOU ARE # !STUFF:IN [SAD UNHAPPY DEPRESSED SICK] #] ~
- [[I'M SORRY TO HEAR YOU ARE :STUFF.] ~
- [DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE :STUFF?] ~
- [I'M SURE IT'S NOT PLEASANT TO BE :STUFF.] ~
- [CAN YOU EXPLAIN WHAT MADE YOU :STUFF?] [PLEASE GO ON.]]
- ADDRULE "I [# YOU ARE # !STUFF:IN [HAPPY ELATED GLAD BETTER] #] ~
- [[HOW HAVE I HELPED YOU TO BE :STUFF?] ~
- [HAS YOUR TREATMENT MADE YOU :STUFF?] ~
- [WHAT MAKES YOU :STUFF JUST NOW?] ~
- [CAN YOU EXPLAIN WHY YOU ARE SUDDENLY :STUFF?] ~
- [ARE YOU SURE?] [WHAT DO YOU MEAN BY :STUFF?]]
- ADDRULE "I [# YOU WAS #] [WAS]
- ADDRULE "I [# YOU !:BELIEFP YOU #STUFF] ~
- [[DO YOU REALLY THINK SO?] ~
- [BUT YOU ARE NOT SURE YOU :STUFF.] ~
- [DO YOU REALLY DOUBT YOU :STUFF?]]
- ADDRULE "I [# YOU # !:BELIEFP # I #] [YOU]
- ADDRULE "I [# YOU ARE #STUFF] ~
- [[IS IT BECAUSE YOU ARE :STUFF THAT YOU CAME TO ME?] ~
- [HOW LONG HAVE YOU BEEN :STUFF?] ~
- [DO YOU BELIEVE IT NORMAL TO BE :STUFF?] ~
- [DO YOU ENJOY BEING :STUFF?]]
- ADDRULE "I [# YOU !:IN [CAN'T CANNOT] #STUFF] ~
- [[HOW DO YOU KNOW YOU CAN'T :STUFF?] ~
- [HAVE YOU TRIED?] [PERHAPS YOU COULD :STUFF NOW.] ~
- [DO YOU REALLY WANT TO BE ABLE TO :STUFF?]]
- END
-
- TO SETUP3
- ADDRULE "I [# YOU DON'T #STUFF] ~
- [[DON'T YOU REALLY :STUFF?] [WHY DON'T YOU :STUFF?] ~
- [DO YOU WISH TO BE ABLE TO :STUFF?] [DOES THAT TROUBLE YOU?]]
- ADDRULE "I [# YOU FEEL #STUFF] ~
- [[TELL ME MORE ABOUT SUCH FEELINGS.] ~
- [DO YOU OFTEN FEEL :STUFF?] [DO YOU ENJOY FEELING :STUFF?] ~
- [OF WHAT DOES FEELING :STUFF REMIND YOU?]]
- ADDRULE "I [# YOU #STUFF I #] ~
- [[PERHAPS IN YOUR FANTASY WE :STUFF EACH OTHER.] ~
- [DO YOU WISH TO :STUFF ME?] ~
- [YOU SEEM TO NEED TO :STUFF ME.] ~
- [DO YOU :STUFF ANYONE ELSE?]]
- ADDRULE "I [#STUFF] ~
- [[YOU SAY :STUFF.] [CAN YOU ELABORATE ON THAT?] ~
- [DO YOU SAY :STUFF FOR SOME SPECIAL REASON?] ~
- [THAT'S QUITE INTERESTING.]]
- PPROP "YOU "PRIORITY 0
- PPROP "YOU "TRANSLATION "I
- ADDRULE "YOU [# I REMIND YOU OF #] [DIT]
- ADDRULE "YOU [# I ARE # YOU #] [NEWKEY]
- ADDRULE "YOU [# I # ARE #STUFF] ~
- [[WHAT MAKES YOU THINK I AM :STUFF?] ~
- [DOES IT PLEASE YOU TO BELIEVE I AM :STUFF?] ~
- [PERHAPS YOU WOULD LIKE TO BE :STUFF.] ~
- [DO YOU SOMETIMES WISH YOU WERE :STUFF?]]
- ADDRULE "YOU [# I #STUFF YOU] ~
- [[WHY DO YOU THINK I :STUFF YOU?] ~
- [YOU LIKE TO THINK I :STUFF YOU, DON'T YOU?] ~
- [WHAT MAKES YOU THINK I :STUFF YOU?] ~
- [REALLY, I :STUFF YOU?] ~
- [DO YOU WISH TO BELIEVE I :STUFF YOU?] ~
- [SUPPOSE I DID :STUFF YOU. WHAT WOULD THAT MEAN?] ~
- [DOES SOMEONE ELSE BELIEVE I :STUFF YOU?]]
- ADDRULE "YOU [# I &STUFF] ~
- [[WE WERE DISCUSSING YOU, NOT ME.] ~
- [OH, I :STUFF?] ~
- [IS THIS REALLY RELEVANT TO YOUR PROBLEM?] ~
- [PERHAPS I DO :STUFF.] ~
- [ARE YOU GLAD TO KNOW I :STUFF?] ~
- [DO YOU :STUFF?] [WHAT ARE YOUR FEELINGS NOW?]]
- ADDRULE "YOU [#] [NEWKEY]
- PPROP "WE "TRANSLATION "YOU
- PPROP "WE "PRIORITY 0
- PPROP "WE "RULES [I]
- PPROP "XXYYZZ "PRIORITY 0
- ADDRULE "XXYYZZ [#] ~
- [[YOU'RE BEING SOMEWHAT SHORT WITH ME.] ~
- [YOU DON'T SEEM VERY TALKATIVE TODAY.] ~
- [PERHAPS YOU'D RATHER TALK ABOUT SOMETHING ELSE.] ~
- [ARE YOU USING MONOSYLLABLES FOR SOME REASON?] NEWKEY]
- PPROP "YES "PRIORITY 0
- ADDRULE "YES [YES] [XXYYZZ [PRE [X YES] YES]]
- ADDRULE "YES [#] ~
- [[YOU SEEM QUITE POSITIVE.] ~
- [YOU ARE SURE.] [I SEE.] [I UNDERSTAND.] NEWKEY]
- PPROP "NO "PRIORITY 0
- ADDRULE "NO [NO] [XXYYZZ [PRE [X NO] NO]]
- ADDRULE "NO [#] ~
- [[ARE YOU SAYING "NO" JUST TO BE NEGATIVE?] ~
- [YOU ARE BEING A BIT NEGATIVE.] [WHY NOT?] [WHY "NO"?] NEWKEY]
- PPROP "MY "PRIORITY 2
- PPROP "MY "TRANSLATION "YOUR
- ADDRULE "MY [# YOUR # !A:FAMILYP #B] ~
- [[TELL ME MORE ABOUT YOUR FAMILY.] ~
- [WHO ELSE IN YOUR FAMILY :B?] [YOUR :A?] ~
- [WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR :A?]]
- ADDRULE "MY [# YOUR &STUFF] ~
- [[YOUR :STUFF?] [WHY DO YOU SAY YOUR :STUFF?] ~
- [DOES THAT SUGGEST ANYTHING ELSE WHICH BELONGS TO YOU?] ~
- [IS IT IMPORTANT TO YOU THAT YOUR :STUFF?]]
- ADDRULE "MY [#] [NEWKEY]
- PPROP "CAN "PRIORITY 0
- ADDRULE "CAN [# CAN I #STUFF] ~
- [[YOU BELIEVE I CAN :STUFF, DON'T YOU?] HOW ~
- [YOU WANT ME TO BE ABLE TO :STUFF.] ~
- [PERHAPS YOU WOULD LIKE TO BE ABLE TO :STUFF YOURSELF.]]
- ADDRULE "CAN [# CAN YOU #STUFF] ~
- [[WHETHER OR NOT YOU CAN "STUFF DEPENDS MORE ON YOU THAN ON ME.] ~
- [DO YOU WANT TO BE ABLE TO :STUFF?] ~
- [PERHAPS YOU DON'T WANT TO :STUFF.] HOW]
- ADDRULE "CAN [#] [HOW NEWKEY]
- PPROP "IS "PRIORITY 0
- ADDRULE "IS [&A IS &B] ~
- [[SUPPOSE :A WERE NOT :B.] ~
- [PERHAPS :A REALLY IS :B.] [TELL ME MORE ABOUT :A.]]
- ADDRULE "IS [#] [NEWKEY]
- PPROP "WHERE "PRIORITY 0
- PPROP "WHERE "RULES [HOW]
- PPROP "HOW "PRIORITY 0
- ADDRULE "HOW [#] ~
- [[WHY DO YOU ASK?] [DOES THAT QUESTION INTEREST YOU?] ~
- [WHAT IS IT YOU REALLY WANT TO KNOW?] ~
- [ARE SUCH QUESTIONS MUCH ON YOUR MIND?] ~
- [WHAT ANSWER WOULD PLEASE YOU MOST?] ~
- [WHAT DO YOU THINK?] ~
- [WHAT COMES TO YOUR MIND WHEN YOU ASK THAT?] ~
- [HAVE YOU ASKED SUCH QUESTIONS BEFORE?] ~
- [HAVE YOU ASKED ANYONE ELSE?]]
- PPROP "BECAUSE "PRIORITY 0
- ADDRULE "BECAUSE [#] ~
- [[IS THAT THE REAL REASON?] ~
- [DON'T ANY OTHER REASONS COME TO MIND?] ~
- [DOES THAT REASON SEEM TO EXPLAIN ANYTHING ELSE?] ~
- [WHAT OTHER REASONS MIGHT THERE BE?] ~
- [YOU'RE NOT CONCEALING ANYTHING FROM ME, ARE YOU?]]
- PPROP "WHY "PRIORITY 0
- ADDRULE "WHY [# WHY DON'T I #STUFF] ~
- [[DO YOU BELIEVE I DON'T :STUFF?] ~
- [PERHAPS I WILL :STUFF IN GOOD TIME.] ~
- [SHOULD YOU :STUFF YOURSELF?] [YOU WANT ME TO :STUFF?] HOW]
- END
-
- TO SETUP4
- ADDRULE "WHY [# WHY CAN'T YOU #STUFF] ~
- [[DO YOU THINK YOU SHOULD BE ABLE TO :STUFF?] ~
- [DO YOU WANT TO BE ABLE TO :STUFF?] ~
- [DO YOU BELIEVE THIS WILL HELP YOU TO :STUFF?] ~
- [HAVE YOU ANY IDEA WHY YOU CAN'T :STUFF?] HOW]
- ADDRULE "WHY [#] [[WHY INDEED?] [WHY "WHY"?] [WHY NOT?] HOW NEWKEY]
- PPROP "EVERYONE "PRIORITY 2
- ADDRULE "EVERYONE [# !A:IN [EVERYONE EVERYBODY NOBODY NOONE] #] ~
- [[REALLY, :A?] [SURELY NOT :A.] ~
- [CAN YOU THINK OF ANYONE IN PARTICULAR?] ~
- [WHO, FOR EXAMPLE?] ~
- [YOU ARE THINKING OF A VERY SPECIAL PERSON.] ~
- [WHO, MAY I ASK?] [SOMEONE SPECIAL PERHAPS.] ~
- [YOU HAVE A PARTICULAR PERSON IN MIND, DON'T YOU?] ~
- [WHO DO YOU THINK YOU'RE TALKING ABOUT?] ~
- [I SUSPECT YOU'RE EXAGGERATING A LITTLE.]]
- PPROP "EVERYBODY "PRIORITY 2
- PPROP "EVERYBODY "RULES [EVERYONE]
- PPROP "NOBODY "PRIORITY 2
- PPROP "NOBODY "RULES [EVERYONE]
- PPROP "NOONE "PRIORITY 2
- PPROP "NOONE "RULES [EVERYONE]
- PPROP "ALWAYS "PRIORITY 1
- ADDRULE "ALWAYS [#] ~
- [[CAN YOU THINK OF A SPECIFIC EXAMPLE?] [WHEN?] ~
- [WHAT INCIDENT ARE YOU THINKING OF?] [REALLY, ALWAYS?] ~
- [WHAT IF THIS NEVER HAPPENED?]]
- PPROP "LIKE "PRIORITY 10
- ADDRULE "LIKE [# !:IN [AM IS ARE WAS] # LIKE #] [DIT]
- ADDRULE "LIKE [#] [NEWKEY]
- ADDRULE "DIT [#] ~
- [[IN WHAT WAY?] [WHAT RESEMBLANCE DO YOU SEE?] ~
- [WHAT DOES THAT SIMILARITY SUGGEST TO YOU?] ~
- [WHAT OTHER CONNECTIONS DO YOU SEE?] ~
- [WHAT DO YOU SUPPOSE THAT RESEMBLANCE MEANS?] ~
- [WHAT IS THE CONNECTION, DO YOU SUPPOSE?] ~
- [COULD THERE REALLY BE SOME CONNECTION?] HOW]
- PPROP "PROBLEM "PRIORITY 5
- ADDRULE "PROBLEM [#A !B:IN [IS ARE] YOUR !C:IN [PROBLEM PROBLEMS] #] ~
- [[:A :B YOUR :C.] [ARE YOU SURE :A :B YOUR :C?] ~
- [PERHAPS :A :B NOT YOUR REAL :C.] ~
- [YOU THINK YOU HAVE PROBLEMS?] [DO YOU OFTEN THINK ABOUT :A?]]
- ADDRULE "PROBLEM [# YOUR !A:IN [PROBLEM PROBLEMS] !B:IN [IS ARE] #C] ~
- [[YOUR :A :B :C?] [ARE YOU SURE YOUR :A :B :C?] ~
- [PERHAPS YOUR REAL :A :B NOT :C.] [YOU THINK YOU HAVE PROBLEMS?]]
- ADDRULE "PROBLEM [#] ~
- [[PLEASE CONTINUE, THIS MAY BE INTERESTING.] ~
- [HAVE YOU ANY OTHER PROBLEMS YOU WISH TO DISCUSS?] ~
- [PERHAPS YOU'D RATHER CHANGE THE SUBJECT.] ~
- [YOU SEEM A BIT UNEASY.] NEWKEY]
- PPROP "PROBLEMS "PRIORITY 5
- PPROP "PROBLEMS "RULES [PROBLEM]
- ADDMEMR "PROBLEM [#STUFF IS YOUR PROBLEM #] ~
- [[EARLIER YOU MENTIONED :STUFF.] ~
- [LET'S TALK FURTHER ABOUT :STUFF.] ~
- [TELL ME MORE ABOUT :STUFF.] ~
- [YOU HAVEN'T MENTIONED :STUFF FOR A WHILE.]]
- PPROP "ASK "PRIORITY 0
- ADDRULE "ASK [# YOU ASK #] [HOW]
- ADDRULE "ASK [# YOU ! ASKING #] [HOW]
- ADDRULE "ASK [# I #] [YOU]
- ADDRULE "ASK [#] [NEWKEY]
- END
-
- TO SPECIAL :PAT :SEN
- SET.SPECIAL PARSE.SPECIAL BF FIRST :PAT "
- OP RUN FPUT WORD "MATCH FIRST FIRST :PAT []
- END
-
- TO TOKENIZE :TEXT
- IF EMPTYP :TEXT [OUTPUT []]
- OUTPUT SE TOKENWORD FIRST :TEXT " TOKENIZE BF :TEXT
- END
-
- TO TOKENWORD :WORD :OUT
- IF EMPTYP :WORD [OUTPUT :OUT]
- IF MEMBERP FIRST :WORD [, " ] [OUTPUT TOKENWORD BF :WORD :OUT]
- IF MEMBERP FIRST :WORD [. ? ! |;|] [OUTPUT SE :OUT ".]
- OUTPUT TOKENWORD BF :WORD WORD :OUT FIRST :WORD
- END
-
- TO TRANSLATE :WORD
- LOCAL "NEW
- MAKE "NEW GPROP :WORD "TRANSLATION
- OUTPUT IFELSE EMPTYP :NEW [:WORD] [:NEW]
- END
-
- TO TRY.PRED
- IF LISTP :SPECIAL.PRED [OP MATCH :SPECIAL.PRED FIRST :SEN]
- OP RUN LIST :SPECIAL.PRED QUOTED FIRST :SEN
- END
-
- TO USEMEMORY
- IF EMPTYP :MEMORY [LASTRESORT STOP]
- PRINT FIRST :MEMORY
- MAKE "MEMORY BF :MEMORY
- END
-
-