Final Revision
parent
7451ee2c60
commit
c8784aa058
|
@ -0,0 +1,20 @@
|
|||
Summary of files in <H2> directory:
|
||||
|
||||
*.BS -- linear versions of BrainStorm files left over from the first
|
||||
Hitchhiker's game, including some unused but usable ideas
|
||||
|
||||
*.TXT -- transcripts of electronic mail with more of the same
|
||||
|
||||
*.H1 -- selected ZIL files from the first game, with parts re-arranged
|
||||
(I made new ZIL files by merging these with Moonmist files.)
|
||||
|
||||
DESIGN.* -- the design notes I made at Bywater's suggestion
|
||||
|
||||
REPLY.* -- feedback from other imps on the design notes
|
||||
|
||||
H2.ZIL -- "load" file for RMODE ^EG command, omitting parser and other
|
||||
stable files
|
||||
|
||||
H2C.ZIL -- "load" file for compiling, including all files
|
||||
|
||||
ZCOMP.TAILOR -- automagically does the right thing for compiling
|
|
@ -0,0 +1,58 @@
|
|||
<FLAGS-AND-DEFAULTS (("ONE-BYTE-PARTS-OF-SPEECH" %<>)("IN-ZILCH" T)(
|
||||
"WORD-FLAGS-IN-TABLE" T)) ()>
|
||||
|
||||
<ZZPACKAGE "REDS">
|
||||
<ENTRY RED-BE-FORM RED-BE RED-NOT RED-SNBN RED-SNBA RED-SNBP RED-SNBAP
|
||||
RED-CANDO>
|
||||
<INCLUDE "BASEDEFS" "FIND" "PBITDEFS" "PDEFS">
|
||||
<USE "NEWSTRUC" "PARSER" "PMEM" "PSTACK">
|
||||
<FILE-FLAGS MDL-ZIL?>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<NEW-ADD-WORD "AM" TOBE <> <ORB ,FIRST-PERSON ,PRESENT-TENSE>>
|
||||
<NEW-ADD-WORD "ARE" TOBE <> <ORB ,FIRST-PERSON ,SECOND-PERSON ,THIRD-PERSON ,
|
||||
PRESENT-TENSE ,PLURAL-FLAG>>
|
||||
<NEW-ADD-WORD "IS" TOBE <> <ORB ,THIRD-PERSON ,PRESENT-TENSE>>
|
||||
<NEW-ADD-WORD "WAS" TOBE <> <ORB ,FIRST-PERSON ,THIRD-PERSON ,PAST-TENSE>>
|
||||
<NEW-ADD-WORD "WERE" TOBE <> <ORB ,FIRST-PERSON ,SECOND-PERSON ,THIRD-PERSON ,
|
||||
PAST-TENSE ,PLURAL-FLAG>>
|
||||
<NEW-ADD-WORD "WILL" TOBE <> ,FUTURE-TENSE>
|
||||
<NEW-ADD-WORD "SHALL" TOBE <> ,FUTURE-TENSE>
|
||||
<ADD-WORD "HOW" QWORD>
|
||||
<ADD-WORD "WHAT" QWORD>
|
||||
<ADD-WORD "WHEN" QWORD>
|
||||
<ADD-WORD "WHERE" QWORD>
|
||||
<ADD-WORD "WHO" QWORD>
|
||||
<ADD-WORD "WHY" QWORD>
|
||||
<DEFINE-ROUTINE RED-BE-FORM>
|
||||
<DEFINE-ROUTINE EXCH-4-5-Q>
|
||||
<DEFINE-ROUTINE RED-SBNN>
|
||||
<DEFINE-ROUTINE RED-SNBN>
|
||||
<DEFINE-ROUTINE DETERMINE-SUBJ>
|
||||
<DEFINE-ROUTINE RED-SBNA>
|
||||
<DEFINE-ROUTINE RED-SNBA>
|
||||
<OBJECT INTADJ (LOC GLOBAL-OBJECTS) (DESC "adjective") (SYNONYM L.G)>
|
||||
<DEFINE-ROUTINE RED-SBNP>
|
||||
<DEFINE-ROUTINE RED-SNBP>
|
||||
<DEFINE-ROUTINE RED-SNBAP>
|
||||
<DEFINE-ROUTINE P-PP-OBJ>
|
||||
<DEFINE-ROUTINE P-PP-PREP>
|
||||
<OBJECT INTPP (LOC GLOBAL-OBJECTS) (DESC "prep phrase") (SYNONYM L.G)>
|
||||
<DEFINE-ROUTINE RED-SQBN>
|
||||
<DEFINE-ROUTINE RED-BE>
|
||||
<DEFINE-ROUTINE RED-NOT>
|
||||
<NEW-ADD-WORD "CAN" CANDO <>>
|
||||
<NEW-ADD-WORD "COULD" CANDO <>>
|
||||
<NEW-ADD-WORD "DO" CANDO <>>
|
||||
<NEW-ADD-WORD "DOES" CANDO <VOC "DO"> <ORB ,THIRD-PERSON>>
|
||||
<NEW-ADD-WORD "DID" CANDO <VOC "DO"> ,PAST-TENSE>
|
||||
<NEW-ADD-WORD "MAY" CANDO <>>
|
||||
<NEW-ADD-WORD "MIGHT" CANDO <>>
|
||||
<NEW-ADD-WORD "WILL" CANDO <>>
|
||||
<NEW-ADD-WORD "SHALL" CANDO <VOC "WILL"> ,FUTURE-TENSE>
|
||||
<NEW-ADD-WORD "WOULD" CANDO <>>
|
||||
<NEW-ADD-WORD "SHOULD" CANDO <>>
|
||||
<NEW-ADD-WORD "MUST" CANDO <>>
|
||||
<DEFINE-ROUTINE RED-CANDO>
|
||||
<DEFINE-ROUTINE INSERT-WHAT>
|
||||
<END-SEGMENT>
|
||||
<ENDPACKAGE>
|
|
@ -0,0 +1,573 @@
|
|||
|
||||
.SEGMENT "0"
|
||||
|
||||
|
||||
.FUNCT RED-BE-FORM:ANY:0:2,N,TYP
|
||||
PUT PARSE-RESULT,2,TLEXV
|
||||
POP DATA-STACK
|
||||
PUT PARSE-RESULT,1,STACK
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT EXCH-4-5-Q:ANY:3:3,RED,N,TYP,X1,X2,X3,X4,X5
|
||||
POP DATA-STACK >X1
|
||||
POP DATA-STACK >X2
|
||||
POP DATA-STACK >X3
|
||||
POP DATA-STACK >X4
|
||||
POP DATA-STACK >X5
|
||||
EQUAL? N,6 \?CCL3
|
||||
DEC 'N
|
||||
POP DATA-STACK
|
||||
PUT PARSE-RESULT,10,STACK
|
||||
JUMP ?CND1
|
||||
?CCL3: PUT PARSE-RESULT,10,0
|
||||
?CND1: CALL2 PMEM?,X3
|
||||
ZERO? STACK /?CCL6
|
||||
XPUSH X3,DATA-STACK /?CND4
|
||||
JUMP ?CND4
|
||||
?CCL6: XPUSH X4,DATA-STACK /?CND4
|
||||
?CND4: XPUSH X5,DATA-STACK /?BOGUS9
|
||||
?BOGUS9: CALL2 PMEM?,X3
|
||||
ZERO? STACK /?CCL12
|
||||
XPUSH X4,DATA-STACK /?CND10
|
||||
JUMP ?CND10
|
||||
?CCL12: XPUSH X3,DATA-STACK /?CND10
|
||||
?CND10: XPUSH X2,DATA-STACK /?BOGUS15
|
||||
?BOGUS15: XPUSH X1,DATA-STACK /?BOGUS16
|
||||
?BOGUS16: GET PARSE-RESULT,16
|
||||
BOR PARSE-QUESTION,STACK
|
||||
PUT PARSE-RESULT,16,STACK
|
||||
CALL RED,N,TYP
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT RED-SBNN:ANY:0:2,N,TYP
|
||||
CALL EXCH-4-5-Q,RED-SNBN,N,TYP
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT RED-SNBN:ANY:0:2,N,TYP,OK,NPP,OBJ,VERB,X,?TMP1
|
||||
GET PARSE-RESULT,1 >VERB
|
||||
POP DATA-STACK >NPP
|
||||
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||
GET WORD-FLAG-TABLE,0
|
||||
INTBL? VERB,?TMP1,STACK,132 >X \?CCL6
|
||||
GET X,1
|
||||
JUMP ?CND4
|
||||
?CCL6: PUSH FALSE-VALUE
|
||||
?CND4: BTST STACK,1024 \?CCL3
|
||||
POP DATA-STACK
|
||||
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||
SET 'OK,TRUE-VALUE
|
||||
JUMP ?CND1
|
||||
?CCL3: POP DATA-STACK
|
||||
EQUAL? TRUE-VALUE,STACK \?CND1
|
||||
SET 'OK,TRUE-VALUE
|
||||
?CND1: ZERO? OK /FALSE
|
||||
CALL2 DETERMINE-SUBJ,VERB
|
||||
ZERO? STACK /FALSE
|
||||
CALL DETERMINE-OBJ,NPP,2 >OBJ
|
||||
ZERO? OBJ \?CCL19
|
||||
CALL PARSER-ERROR,0,PARSER-ERROR-NOOBJ,NPP
|
||||
RSTACK
|
||||
?CCL19: GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD26
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN24
|
||||
?PRD26: GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN24: BTST STACK,32768 /?CCL21
|
||||
GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD29
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN27
|
||||
?PRD29: GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN27: BAND STACK,256
|
||||
BAND STACK,32767
|
||||
ZERO? STACK \FALSE
|
||||
?CCL21: PUT PARSE-RESULT,6,OBJ
|
||||
RETURN PARSE-RESULT
|
||||
|
||||
|
||||
.FUNCT DETERMINE-SUBJ:ANY:1:3,VERB,SHORT,N1,DATA,TMP,OBJ1,?TMP1
|
||||
ZERO? SHORT \?CND1
|
||||
POP DATA-STACK
|
||||
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||
GET PARSE-RESULT,16
|
||||
BOR PARSE-NOT,STACK
|
||||
PUT PARSE-RESULT,16,STACK
|
||||
?CND1: POP DATA-STACK
|
||||
ZERO? SHORT /?CCL7
|
||||
POP DATA-STACK >TMP
|
||||
PUT PARSE-RESULT,10,TMP
|
||||
JUMP ?CND5
|
||||
?CCL7: GET PARSE-RESULT,10 >TMP
|
||||
?CND5: EQUAL? TMP,0,1 /?CCL9
|
||||
GET TMP,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD16
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN14
|
||||
?PRD16: GET TMP,3
|
||||
GET STACK,4
|
||||
?PEN14: BTST STACK,32768 /?CCL9
|
||||
GET TMP,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD19
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN17
|
||||
?PRD19: GET TMP,3
|
||||
GET STACK,4
|
||||
?PEN17: BAND STACK,256
|
||||
BAND STACK,32767
|
||||
ZERO? STACK \?CND8
|
||||
?CCL9: GET PARSE-RESULT,16
|
||||
BTST STACK,2 \?CCL22
|
||||
SET 'TMP,W?BE?
|
||||
JUMP ?CND8
|
||||
?CCL22: SET 'TMP,W?BE
|
||||
?CND8: GET TMP,3 >DATA
|
||||
ZERO? SHORT /?CCL28
|
||||
GET DATA,2 >TMP
|
||||
JUMP ?CND26
|
||||
?CCL28: GET DATA,3 >TMP
|
||||
?CND26: ZERO? TMP \?CCL25
|
||||
CALL PARSER-ERROR,0,PARSER-ERROR-TMNOUN
|
||||
RSTACK
|
||||
?CCL25: CALL GET-SYNTAX,TMP,1,1 >TMP
|
||||
ZERO? TMP \?CCL30
|
||||
CALL PARSER-ERROR,0,PARSER-ERROR-NOUND
|
||||
RSTACK
|
||||
?CCL30: ZERO? N1 /?PRD35
|
||||
PUSH N1
|
||||
JUMP ?PEN33
|
||||
?PRD35: POP DATA-STACK >N1
|
||||
PUSH N1
|
||||
?PEN33: CALL DETERMINE-OBJ,STACK,1 >OBJ1
|
||||
ZERO? OBJ1 \?CCL32
|
||||
CALL PARSER-ERROR,0,PARSER-ERROR-NOOBJ,N1
|
||||
RSTACK
|
||||
?CCL32: PUT PARSE-RESULT,5,OBJ1
|
||||
GET TMP,0
|
||||
PUT PARSE-RESULT,4,STACK
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT RED-SBNA:ANY:0:2,N,TYP
|
||||
CALL EXCH-4-5-Q,RED-SNBA,N,TYP
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT RED-SNBA:ANY:0:2,N,TYP,OK,ADJ,VERB,X,?TMP1
|
||||
GET PARSE-RESULT,1 >VERB
|
||||
POP DATA-STACK >ADJ
|
||||
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||
GET WORD-FLAG-TABLE,0
|
||||
INTBL? VERB,?TMP1,STACK,132 >X \?CCL6
|
||||
GET X,1
|
||||
JUMP ?CND4
|
||||
?CCL6: PUSH FALSE-VALUE
|
||||
?CND4: BTST STACK,1024 \?CCL3
|
||||
POP DATA-STACK
|
||||
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||
SET 'OK,TRUE-VALUE
|
||||
JUMP ?CND1
|
||||
?CCL3: POP DATA-STACK
|
||||
EQUAL? TRUE-VALUE,STACK \?CND1
|
||||
SET 'OK,TRUE-VALUE
|
||||
?CND1: ZERO? OK /FALSE
|
||||
CALL2 DETERMINE-SUBJ,VERB
|
||||
ZERO? STACK /FALSE
|
||||
GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD24
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN22
|
||||
?PRD24: GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN22: BTST STACK,32768 /?CCL19
|
||||
GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD27
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN25
|
||||
?PRD27: GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN25: BAND STACK,256
|
||||
BAND STACK,32767
|
||||
ZERO? STACK \FALSE
|
||||
?CCL19: CALL DO-PMEM-ALLOC,4,NOUN-PHRASE-MIN-LENGTH >X
|
||||
PUT X,1,1
|
||||
PUT X,3,INTADJ
|
||||
PUT PARSE-RESULT,6,X
|
||||
PUT PARSE-RESULT,11,ADJ
|
||||
RETURN PARSE-RESULT
|
||||
|
||||
|
||||
.FUNCT RED-SBNP:ANY:0:2,N,TYP
|
||||
CALL EXCH-4-5-Q,RED-SNBP,N,TYP
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT RED-SNBP:ANY:0:2,N,TYP,OK,PP,VERB,X,?TMP1
|
||||
GET PARSE-RESULT,1 >VERB
|
||||
POP DATA-STACK >PP
|
||||
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||
GET WORD-FLAG-TABLE,0
|
||||
INTBL? VERB,?TMP1,STACK,132 >X \?CCL6
|
||||
GET X,1
|
||||
JUMP ?CND4
|
||||
?CCL6: PUSH FALSE-VALUE
|
||||
?CND4: BTST STACK,1024 \?CCL3
|
||||
POP DATA-STACK
|
||||
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||
SET 'OK,TRUE-VALUE
|
||||
JUMP ?CND1
|
||||
?CCL3: POP DATA-STACK
|
||||
EQUAL? TRUE-VALUE,STACK \?CND1
|
||||
SET 'OK,TRUE-VALUE
|
||||
?CND1: ZERO? OK /FALSE
|
||||
CALL2 DETERMINE-SUBJ,VERB
|
||||
ZERO? STACK /FALSE
|
||||
GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD25
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN23
|
||||
?PRD25: GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN23: BTST STACK,32768 /?CCL20
|
||||
GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD28
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN26
|
||||
?PRD28: GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN26: BAND STACK,256
|
||||
BAND STACK,32767
|
||||
ZERO? STACK \FALSE
|
||||
?CCL20: CALL DO-PMEM-ALLOC,4,NOUN-PHRASE-MIN-LENGTH >X
|
||||
PUT X,1,1
|
||||
PUT X,3,INTPP
|
||||
PUT PARSE-RESULT,6,X
|
||||
GET PARSE-RESULT,3
|
||||
CALL REDUCE-LOCATION,PP,STACK,2 >OK
|
||||
ZERO? OK /?CCL31
|
||||
PUT PARSE-RESULT,9,OK
|
||||
RETURN PARSE-RESULT
|
||||
?CCL31: PUT PARSE-RESULT,9,PP
|
||||
RETURN PARSE-RESULT
|
||||
|
||||
|
||||
.FUNCT RED-SNBAP:ANY:0:2,N,TYP,OK,ADJ,PP,VERB,X,?TMP1
|
||||
GET PARSE-RESULT,1 >VERB
|
||||
POP DATA-STACK >PP
|
||||
POP DATA-STACK >ADJ
|
||||
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||
GET WORD-FLAG-TABLE,0
|
||||
INTBL? VERB,?TMP1,STACK,132 >X \?CCL6
|
||||
GET X,1
|
||||
JUMP ?CND4
|
||||
?CCL6: PUSH FALSE-VALUE
|
||||
?CND4: BTST STACK,1024 \?CCL3
|
||||
POP DATA-STACK
|
||||
EQUAL? TRUE-VALUE,STACK /?CND1
|
||||
SET 'OK,TRUE-VALUE
|
||||
JUMP ?CND1
|
||||
?CCL3: POP DATA-STACK
|
||||
EQUAL? TRUE-VALUE,STACK \?CND1
|
||||
SET 'OK,TRUE-VALUE
|
||||
?CND1: ZERO? OK /FALSE
|
||||
CALL2 DETERMINE-SUBJ,VERB
|
||||
ZERO? STACK /FALSE
|
||||
GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD25
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN23
|
||||
?PRD25: GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN23: BTST STACK,32768 /?CCL20
|
||||
GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD28
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN26
|
||||
?PRD28: GET PARSE-RESULT,5
|
||||
GET STACK,4
|
||||
GET STACK,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN26: BAND STACK,256
|
||||
BAND STACK,32767
|
||||
ZERO? STACK \FALSE
|
||||
?CCL20: CALL DO-PMEM-ALLOC,4,4 >X
|
||||
PUT X,1,1
|
||||
PUT X,3,INTPP
|
||||
SET 'OK,X
|
||||
PUT PARSE-RESULT,6,OK
|
||||
GET PARSE-RESULT,3
|
||||
CALL REDUCE-LOCATION,PP,STACK,2 >OK
|
||||
ZERO? OK /?CCL31
|
||||
PUT PARSE-RESULT,9,OK
|
||||
JUMP ?CND29
|
||||
?CCL31: GET PP,2
|
||||
CALL2 DETERMINE-OBJ,STACK >OK
|
||||
ZERO? OK /?CND32
|
||||
PUT PP,2,OK
|
||||
PUTB PP,1,PMEM-TYPE-LOCATION
|
||||
?CND32: PUT PARSE-RESULT,9,PP
|
||||
?CND29: PUT PARSE-RESULT,11,ADJ
|
||||
RETURN PARSE-RESULT
|
||||
|
||||
|
||||
.FUNCT P-PP-OBJ:ANY:0:0,TMP
|
||||
GET PARSE-RESULT,9 >TMP
|
||||
ZERO? TMP /FALSE
|
||||
GETB TMP,1
|
||||
EQUAL? STACK,6 \FALSE
|
||||
GET TMP,2 >TMP
|
||||
ZERO? TMP /FALSE
|
||||
GET TMP,3
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT P-PP-PREP:ANY:0:0,TMP
|
||||
GET PARSE-RESULT,9 >TMP
|
||||
ZERO? TMP /FALSE
|
||||
GET TMP,1
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT RED-SQBN:ANY:0:2,N,TYP,?TMP1
|
||||
GET PARSE-RESULT,1 >?TMP1
|
||||
POP DATA-STACK
|
||||
CALL DETERMINE-SUBJ,?TMP1,TRUE-VALUE,STACK
|
||||
ZERO? STACK /FALSE
|
||||
RETURN PARSE-RESULT
|
||||
|
||||
|
||||
.FUNCT RED-BE:ANY:0:2,N,TYP,E
|
||||
EQUAL? N,1 \TRUE
|
||||
POP DATA-STACK >E
|
||||
EQUAL? W?BE,E \FALSE
|
||||
RETURN E
|
||||
|
||||
|
||||
.FUNCT RED-NOT:ANY:0:2,N,TYP,E
|
||||
EQUAL? N,1 \TRUE
|
||||
POP DATA-STACK >E
|
||||
EQUAL? W?NOT,E \FALSE
|
||||
RETURN E
|
||||
|
||||
|
||||
.FUNCT RED-CANDO:ANY:0:2,N,TYP,TMP,OBJ,SUBJ,WD,END,?TMP1
|
||||
ZERO? N /TRUE
|
||||
EQUAL? N,1 \?CCL5
|
||||
POP DATA-STACK >SUBJ
|
||||
GET SUBJ,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD13
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN11
|
||||
?PRD13: GET SUBJ,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN11: BTST STACK,32768 /?CCL8
|
||||
GET SUBJ,2
|
||||
GET STACK,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD16
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN14
|
||||
?PRD16: GET SUBJ,2
|
||||
GET STACK,3
|
||||
GET STACK,4
|
||||
?PEN14: BAND STACK,256
|
||||
BAND STACK,32767
|
||||
ZERO? STACK \FALSE
|
||||
?CCL8: CALL2 DETERMINE-OBJ,SUBJ >OBJ
|
||||
ZERO? OBJ \?CCL19
|
||||
CALL PARSER-ERROR,0,PARSER-ERROR-NOOBJ,SUBJ
|
||||
RSTACK
|
||||
?CCL19: GET OBJ,1
|
||||
EQUAL? STACK,1 \FALSE
|
||||
GET OBJ,3
|
||||
FSET? STACK,PERSONBIT \FALSE
|
||||
PUT PARSE-RESULT,13,OBJ
|
||||
RTRUE
|
||||
?CCL5: POP DATA-STACK >SUBJ
|
||||
CALL2 PMEM?,SUBJ
|
||||
ZERO? STACK /?CCL26
|
||||
POP DATA-STACK
|
||||
GET PARSE-RESULT,16
|
||||
BOR PARSE-NOT,STACK
|
||||
PUT PARSE-RESULT,16,STACK
|
||||
JUMP ?CND24
|
||||
?CCL26: EQUAL? TRUE-VALUE,SUBJ /?CND27
|
||||
GET PARSE-RESULT,16
|
||||
BOR PARSE-NOT,STACK
|
||||
PUT PARSE-RESULT,16,STACK
|
||||
?CND27: POP DATA-STACK >SUBJ
|
||||
EQUAL? N,3 \?CND24
|
||||
PUT PARSE-RESULT,14,SUBJ
|
||||
?CND24: POP DATA-STACK >TMP
|
||||
EQUAL? N,3 \?CCL33
|
||||
SET 'SUBJ,TMP
|
||||
GET PARSE-RESULT,14 >TMP
|
||||
JUMP ?CND31
|
||||
?CCL33: GET PARSE-RESULT,16
|
||||
BOR PARSE-QUESTION,STACK
|
||||
PUT PARSE-RESULT,16,STACK
|
||||
PUT PARSE-RESULT,14,TMP
|
||||
?CND31: GET TMP,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD42
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN40
|
||||
?PRD42: GET TMP,3
|
||||
GET STACK,4
|
||||
?PEN40: BTST STACK,32768 /?PRD37
|
||||
GET TMP,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD45
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN43
|
||||
?PRD45: GET TMP,3
|
||||
GET STACK,4
|
||||
?PEN43: BAND STACK,1
|
||||
BAND STACK,32767
|
||||
ZERO? STACK \?CND34
|
||||
?PRD37: GET TMP,3 >OBJ
|
||||
ZERO? OBJ /?CND34
|
||||
SET 'TMP,OBJ
|
||||
?CND34: GET TMP,3
|
||||
GET STACK,2 >TMP
|
||||
ZERO? TMP \?CCL48
|
||||
CALL PARSER-ERROR,0,PARSER-ERROR-TMNOUN
|
||||
RSTACK
|
||||
?CCL48: CALL GET-SYNTAX,TMP,1,1 >TMP
|
||||
ZERO? TMP \?CCL50
|
||||
CALL PARSER-ERROR,0,PARSER-ERROR-NOUND
|
||||
RSTACK
|
||||
?CCL50: CALL DETERMINE-OBJ,SUBJ,1 >OBJ
|
||||
ZERO? OBJ \?CCL52
|
||||
CALL PARSER-ERROR,0,PARSER-ERROR-NOOBJ,SUBJ
|
||||
RSTACK
|
||||
?CCL52: PUT PARSE-RESULT,13,OBJ
|
||||
PUT PARSE-RESULT,15,TMP
|
||||
EQUAL? N,3 /TRUE
|
||||
POP DATA-STACK >TMP
|
||||
EQUAL? TRUE-VALUE,TMP \?CCL57
|
||||
PUSH 0
|
||||
JUMP ?CND55
|
||||
?CCL57: PUSH TMP
|
||||
?CND55: PUT PARSE-RESULT,10,STACK
|
||||
EQUAL? TMP,W?WHAT,W?WHO \TRUE
|
||||
INTBL? W?PERIOD,TLEXV,P-LEN,132 >SUBJ /?BOGUS60
|
||||
?BOGUS60: ZERO? SUBJ \?CND61
|
||||
INTBL? W?THEN,TLEXV,P-LEN,132 >SUBJ /?CND61
|
||||
?CND61: ZERO? SUBJ \?CND64
|
||||
INTBL? W??,TLEXV,P-LEN,132 >SUBJ /?CND64
|
||||
?CND64: ZERO? SUBJ \?CND67
|
||||
SUB P-LEN,1
|
||||
MUL STACK,4
|
||||
ADD TLEXV,STACK >SUBJ
|
||||
?CND67: SET 'END,4
|
||||
?PRG69: GET SUBJ,0 >WD
|
||||
EQUAL? TMP,WD /TRUE
|
||||
GET WD,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD80
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN78
|
||||
?PRD80: GET WD,3
|
||||
GET STACK,4
|
||||
?PEN78: BTST STACK,32768 /?CCL75
|
||||
GET WD,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD83
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN81
|
||||
?PRD83: GET WD,3
|
||||
GET STACK,4
|
||||
?PEN81: BAND STACK,1
|
||||
BAND STACK,32767
|
||||
ZERO? STACK /?CCL75
|
||||
ADD SUBJ,4
|
||||
ICALL INSERT-WHAT,TMP,STACK
|
||||
RTRUE
|
||||
?CCL75: GET WD,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD90
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN88
|
||||
?PRD90: GET WD,3
|
||||
GET STACK,4
|
||||
?PEN88: BTST STACK,32768 /?CCL85
|
||||
GET WD,4 >?TMP1
|
||||
ZERO? ?TMP1 /?PRD93
|
||||
PUSH ?TMP1
|
||||
JUMP ?PEN91
|
||||
?PRD93: GET WD,3
|
||||
GET STACK,4
|
||||
?PEN91: BAND STACK,2048
|
||||
BAND STACK,32767
|
||||
ZERO? STACK /?CCL85
|
||||
ADD SUBJ,END
|
||||
ICALL INSERT-WHAT,TMP,STACK
|
||||
RTRUE
|
||||
?CCL85: SUB SUBJ,4 >SUBJ
|
||||
GRTR? TLEXV,SUBJ \?PRG69
|
||||
SET 'END,0
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT INSERT-WHAT:ANY:2:2,TMP,SUBJ
|
||||
SUB SUBJ,4
|
||||
GET STACK,0
|
||||
EQUAL? TMP,STACK /FALSE
|
||||
SUB SUBJ,P-LEXV
|
||||
DIV STACK,2
|
||||
ICALL INSERT-ADJS-WD,STACK,TMP
|
||||
INC 'P-OLEN
|
||||
ICALL2 COPY-INPUT,1
|
||||
SET 'P-OFLAG,0
|
||||
RTRUE
|
||||
|
||||
.ENDSEG
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,44 @@
|
|||
"DEFS for MILLIWAYS
|
||||
Copyright (c) 1988 Infocom, Inc. All rights reserved."
|
||||
|
||||
<ADD-TELL-TOKENS A * <PRINTA .X>>
|
||||
|
||||
<REPLACE-DEFINITION ADJ-USED? T>
|
||||
<DELAY-DEFINITION CAPITAL-NOUN?>
|
||||
<REPLACE-DEFINITION DIR-VERB-PRSI?
|
||||
<ROUTINE DIR-VERB-PRSI? (NP) <>>>
|
||||
<REPLACE-DEFINITION NO-M-WINNER-VERB?
|
||||
<ROUTINE NO-M-WINNER-VERB? () <>>>
|
||||
<REPLACE-DEFINITION OWNERS
|
||||
<CONSTANT OWNERS <TABLE (PURE LENGTH) PLAYER FORD>>>
|
||||
<REPLACE-DEFINITION PLURAL <CONSTANT PLURAL PLURALBIT>>
|
||||
<REPLACE-DEFINITION PRINT-INTQUOTE T>
|
||||
<DELAY-DEFINITION PRSO-VERB?>
|
||||
<DELAY-DEFINITION PRSI-VERB?>
|
||||
<DELAY-DEFINITION SEE-VERB?>
|
||||
<REPLACE-DEFINITION SETUP-ORPHAN T>
|
||||
<DELAY-DEFINITION SPEAKING-VERB?>
|
||||
|
||||
<COMPILATION-FLAG P-PS-COMMA T>
|
||||
<COMPILATION-FLAG P-PS-APOSTR T>
|
||||
<COMPILATION-FLAG P-PS-OFWORD T>
|
||||
<COMPILATION-FLAG P-PS-THEWORD T>
|
||||
<COMPILATION-FLAG P-PS-QUOTE T>
|
||||
|
||||
<INCLUDE "SYMBOLS">
|
||||
<TERMINALS (VERB 6) (NOUN 4) (ADJ 5)
|
||||
ADV QUANT MISCWORD
|
||||
(DIR 1) TOBE QWORD CANDO COMMA
|
||||
(PARTICLE 3) (PREP 2) ASKWORD ;PRONOUN
|
||||
APOSTR OFWORD ARTICLE
|
||||
QUOTE>
|
||||
|
||||
<DIRECTIONS NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
|
||||
|
||||
<OBJECT INTDIR
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "direction")
|
||||
(SYNONYM NORTH NE EAST SE SOUTH SW WEST NW)>
|
||||
|
||||
<DEFMAC PROB ('BASE?)
|
||||
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
|
|
@ -0,0 +1,65 @@
|
|||
<FLAGS-AND-DEFAULTS (("ONE-BYTE-PARTS-OF-SPEECH" %<>)("WORD-FLAGS-IN-TABLE" T)(
|
||||
"IN-ZILCH" T)) ()>
|
||||
|
||||
<ZZSECTION "FIND">
|
||||
<INCLUDE "BASEDEFS" "PDEFS" "PBITDEFS">
|
||||
<USE "NEWSTRUC" "PARSER" "PMEM">
|
||||
<BLOCK (<ROOT>)>
|
||||
THINGS
|
||||
<ENDBLOCK>
|
||||
<FILE-FLAGS MDL-ZIL? CLEAN-STACK?>
|
||||
<DEFAULTS-DEFINED EXCLUDE-HERE-OBJECT? INVALID-OBJECT? MOBY-FIND?
|
||||
LAST-PSEUDO-LOC PSEUDO-OBJECTS SEARCH-IN-LG?>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<PUT-DECL BOOLEAN '<OR ATOM FALSE>>
|
||||
<DEFMAC FD-FLAG (WHICH 'VAL "OPT" 'NEW) <COND (<ASSIGNED? NEW> <COND (<OR <
|
||||
TYPE? .NEW ATOM FALSE> <AND <TYPE? .NEW FORM> <EMPTY? .NEW>>> <COND (<TYPE? .
|
||||
NEW ATOM> <FORM ORB ,.WHICH .VAL>) (T <FORM ANDB .VAL <XORB ,.WHICH -1>>)>) (<
|
||||
TYPE? .VAL FIX LVAL GVAL> <FORM COND (.NEW <FORM ORB .VAL ,.WHICH>) (T <FORM
|
||||
ANDB .VAL <XORB ,.WHICH -1>>)>) (T <FORM BIND ((FLAG .VAL)) <FORM COND (.NEW <
|
||||
FORM ORB ,.WHICH '.FLAG>) (T <FORM ANDB '.FLAG <XORB ,.WHICH -1>>)>>)>) (T <
|
||||
FORM NOT <FORM 0? <FORM ANDB .VAL ,.WHICH>>>)>>
|
||||
<CONSTANT FIND-FLAGS-GWIM 1>
|
||||
<DEFMAC FIND-GWIM? ('F) <FORM NOT <FORM 0? <FORM ANDB <FORM FIND-FLAGS .F> ,
|
||||
FIND-FLAGS-GWIM>>>>
|
||||
<CONSTANT FINDER <MAKE-FINDER>>
|
||||
<GLOBAL P-NOT-HERE:NUMBER 0>
|
||||
<DEFINE-ROUTINE FIND-DESCENDANTS>
|
||||
<DEFINE-ROUTINE EXCLUDED?>
|
||||
<DEFAULT-DEFINITION INVALID-OBJECT? <ROUTINE INVALID-OBJECT?>>
|
||||
<DEFINE-ROUTINE MATCH-OBJECT>
|
||||
<CONSTANT SYN-FIND-PROP 256>
|
||||
<DEFINE-ROUTINE TEST-OBJECT>
|
||||
<DEFINE-ROUTINE ADD-OBJECT>
|
||||
<DEFINE-ROUTINE NOT-IN-FIND-RES?>
|
||||
<DEFINE-ROUTINE EVERYWHERE-VERB?>
|
||||
<DEFINE-ROUTINE MULTIPLE-EXCEPTION?>
|
||||
<ADD-WORD OPEN ADJ>
|
||||
<ADD-WORD CLOSED ADJ>
|
||||
<ADD-WORD SHUT ADJ>
|
||||
<DEFINE-ROUTINE CHECK-ADJS-THERE?>
|
||||
<DEFINE-ROUTINE CHECK-ADJS>
|
||||
<OBJECT GENERIC-OBJECTS (ADJACENT 0)>
|
||||
<DEFAULT-DEFINITION MOBY-FIND? <DEFMAC MOBY-FIND? ('SEARCH) <FORM OR <FORM AND
|
||||
<FORM BAND .SEARCH ',SEARCH-MOBY> <FORM 0? <FORM BAND .SEARCH ',
|
||||
SEARCH-MUST-HAVE>>> <FORM BAND ',PAST-TENSE <FORM WORD-FLAGS <FORM PARSE-VERB '
|
||||
,PARSE-RESULT>>>>>>
|
||||
<DEFAULT-DEFINITION SEARCH-IN-LG? <ROUTINE SEARCH-IN-LG?>>
|
||||
<DEFAULT-DEFINITION EXCLUDE-HERE-OBJECT? <ROUTINE EXCLUDE-HERE-OBJECT?>>
|
||||
<DEFINE-ROUTINE FIND-OBJECTS>
|
||||
<DEFAULT-DEFINITION PSEUDO-OBJECTS <PUTPROP THINGS PROPSPEC HACK-PSEUDOS> <
|
||||
DEFINE20 HACK-PSEUDOS (LIST "AUX" (N 0) (CT 0)) <SET LIST <REST .LIST>> <SET
|
||||
LIST <MAPR ,LIST <FUNCTION (X "AUX" L (ACT 0) (NCT 0)) <COND (<0? .N> <SET CT <
|
||||
+ .CT 1>> <SET N 1> <COND (<TYPE? <1 .X> ATOM> <SET ACT 1>) (<TYPE? <1 .X> LIST
|
||||
> <SET ACT <LENGTH <1 .X>>>) (T <SET ACT 0>)> <COND (<LENGTH? .X 1>) (<TYPE? <2
|
||||
.X> ATOM> <SET NCT 1>) (<TYPE? <2 .X> LIST> <SET NCT <LENGTH <2 .X>>>) (T <SET
|
||||
NCT 0>)> <TABLE (PURE) <BYTE .ACT> <BYTE .NCT> <COND (<0? .ACT> 0) (<==? .ACT 1
|
||||
> <VOC <SPNAME <1 .X>> ADJ>) (T <EVAL <CHTYPE (TABLE (PURE) !<MAPF ,LIST <
|
||||
FUNCTION (Y) <VOC <SPNAME .Y> ADJ>> <1 .X>!>) FORM>>)> <COND (<0? .NCT> 0) (<
|
||||
==? .NCT 1> <VOC <SPNAME <2 .X>> NOUN>) (T <EVAL <CHTYPE (TABLE (PURE) !<MAPF ,
|
||||
LIST <FUNCTION (Y) <VOC <SPNAME .Y> NOUN>> <2 .X>!>) FORM>>)>>) (<1? .N> <SET N
|
||||
2> <MAPRET>) (T <SET N 0> <1 .X>)>> .LIST>> (<> <EVAL <CHTYPE (TABLE (PURE) .CT
|
||||
!.LIST) FORM>>)> <ROUTINE TEST-THINGS> <GLOBAL LAST-PSEUDO-LOC:OBJECT <>> <
|
||||
OBJECT PSEUDO-OBJECT (LOC LOCAL-GLOBALS) (DESC "pseudoxxx") (ACTION 0)>>
|
||||
<END-SEGMENT>
|
||||
<END-DEFINITIONS>
|
|
@ -0,0 +1,597 @@
|
|||
|
||||
.SEGMENT "0"
|
||||
|
||||
|
||||
.FUNCT FIND-DESCENDANTS:ANY:2:2,PARENT,FLAGS,F,FOBJ
|
||||
SET 'F,FINDER
|
||||
EQUAL? PARENT,GLOBAL-HERE \?CND1
|
||||
SET 'PARENT,HERE
|
||||
?CND1: FIRST? PARENT >FOBJ \TRUE
|
||||
?PRG6: CALL2 VISIBLE?,FOBJ
|
||||
ZERO? STACK /?CND8
|
||||
BTST FLAGS,8 /?CND10
|
||||
BTST FLAGS,1 \?PRF16
|
||||
PUSH 1
|
||||
JUMP ?PEN14
|
||||
?PRF16: PUSH 0
|
||||
?PEN14: CALL MATCH-OBJECT,FOBJ,F,STACK
|
||||
ZERO? STACK /FALSE
|
||||
?CND10: BTST FLAGS,4 \?CND8
|
||||
FIRST? FOBJ \?CND8
|
||||
EQUAL? FOBJ,WINNER /?CND8
|
||||
FSET? FOBJ,SEARCHBIT \?PRD24
|
||||
FSET? FOBJ,OPENBIT /?CCL18
|
||||
FSET? FOBJ,TRANSBIT /?CCL18
|
||||
?PRD24: FSET? FOBJ,SURFACEBIT \?CND8
|
||||
?CCL18: BTST FLAGS,1 \?CCL33
|
||||
PUSH 5
|
||||
JUMP ?CND31
|
||||
?CCL33: PUSH 4
|
||||
?CND31: CALL FIND-DESCENDANTS,FOBJ,STACK
|
||||
ZERO? STACK /FALSE
|
||||
?CND8: NEXT? FOBJ >FOBJ /?PRG6
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT EXCLUDED?:ANY:2:2,FOBJ,F,EXC,PHRASE,CT,VEC,VV
|
||||
GET F,8 >EXC
|
||||
ZERO? EXC /FALSE
|
||||
GET EXC,3 >PHRASE
|
||||
GET PHRASE,1 >CT
|
||||
ADD PHRASE,6 >VEC
|
||||
?PRG6: DLESS? 'CT,0 \?CND8
|
||||
SET 'VV,FALSE-VALUE
|
||||
JUMP ?REP7
|
||||
?CND8: GET VEC,0
|
||||
EQUAL? FOBJ,STACK \?CND10
|
||||
SET 'VV,TRUE-VALUE
|
||||
?REP7: ZERO? VV \TRUE
|
||||
GET EXC,1 >EXC
|
||||
ZERO? EXC /FALSE
|
||||
GET EXC,3 >PHRASE
|
||||
GET PHRASE,1 >CT
|
||||
ADD PHRASE,6 >VEC
|
||||
JUMP ?PRG6
|
||||
?CND10: ADD VEC,4 >VEC
|
||||
JUMP ?PRG6
|
||||
|
||||
|
||||
.FUNCT INVALID-OBJECT?:ANY:1:1,OBJ
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT MATCH-OBJECT:ANY:3:3,FOBJ,F,INCLUDE?,NOUN,ADJS,APP,TB,RES,?TMP1
|
||||
GET F,9 >RES
|
||||
FSET? FOBJ,INVISIBLE /TRUE
|
||||
GET F,6 >NOUN
|
||||
EQUAL? NOUN,FALSE-VALUE,W?ONE /?PRD6
|
||||
GETPT FOBJ,P?SYNONYM >TB
|
||||
ZERO? TB /TRUE
|
||||
PTSIZE TB
|
||||
DIV STACK,2
|
||||
INTBL? NOUN,TB,STACK \TRUE
|
||||
?PRD6: GET F,7 >ADJS
|
||||
ZERO? ADJS /?PRD11
|
||||
CALL CHECK-ADJS,FOBJ,F,ADJS
|
||||
ZERO? STACK /TRUE
|
||||
?PRD11: GET F,5 >ADJS
|
||||
ZERO? ADJS /?PRD14
|
||||
CALL CHECK-ADJS,FOBJ,F,ADJS
|
||||
ZERO? STACK /TRUE
|
||||
?PRD14: CALL EXCLUDED?,FOBJ,F
|
||||
ZERO? STACK \TRUE
|
||||
GET F,1
|
||||
BTST STACK,1 /?CTR2
|
||||
CALL2 INVALID-OBJECT?,FOBJ
|
||||
ZERO? STACK \TRUE
|
||||
?CTR2: ZERO? INCLUDE? /TRUE
|
||||
GET F,5 >ADJS
|
||||
ZERO? ADJS /?CCL24
|
||||
GET ADJS,4 >?TMP1
|
||||
GETPT FOBJ,P?ADJECTIVE
|
||||
PTSIZE STACK
|
||||
DIV STACK,2
|
||||
EQUAL? ?TMP1,STACK \?CCL24
|
||||
PUT RES,1,1
|
||||
PUT RES,2,FALSE-VALUE
|
||||
PUT RES,4,FOBJ
|
||||
EQUAL? FOBJ,HERE \FALSE
|
||||
PUT RES,4,GLOBAL-HERE
|
||||
RFALSE
|
||||
?CCL24: GET F,0 >APP
|
||||
ZERO? APP /?CCL31
|
||||
GET F,1
|
||||
BTST STACK,1 /?CCL31
|
||||
GET RES,1
|
||||
ZERO? STACK /?CTR35
|
||||
GET F,2
|
||||
ZERO? STACK /?CCL36
|
||||
?CTR35: CALL ADD-OBJECT,FOBJ,F
|
||||
RSTACK
|
||||
?CCL36: CALL TEST-OBJECT,FOBJ,APP,F
|
||||
ZERO? STACK /FALSE
|
||||
GET RES,1
|
||||
EQUAL? STACK,1 \?CCL43
|
||||
GET RES,4
|
||||
CALL TEST-OBJECT,STACK,APP,F
|
||||
ZERO? STACK \?CCL46
|
||||
PUT RES,4,FOBJ
|
||||
EQUAL? FOBJ,HERE \TRUE
|
||||
PUT RES,4,GLOBAL-HERE
|
||||
RTRUE
|
||||
?CCL46: CALL ADD-OBJECT,FOBJ,F
|
||||
RSTACK
|
||||
?CCL43: CALL ADD-OBJECT,FOBJ,F
|
||||
RSTACK
|
||||
?CCL31: ZERO? APP \?CCL50
|
||||
GET F,1
|
||||
BTST STACK,1 \?CTR52
|
||||
GET F,2
|
||||
ZERO? STACK /TRUE
|
||||
?CTR52: CALL ADD-OBJECT,FOBJ,F
|
||||
RSTACK
|
||||
?CCL50: CALL TEST-OBJECT,FOBJ,APP,F
|
||||
ZERO? STACK /TRUE
|
||||
CALL ADD-OBJECT,FOBJ,F
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT TEST-OBJECT:ANY:3:3,FOBJ,APP,F,N,NN,?TMP1
|
||||
BAND APP,65280
|
||||
ZERO? STACK \?CCL3
|
||||
BTST APP,128 \?CCL6
|
||||
BAND APP,63
|
||||
FSET? FOBJ,STACK /FALSE
|
||||
RTRUE
|
||||
?CCL6: FSET? FOBJ,APP /TRUE
|
||||
RFALSE
|
||||
?CCL3: GET APP,1
|
||||
BTST STACK,256 \?CND12
|
||||
GET APP,1
|
||||
BAND STACK,63
|
||||
GETP FOBJ,STACK >?TMP1
|
||||
GET APP,2
|
||||
EQUAL? ?TMP1,STACK /TRUE
|
||||
RFALSE
|
||||
?CND12: GET APP,0 >N
|
||||
?PRG17: GET APP,N >NN
|
||||
BTST NN,128 \?CCL21
|
||||
BAND NN,63
|
||||
FSET? FOBJ,STACK /?CND19
|
||||
RTRUE
|
||||
?CCL21: FSET? FOBJ,NN /TRUE
|
||||
?CND19: DLESS? 'N,1 \?PRG17
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT ADD-OBJECT:ANY:2:2,OBJ,F,VEC,NC,DOIT?,SYN,WHICH,?TMP1
|
||||
GET F,9 >VEC
|
||||
SET 'DOIT?,TRUE-VALUE
|
||||
GET F,3 >SYN
|
||||
GET F,4 >WHICH
|
||||
EQUAL? OBJ,HERE \?CND1
|
||||
SET 'OBJ,GLOBAL-HERE
|
||||
?CND1: GET F,2
|
||||
ZERO? STACK \?CND3
|
||||
ZERO? SYN /?CND3
|
||||
GET VEC,1
|
||||
EQUAL? 1,STACK \?CND3
|
||||
CALL MULTIPLE-EXCEPTION?,OBJ,SYN,WHICH,F
|
||||
ZERO? STACK /?CCL10
|
||||
SET 'DOIT?,FALSE-VALUE
|
||||
JUMP ?CND3
|
||||
?CCL10: GET VEC,4
|
||||
CALL MULTIPLE-EXCEPTION?,STACK,SYN,WHICH,F
|
||||
ZERO? STACK /?CND3
|
||||
PUT VEC,4,OBJ
|
||||
SET 'DOIT?,FALSE-VALUE
|
||||
?CND3: ZERO? DOIT? /TRUE
|
||||
GET F,2
|
||||
ZERO? STACK /?PRD17
|
||||
GET F,3
|
||||
ZERO? STACK /?PRD17
|
||||
GET F,3 >?TMP1
|
||||
GET F,4
|
||||
CALL MULTIPLE-EXCEPTION?,OBJ,?TMP1,STACK,F
|
||||
ZERO? STACK \TRUE
|
||||
?PRD17: CALL NOT-IN-FIND-RES?,OBJ,VEC >WHICH
|
||||
ZERO? WHICH /TRUE
|
||||
GET VEC,1
|
||||
ADD 1,STACK
|
||||
PUT VEC,1,STACK
|
||||
PUT WHICH,0,OBJ
|
||||
GET F,2
|
||||
EQUAL? STACK,NP-QUANT-A /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT NOT-IN-FIND-RES?:ANY:2:3,OBJ,VEC,NO-CHANGE?,CT,SZ,ANS,NVEC,NEW-OBJECT
|
||||
GET VEC,1 >CT
|
||||
GET VEC,0 >SZ
|
||||
?PRG1: ADD VEC,8 >ANS
|
||||
LESS? CT,1 \?CCL5
|
||||
RETURN ANS
|
||||
?CCL5: GRTR? CT,SZ \?CCL7
|
||||
SUB CT,SZ >CT
|
||||
JUMP ?CND3
|
||||
?CCL7: SET 'SZ,CT
|
||||
?CND3: INTBL? OBJ,ANS,SZ /FALSE
|
||||
GET VEC,2 >NVEC
|
||||
ZERO? NVEC /?CCL12
|
||||
SET 'VEC,NVEC
|
||||
SET 'SZ,FIND-RES-MAXOBJ
|
||||
JUMP ?PRG1
|
||||
?CCL12: LESS? SZ,FIND-RES-MAXOBJ \?CCL14
|
||||
MUL 2,SZ
|
||||
ADD ANS,STACK
|
||||
RSTACK
|
||||
?CCL14: ZERO? NO-CHANGE? \TRUE
|
||||
SET 'SZ,FIND-RES-MAXOBJ
|
||||
CALL DO-PMEM-ALLOC,7,9 >NEW-OBJECT
|
||||
SET 'NVEC,NEW-OBJECT
|
||||
PUT VEC,2,NVEC
|
||||
ADD NVEC,8
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT EVERYWHERE-VERB?:ANY:0:2,WHICH,SYNTAX,SYN
|
||||
ASSIGNED? 'WHICH /?CND1
|
||||
GET FINDER,4 >WHICH
|
||||
?CND1: ASSIGNED? 'SYNTAX /?CND3
|
||||
GET PARSE-RESULT,3 >SYNTAX
|
||||
?CND3: EQUAL? WHICH,1 \?CCL7
|
||||
GETB SYNTAX,5 >SYN
|
||||
JUMP ?CND5
|
||||
?CCL7: GETB SYNTAX,9 >SYN
|
||||
?CND5: BTST SYN,128 \FALSE
|
||||
BTST SYN,64 \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT MULTIPLE-EXCEPTION?:ANY:4:4,OBJ,SYNTAX,WHICH,F,L,VB
|
||||
LOC OBJ >L
|
||||
GET SYNTAX,0 >VB
|
||||
EQUAL? OBJ,FALSE-VALUE,ROOMS \?CCL3
|
||||
INC 'P-NOT-HERE
|
||||
RTRUE
|
||||
?CCL3: CALL EVERYWHERE-VERB?,WHICH,SYNTAX
|
||||
ZERO? STACK \?CCL5
|
||||
CALL2 ACCESSIBLE?,OBJ
|
||||
ZERO? STACK /TRUE
|
||||
?CCL5: EQUAL? VB,V?TAKE \?CCL9
|
||||
GET F,6
|
||||
ZERO? STACK \?CCL9
|
||||
EQUAL? WHICH,1 \?CCL9
|
||||
FSET? OBJ,TAKEBIT /?CCL15
|
||||
FSET? OBJ,TRYTAKEBIT \TRUE
|
||||
?CCL15: EQUAL? L,WINNER /TRUE
|
||||
RFALSE
|
||||
?CCL9: EQUAL? VB,V?DROP \FALSE
|
||||
IN? OBJ,WINNER \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT CHECK-ADJS-THERE?:ANY:1:1,OWNER,TMP
|
||||
GET OWNER-SR-THERE,1 >TMP
|
||||
ZERO? TMP /FALSE
|
||||
INTBL? OWNER,OWNER-SR-THERE+8,TMP /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT CHECK-ADJS:ANY:3:3,OBJ,F,ADJS,CNT,TMP,OWNER,ID,VEC,CT,ADJ,FL,OADJS,NUM,?TMP1
|
||||
GETP OBJ,P?OWNER >OWNER
|
||||
GETB ADJS,1
|
||||
EQUAL? STACK,2 /?CCL2
|
||||
GET ADJS,2 >TMP
|
||||
ZERO? TMP /?CND1
|
||||
?CCL2: SET 'ID,OWNER
|
||||
LESS? 0,ID \?CCL7
|
||||
SET 'ID,OWNER
|
||||
GRTR? ID,LAST-OBJECT /?CCL7
|
||||
EQUAL? OWNER,TMP /?CND1
|
||||
EQUAL? OWNER,ROOMS \?CCL14
|
||||
GET OWNER-SR-HERE,1
|
||||
ZERO? STACK /?CCL17
|
||||
GET OWNER-SR-HERE,4 >ID
|
||||
JUMP ?CND1
|
||||
?CCL17: GET OWNER-SR-THERE,1
|
||||
ZERO? STACK /FALSE
|
||||
GET OWNER-SR-THERE,4 >ID
|
||||
JUMP ?CND1
|
||||
?CCL14: GET OWNER-SR-HERE,1 >TMP
|
||||
ZERO? TMP \?CCL21
|
||||
CALL2 CHECK-ADJS-THERE?,OWNER
|
||||
ZERO? STACK \?CND1
|
||||
RFALSE
|
||||
?CCL21: INTBL? OWNER,OWNER-SR-HERE+8,TMP /?CND1
|
||||
CALL2 CHECK-ADJS-THERE?,OWNER
|
||||
ZERO? STACK \?CND1
|
||||
RFALSE
|
||||
?CCL7: ZERO? OWNER /?CCL28
|
||||
GET OWNER-SR-HERE,1 >CNT
|
||||
ZERO? CNT \?CCL31
|
||||
SET 'ID,PLAYER
|
||||
JUMP ?CND1
|
||||
?CCL31: ADD OWNER,2 >TMP
|
||||
SET 'VEC,OWNER-SR-HERE+8
|
||||
?PRG33: DLESS? 'CNT,0 /FALSE
|
||||
GET VEC,0 >?TMP1
|
||||
GET OWNER,0
|
||||
INTBL? ?TMP1,TMP,STACK >ID \?CCL39
|
||||
GET ID,0 >ID
|
||||
JUMP ?CND1
|
||||
?CCL39: ADD VEC,2 >VEC
|
||||
JUMP ?PRG33
|
||||
?CCL28: LESS? 0,TMP \?CCL41
|
||||
GRTR? TMP,LAST-OBJECT /?CCL41
|
||||
CALL HELD?,OBJ,TMP
|
||||
ZERO? STACK \?CND1
|
||||
RFALSE
|
||||
?CCL41: GET OWNER-SR-HERE,1 >TMP
|
||||
ZERO? TMP /FALSE
|
||||
LOC OBJ
|
||||
INTBL? STACK,OWNER-SR-HERE+8,TMP >ID \FALSE
|
||||
?CND1: EQUAL? ID,0,OBJ /?CND50
|
||||
GET F,9
|
||||
PUT STACK,3,ID
|
||||
?CND50: GETB ADJS,1
|
||||
EQUAL? STACK,2 /TRUE
|
||||
ADD ADJS,10 >VEC
|
||||
GET ADJS,4 >CT
|
||||
GETPT OBJ,P?ADJECTIVE >OADJS
|
||||
PTSIZE OADJS
|
||||
DIV STACK,2 >NUM
|
||||
?PRG54: DLESS? 'CT,0 /TRUE
|
||||
GET VEC,CT >ADJ
|
||||
SET 'ID,ADJ
|
||||
EQUAL? ADJ,W?NO.WORD /?PRG54
|
||||
INTBL? ID,OADJS,NUM /?PRG54
|
||||
EQUAL? ID,W?CLOSED,W?SHUT \?CCL63
|
||||
FSET? OBJ,OPENBIT \?PRG54
|
||||
?CCL63: EQUAL? ID,W?OPEN \FALSE
|
||||
FSET? OBJ,OPENBIT /?PRG54
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT SEARCH-IN-LG?:ANY:1:1,OBJ
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT EXCLUDE-HERE-OBJECT?:ANY:0:0
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT FIND-OBJECTS:ANY:0:3,SEARCH,PARENT,NO-ADJACENT,GLBS,CONT?,N,RES,NEW-OBJECT,FLAG,?PR-FLAG,?TMP1,?TMP2
|
||||
ASSIGNED? 'SEARCH /?CND1
|
||||
GET FINDER,4
|
||||
EQUAL? 1,STACK \?CCL5
|
||||
GET PARSE-RESULT,3
|
||||
GETB STACK,5 >SEARCH
|
||||
JUMP ?CND1
|
||||
?CCL5: GET PARSE-RESULT,3
|
||||
GETB STACK,9 >SEARCH
|
||||
?CND1: SET 'CONT?,TRUE-VALUE
|
||||
GET FINDER,9 >RES
|
||||
PUT RES,1,0
|
||||
PUT RES,2,FALSE-VALUE
|
||||
ZERO? PARENT /?CCL8
|
||||
CALL FIND-DESCENDANTS,PARENT,7
|
||||
ZERO? STACK /?CND6
|
||||
GET RES,1
|
||||
ZERO? STACK \?CND6
|
||||
?CCL8: ZERO? PARENT /?CND13
|
||||
ZERO? NO-ADJACENT \?CND13
|
||||
GET FINDER,5 >GLBS
|
||||
ZERO? GLBS \?CND13
|
||||
CALL DO-PMEM-ALLOC,1,8 >NEW-OBJECT
|
||||
PUT NEW-OBJECT,2,PARENT
|
||||
SET 'GLBS,NEW-OBJECT
|
||||
PUT FINDER,5,GLBS
|
||||
?CND13: BTST SEARCH,128 \?CND19
|
||||
BTST SEARCH,64 /?CND19
|
||||
FIRST? GENERIC-OBJECTS \?CND19
|
||||
FIRST? GENERIC-OBJECTS >NEW-OBJECT /?PRG25
|
||||
?PRG25: CALL MATCH-OBJECT,NEW-OBJECT,FINDER,TRUE-VALUE
|
||||
ZERO? STACK /?REP26
|
||||
NEXT? NEW-OBJECT >NEW-OBJECT /?PRG25
|
||||
?REP26: GET RES,1 >CONT?
|
||||
ZERO? CONT? /?CND19
|
||||
EQUAL? CONT?,1 /TRUE
|
||||
RFALSE
|
||||
?CND19: SET 'NEW-OBJECT,FALSE-VALUE
|
||||
?PRG35: ZERO? NEW-OBJECT \?PRD40
|
||||
BAND SEARCH,12
|
||||
ZERO? STACK \?CCL38
|
||||
?PRD40: ZERO? NEW-OBJECT /?CND37
|
||||
?CCL38: ZERO? NEW-OBJECT \?CTR44
|
||||
BTST SEARCH,8 \?CCL45
|
||||
?CTR44: SET '?PR-FLAG,6
|
||||
JUMP ?CND43
|
||||
?CCL45: SET '?PR-FLAG,2
|
||||
?CND43: ZERO? NEW-OBJECT \?CTR49
|
||||
BAND SEARCH,12
|
||||
ZERO? STACK /?CCL50
|
||||
?CTR49: BOR 1,?PR-FLAG >FLAG
|
||||
JUMP ?CND48
|
||||
?CCL50: BAND ?PR-FLAG,-2 >FLAG
|
||||
?CND48: ZERO? NEW-OBJECT \?CCL55
|
||||
BTST SEARCH,4 /?CCL55
|
||||
BOR 8,FLAG
|
||||
JUMP ?CND53
|
||||
?CCL55: BAND FLAG,-9
|
||||
?CND53: CALL FIND-DESCENDANTS,WINNER,STACK >CONT?
|
||||
?CND37: ZERO? NEW-OBJECT \?CCL59
|
||||
BAND SEARCH,3
|
||||
ZERO? STACK /?CND58
|
||||
?CCL59: ZERO? NEW-OBJECT \?CTR63
|
||||
BAND SEARCH,3
|
||||
ZERO? STACK /?CCL64
|
||||
?CTR63: SET '?PR-FLAG,3
|
||||
JUMP ?CND62
|
||||
?CCL64: SET '?PR-FLAG,2
|
||||
?CND62: ZERO? NEW-OBJECT \?CTR69
|
||||
BTST SEARCH,2 \?CCL70
|
||||
?CTR69: BOR 4,?PR-FLAG >FLAG
|
||||
JUMP ?CND68
|
||||
?CCL70: BAND ?PR-FLAG,-5 >FLAG
|
||||
?CND68: ZERO? NEW-OBJECT \?CCL75
|
||||
BTST SEARCH,1 /?CCL75
|
||||
BOR 8,FLAG
|
||||
JUMP ?CND73
|
||||
?CCL75: BAND FLAG,-9
|
||||
?CND73: CALL FIND-DESCENDANTS,HERE,STACK >CONT?
|
||||
?CND58: GET RES,1
|
||||
ZERO? STACK \?CND6
|
||||
BTST SEARCH,15 /?CND78
|
||||
ZERO? NEW-OBJECT \?CND78
|
||||
GET TLEXV,0 >GLBS
|
||||
ZERO? GLBS /?CCL86
|
||||
GET GLBS,4
|
||||
ZERO? STACK \?CTR85
|
||||
GET GLBS,3
|
||||
ZERO? STACK /?CCL86
|
||||
?CTR85: SET 'NEW-OBJECT,TRUE-VALUE
|
||||
JUMP ?PRG35
|
||||
?CCL86: BTST SEARCH,64 \?CND78
|
||||
BTST SEARCH,128 \FALSE
|
||||
?CND78: GETPT HERE,P?GLOBAL >GLBS
|
||||
ZERO? GLBS /?CND94
|
||||
PTSIZE GLBS
|
||||
DIV STACK,2 >N
|
||||
?PRG97: DLESS? 'N,0 /?CND94
|
||||
GET GLBS,N >?PR-FLAG
|
||||
CALL MATCH-OBJECT,?PR-FLAG,FINDER,TRUE-VALUE >CONT?
|
||||
ZERO? CONT? /?CND94
|
||||
FIRST? ?PR-FLAG \?PRG97
|
||||
BTST SEARCH,2 \?PRG97
|
||||
CALL2 SEARCH-IN-LG?,?PR-FLAG
|
||||
ZERO? STACK /?PRG97
|
||||
CALL FIND-DESCENDANTS,?PR-FLAG,FD-INCLUDE? >CONT?
|
||||
ZERO? CONT? \?PRG97
|
||||
?CND94: ZERO? CONT? /?CND111
|
||||
CALL1 EXCLUDE-HERE-OBJECT?
|
||||
ZERO? STACK \?CND111
|
||||
CALL MATCH-OBJECT,HERE,FINDER,TRUE-VALUE >CONT?
|
||||
?CND111: ZERO? CONT? /?CND115
|
||||
LOC PLAYER
|
||||
EQUAL? HERE,STACK /?CND115
|
||||
LOC PLAYER
|
||||
GETP STACK,P?THINGS
|
||||
ZERO? STACK /?CND115
|
||||
LOC PLAYER
|
||||
CALL TEST-THINGS,STACK,FINDER >CONT?
|
||||
?CND115: ZERO? CONT? /?CND120
|
||||
GETP HERE,P?THINGS
|
||||
ZERO? STACK /?CND120
|
||||
CALL TEST-THINGS,HERE,FINDER >CONT?
|
||||
?CND120: GET RES,1
|
||||
ZERO? STACK /?CND124
|
||||
SET 'CONT?,FALSE-VALUE
|
||||
?CND124: ZERO? CONT? /?CND126
|
||||
BTST SEARCH,2 \?CCL130
|
||||
PUSH 5
|
||||
JUMP ?CND128
|
||||
?CCL130: PUSH 1
|
||||
?CND128: CALL FIND-DESCENDANTS,GLOBAL-OBJECTS,STACK >CONT?
|
||||
?CND126: ZERO? CONT? /?CND131
|
||||
GET RES,1
|
||||
ZERO? STACK \?CND131
|
||||
ZERO? NO-ADJACENT \?CND131
|
||||
GETP HERE,P?ADJACENT >GLBS
|
||||
ZERO? GLBS /?CND131
|
||||
GETB GLBS,0 >N
|
||||
?PRG137: GETB GLBS,N
|
||||
ZERO? STACK /?CCL141
|
||||
DEC 'N
|
||||
GETB GLBS,N
|
||||
ICALL FIND-OBJECTS,1,STACK,TRUE-VALUE
|
||||
JUMP ?CND139
|
||||
?CCL141: DEC 'N
|
||||
?CND139: DLESS? 'N,1 \?PRG137
|
||||
GET RES,1
|
||||
ZERO? STACK /?CND131
|
||||
SET 'CONT?,FALSE-VALUE
|
||||
?CND131: ZERO? CONT? /?CND6
|
||||
GET RES,1
|
||||
ZERO? STACK \?CND6
|
||||
BTST SEARCH,128 \?PRD152
|
||||
BTST SEARCH,64 \?CCL147
|
||||
?PRD152: GET PARSE-RESULT,1 >?TMP2
|
||||
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||
GET WORD-FLAG-TABLE,0
|
||||
INTBL? ?TMP2,?TMP1,STACK,132 >FLAG \?CCL157
|
||||
GET FLAG,1
|
||||
JUMP ?CND155
|
||||
?CCL157: PUSH FALSE-VALUE
|
||||
?CND155: BTST STACK,512 \?CND6
|
||||
?CCL147: SET '?PR-FLAG,1
|
||||
?PRG158: CALL MATCH-OBJECT,?PR-FLAG,FINDER,TRUE-VALUE
|
||||
ZERO? STACK /?CND6
|
||||
IGRTR? '?PR-FLAG,LAST-OBJECT \?PRG158
|
||||
?CND6: GET RES,1
|
||||
EQUAL? STACK,1 /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT TEST-THINGS:ANY:2:2,RM,F,CT,RMG,RMGL,TTBL,NOUN,XCT,V,X,?TMP1
|
||||
GETP RM,P?THINGS >RMG
|
||||
GET RMG,0 >RMGL
|
||||
ADD RMG,2 >RMG
|
||||
GET F,5 >CT
|
||||
ZERO? CT /?CND1
|
||||
GET CT,4 >CT
|
||||
?CND1: GET F,6 >NOUN
|
||||
GET F,5
|
||||
ADD STACK,10 >V
|
||||
?PRG3: GET RMG,0 >TTBL
|
||||
EQUAL? NOUN,W?ONE /?PRD8
|
||||
GETB TTBL,1 >XCT
|
||||
EQUAL? XCT,1 \?PRD11
|
||||
GET TTBL,2
|
||||
EQUAL? NOUN,STACK /?PRD8
|
||||
?PRD11: GET TTBL,2
|
||||
INTBL? NOUN,STACK,XCT \?CND5
|
||||
?PRD8: ZERO? CT /?PRD14
|
||||
GETB TTBL,0 >XCT
|
||||
EQUAL? XCT,1 \?PRD17
|
||||
GET V,0 >?TMP1
|
||||
GET TTBL,1
|
||||
EQUAL? ?TMP1,STACK /?PRD14
|
||||
?PRD17: GET V,0 >?TMP1
|
||||
GET TTBL,1
|
||||
INTBL? ?TMP1,STACK,XCT \?CND5
|
||||
?PRD14: GET F,7
|
||||
ZERO? STACK /?CCL6
|
||||
GET OWNER-SR-HERE,1
|
||||
EQUAL? 1,STACK \?CND5
|
||||
GET OWNER-SR-HERE,4
|
||||
EQUAL? PSEUDO-OBJECT,STACK \?CND5
|
||||
EQUAL? LAST-PSEUDO-LOC,RM \?CND5
|
||||
GETP PSEUDO-OBJECT,P?ACTION >?TMP1
|
||||
GET RMG,1
|
||||
EQUAL? ?TMP1,STACK \?CND5
|
||||
?CCL6: SET 'LAST-PSEUDO-LOC,RM
|
||||
GET RMG,1
|
||||
PUTP PSEUDO-OBJECT,P?ACTION,STACK
|
||||
GETPT PSEUDO-OBJECT,P?ACTION
|
||||
SUB STACK,7 >V
|
||||
COPYT NOUN,V,6
|
||||
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||
GET WORD-FLAG-TABLE,0
|
||||
INTBL? NOUN,?TMP1,STACK,132 >X \?CCL31
|
||||
GET X,1
|
||||
JUMP ?CND29
|
||||
?CCL31: PUSH FALSE-VALUE
|
||||
?CND29: BTST STACK,PLURAL-FLAG \?CCL28
|
||||
FSET PSEUDO-OBJECT,PLURAL
|
||||
JUMP ?CND26
|
||||
?CCL28: FCLEAR PSEUDO-OBJECT,PLURAL
|
||||
?CND26: ICALL ADD-OBJECT,PSEUDO-OBJECT,F
|
||||
RFALSE
|
||||
?CND5: ADD RMG,4 >RMG
|
||||
DLESS? 'RMGL,1 \?PRG3
|
||||
RTRUE
|
||||
|
||||
.ENDSEG
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,79 @@
|
|||
|
||||
<OBJECT GLOBAL-OBJECTS (DESC "GO") (GENERIC 0) (GLOBAL STAIRS) (OWNER 0) (TEXT
|
||||
0) (FLAGS CONTBIT DEAD DOORBIT FEMALEBIT INVISIBLE LIGHTBIT LOCKED MUNGBIT
|
||||
NARTICLEBIT NDESCBIT ONBIT OPENABLE OPENBIT PLURAL READBIT RMUNGBIT SEARCHBIT
|
||||
SECRETBIT SEENBIT SURFACEBIT TAKEBIT TOOLBIT TOUCHBIT TRANSBIT TRYTAKEBIT
|
||||
VEHBIT VOWELBIT WEAPONBIT WEARBIT WORNBIT)>
|
||||
<OBJECT LOCAL-GLOBALS (LOC GLOBAL-OBJECTS) (DESC "LG") (SYNONYM L.G) (FLAGS
|
||||
NARTICLEBIT) (ACTION LOCAL-GLOBALS-F)>
|
||||
<DEFINE-ROUTINE LOCAL-GLOBALS-F>
|
||||
<OBJECT FRUSTATION (LOC GLOBAL-OBJECTS) (DESC "puzzle") (SYNONYM FRUSTRATION
|
||||
PROBLEM PUZZLE) (ACTION FRUSTRATION-F)>
|
||||
<DEFINE-ROUTINE FRUSTRATION-F>
|
||||
<OBJECT STAIRS (LOC LOCAL-GLOBALS) (DESC "stairs") (SYNONYM STAIRS STAIRWAY
|
||||
STAIR) (FLAGS SEENBIT)>
|
||||
<DEFINE-ROUTINE DO-INSTEAD-OF>
|
||||
<OBJECT TURN (LOC GLOBAL-OBJECTS) (ADJECTIVE INT.NUM FULL) (SYNONYM TURN TURNS
|
||||
MINUTE MINUTES) (DESC "turn") (ACTION TURN-F)>
|
||||
<DEFINE-ROUTINE TURN-F>
|
||||
<OBJECT IT (LOC GLOBAL-OBJECTS) (SYNONYM IT THIS FUCKER SUCKER) (DESC "it") (
|
||||
FLAGS VOWELBIT NARTICLEBIT) (ACTION IT-F)>
|
||||
<DEFINE-ROUTINE IT-F>
|
||||
<OBJECT FLOOR (LOC GLOBAL-OBJECTS) (DESC "floor") (SYNONYM FLOOR GROUND CARPET
|
||||
RUG) (FLAGS SEENBIT SURFACEBIT OPENBIT) (ACTION FLOOR-F)>
|
||||
<DEFINE-ROUTINE FLOOR-F>
|
||||
<DEFINE-ROUTINE START-SEARCH>
|
||||
<GLOBAL FOUND-IT:OBJECT <>>
|
||||
<GLOBAL FOUND-LOC:OBJECT <>>
|
||||
<CONSTANT NOTHING-NEW "You don't find anything new there.|">
|
||||
<DEFINE-ROUTINE I-FOUND-IT>
|
||||
<OBJECT DANGER (LOC GLOBAL-OBJECTS) (DESC "danger") (SYNONYM DANGER THREAT
|
||||
ATTACK)>
|
||||
<OBJECT INTNUM (LOC GLOBAL-OBJECTS) (SYNONYM INT.NUM) (DESC "number")>
|
||||
<OBJECT YOU (LOC GLOBAL-OBJECTS) (SYNONYM YOU YOURSELF HIMSELF HERSELF) (DESC
|
||||
"self") (FLAGS) (ACTION YOU-F)>
|
||||
<DEFINE-ROUTINE YOU-F>
|
||||
<OBJECT WALL (LOC GLOBAL-OBJECTS) (DESC "wall") (ADJECTIVE BRICK NORTH SOUTH) (
|
||||
SYNONYM WALL WALLS BRICK BRICKS) (FLAGS SEENBIT SURFACEBIT OPENBIT) (ACTION
|
||||
WALL-F)>
|
||||
<DEFINE-ROUTINE WALL-F>
|
||||
<OBJECT GLOBAL-HERE (LOC GLOBAL-OBJECTS) (DESC "here") (ADJECTIVE THIS) (
|
||||
SYNONYM HERE AREA ROOM PLACE) (FLAGS NARTICLEBIT) (ACTION GLOBAL-HERE-F)>
|
||||
<DEFINE-ROUTINE GLOBAL-HERE-F>
|
||||
<OBJECT CHAIR (LOC LOCAL-GLOBALS) (DESC "chair") (SYNONYM CHAIR SEAT CHAIRS
|
||||
BENCH) (FLAGS SEENBIT SURFACEBIT) (ACTION CHAIR-F)>
|
||||
<DEFINE-ROUTINE CHAIR-F>
|
||||
<OBJECT TABLE-RANDOM (LOC LOCAL-GLOBALS) (DESC "table") (SYNONYM TABLE DESK) (
|
||||
FLAGS SEENBIT) (ACTION RANDOM-PSEUDO)>
|
||||
<OBJECT SLEEP-GLOBAL (LOC GLOBAL-OBJECTS) (SYNONYM SLEEP) (DESC "sleep") (FLAGS
|
||||
NARTICLEBIT) (ACTION SLEEP-GLOBAL-F)>
|
||||
<DEFINE-ROUTINE SLEEP-GLOBAL-F>
|
||||
<DEFINE-ROUTINE ROB>
|
||||
<OBJECT LIGHT-GLOBAL (LOC GLOBAL-OBJECTS) (DESC "light") (ADJECTIVE FLOOD MOON)
|
||||
(SYNONYM LIGHT LIGHTS LAMP MOONLIGHT) (FLAGS SEENBIT TRYTAKEBIT) (ACTION
|
||||
LIGHT-GLOBAL-F)>
|
||||
<DEFINE-ROUTINE LIGHT-GLOBAL-F>
|
||||
<ADJ-SYNONYM MY MINE YOUR>
|
||||
<OBJECT HANDS (LOC GLOBAL-OBJECTS) (SYNONYM HANDS HAND) (ADJECTIVE BARE) (OWNER
|
||||
BODY-PARTS-OWNERS) (DESC "hand") (FLAGS NDESCBIT TOUCHBIT NARTICLEBIT) (ACTION
|
||||
HANDS-F)>
|
||||
<DEFINE-ROUTINE HANDS-F>
|
||||
<OBJECT HEAD (LOC GLOBAL-OBJECTS) (OWNER BODY-PARTS-OWNERS) (DESC "head") (
|
||||
SYNONYM HEAD FACE) (FLAGS NARTICLEBIT) (ACTION HEAD-F)>
|
||||
<DEFINE-ROUTINE HEAD-F>
|
||||
<OBJECT EYES (LOC GLOBAL-OBJECTS) (OWNER BODY-PARTS-OWNERS) (DESC "eyes") (
|
||||
SYNONYM EYE EYES) (FLAGS NARTICLEBIT) (ACTION EYES-F)>
|
||||
<DEFINE-ROUTINE EYES-F>
|
||||
<OBJECT TEETH (LOC GLOBAL-OBJECTS) (DESC "teeth") (SYNONYM TEETH) (FLAGS
|
||||
NARTICLEBIT)>
|
||||
<OBJECT EARS (LOC GLOBAL-OBJECTS) (DESC "ears") (SYNONYM EAR EARS) (FLAGS
|
||||
NARTICLEBIT)>
|
||||
<OBJECT THIRD-PLANET (LOC GLOBAL-OBJECTS) (DESC "third planet") (ADJECTIVE
|
||||
THIRD BLUE BLUE-GREEN GREEN SMALL) (SYNONYM PLANET EARTH) (FLAGS NDESCBIT) (
|
||||
ACTION THIRD-PLANET-F)>
|
||||
<DEFINE-ROUTINE THIRD-PLANET-F>
|
||||
<OBJECT OBJECT-OF-GAME (LOC GLOBAL-OBJECTS) (DESC "object of the game") (
|
||||
SYNONYM OBJECT GAME GOAL) (FLAGS VOWELBIT) (ACTION OBJECT-OF-GAME-F)>
|
||||
<DEFINE-ROUTINE OBJECT-OF-GAME-F>
|
||||
<OBJECT SKY (LOC GLOBAL-OBJECTS) (DESC "sky") (SYNONYM SKY) (ACTION SKY-F)>
|
||||
<DEFINE-ROUTINE SKY-F>
|
|
@ -0,0 +1,247 @@
|
|||
|
||||
|
||||
.FUNCT LOCAL-GLOBALS-F:ANY:0:0
|
||||
CALL1 REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
CALL2 NOT-HERE,LOCAL-GLOBALS
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT FRUSTRATION-F:ANY:0:0
|
||||
EQUAL? PRSA,V?ENJOY \FALSE
|
||||
PRINT ZEN
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DO-INSTEAD-OF:ANY:2:2,OBJ1,OBJ2
|
||||
EQUAL? PRSI,OBJ2 \?CCL3
|
||||
ICALL PERFORM,PRSA,PRSO,OBJ1
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSO,OBJ2 \?CCL5
|
||||
ICALL PERFORM,PRSA,OBJ1,PRSI
|
||||
RTRUE
|
||||
?CCL5: CALL1 V-FOO
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT TURN-F:ANY:0:0
|
||||
EQUAL? PRSA,V?USE \FALSE
|
||||
ICALL PERFORM,V?WAIT-FOR,PRSO
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT IT-F:ANY:0:0
|
||||
EQUAL? PRSI,IT \?PRD5
|
||||
EQUAL? PRSA,V?TELL-ABOUT /?CCL3
|
||||
EQUAL? PRSA,V?SEARCH-FOR,V?ASK-FOR,V?ASK-ABOUT /?CCL3
|
||||
?PRD5: EQUAL? PRSO,IT \FALSE
|
||||
EQUAL? PRSA,V?FIND,V?ASK-CONTEXT-FOR,V?ASK-CONTEXT-ABOUT \FALSE
|
||||
?CCL3: PRINTR """I'm not sure what you're talking about."""
|
||||
|
||||
|
||||
.FUNCT FLOOR-F:ANY:0:0,OBJ,N
|
||||
EQUAL? PRSA,V?CLIMB-ON \?CCL3
|
||||
CALL ALREADY,WINNER,STR?218
|
||||
RSTACK
|
||||
?CCL3: EQUAL? PRSA,V?THROW-AT,V?PUT \?CCL5
|
||||
EQUAL? PRSI,FLOOR \?CCL5
|
||||
MOVE PRSO,HERE
|
||||
PRINTR "Okay."
|
||||
?CCL5: EQUAL? PRSA,V?SEARCH-FOR /?CCL9
|
||||
EQUAL? PRSA,V?SEARCH,V?LOOK-ON,V?EXAMINE \FALSE
|
||||
?CCL9: ICALL2 START-SEARCH,OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT START-SEARCH:ANY:0:1,OBJ
|
||||
PRINTI "Nothing suspicious meets your eye after a moment's scrutiny. Do you want to continue?"
|
||||
CALL1 YES?
|
||||
ZERO? STACK \?CCL3
|
||||
ICALL1 OKAY
|
||||
RTRUE
|
||||
?CCL3: SET 'FOUND-IT,OBJ
|
||||
SET 'FOUND-LOC,HERE
|
||||
RANDOM 7
|
||||
ICALL QUEUE,I-FOUND-IT,STACK
|
||||
ICALL V-WAIT,8,FALSE-VALUE,TRUE-VALUE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT I-FOUND-IT:ANY:0:1,GARG,OBJ
|
||||
ZERO? IDEBUG \?CCL2
|
||||
EQUAL? GARG,G-DEBUG \?CND1
|
||||
?CCL2: PRINTI "[I-FOUND-IT:"
|
||||
EQUAL? GARG,G-DEBUG /FALSE
|
||||
?CND1: EQUAL? FOUND-LOC,HERE \FALSE
|
||||
PRINT NOTHING-NEW
|
||||
RETURN 2
|
||||
|
||||
|
||||
.FUNCT YOU-F:ANY:0:0,X
|
||||
EQUAL? WINNER,PLAYER /?CCL3
|
||||
ICALL DO-INSTEAD-OF,WINNER,YOU
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?ASK-ABOUT \?CCL5
|
||||
EQUAL? PRSI,YOU \?CCL5
|
||||
ICALL PERFORM,V?ASK-ABOUT,PRSO,PRSO
|
||||
RTRUE
|
||||
?CCL5: EQUAL? PRSA,V?THANK \FALSE
|
||||
CALL1 QCONTEXT-GOOD? >X
|
||||
ZERO? X /FALSE
|
||||
ICALL PERFORM,V?THANK,X
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT WALL-F:ANY:0:0,OBJ
|
||||
EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL3
|
||||
CALL FIND-FLAG-LG,HERE,DOORBIT,SECRETBIT >OBJ
|
||||
ZERO? OBJ /?CCL3
|
||||
ICALL DO-INSTEAD-OF,OBJ,WALL
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?KNOCK \FALSE
|
||||
FSET? HERE,WEARBIT \?CTR9
|
||||
CALL FIND-FLAG-LG,HERE,DOORBIT,SECRETBIT
|
||||
ZERO? STACK /?CCL10
|
||||
?CTR9: PRINTR "You hear a hollow sound."
|
||||
?CCL10: PRINTR "Knocking on the walls reveals nothing unusual."
|
||||
|
||||
|
||||
.FUNCT GLOBAL-HERE-F:ANY:0:0,OBJ,X
|
||||
EQUAL? PRSA,V?WALK-TO,V?SMELL /?CTR2
|
||||
EQUAL? PRSA,V?SIT,V?LIE,V?EXAMINE \?CCL3
|
||||
?CTR2: ICALL DO-INSTEAD-OF,HERE,GLOBAL-HERE
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?PUT-IN,V?PUT \?CCL7
|
||||
CALL1 MORE-SPECIFIC
|
||||
RSTACK
|
||||
?CCL7: EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH \FALSE
|
||||
ZERO? PRSI /?CCL12
|
||||
CALL2 META-LOC,PRSI
|
||||
EQUAL? STACK,HERE \?CCL12
|
||||
SET 'X,PRSI
|
||||
JUMP ?CND10
|
||||
?CCL12: FIRST? HERE >OBJ /?PRG16
|
||||
?PRG16: ZERO? OBJ /?CND10
|
||||
FSET? OBJ,SECRETBIT \?CCL22
|
||||
SET 'X,OBJ
|
||||
JUMP ?CND10
|
||||
?CCL22: FSET? OBJ,PERSONBIT /?CCL24
|
||||
FSET? OBJ,CONTBIT /?PRD27
|
||||
FSET? OBJ,SURFACEBIT \?CCL24
|
||||
?PRD27: CALL FIND-IN,OBJ,SECRETBIT >X
|
||||
ZERO? X \?CTR23
|
||||
CALL FIND-IN,OBJ,RMUNGBIT >X
|
||||
ZERO? X /?CCL24
|
||||
?CTR23: FSET OBJ,OPENBIT
|
||||
?CND10: ICALL2 START-SEARCH,X
|
||||
RTRUE
|
||||
?CCL24: NEXT? OBJ >OBJ /?PRG16
|
||||
JUMP ?PRG16
|
||||
|
||||
|
||||
.FUNCT CHAIR-F:ANY:0:0
|
||||
EQUAL? PRSA,V?BOARD,V?CLIMB-ON,V?SIT \?CCL3
|
||||
CALL1 WONT-HELP
|
||||
RSTACK
|
||||
?CCL3: CALL1 RANDOM-PSEUDO
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT SLEEP-GLOBAL-F:ANY:0:0
|
||||
EQUAL? PRSA,V?WALK-TO \FALSE
|
||||
ICALL2 PERFORM,V?FAINT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT ROB:ANY:2:3,WHAT,THIEF,TELL?,N,X,TOLD?
|
||||
FIRST? WHAT >X /?PRG2
|
||||
?PRG2: ZERO? X /TRUE
|
||||
NEXT? X >N /?BOGUS6
|
||||
?BOGUS6: ZERO? N \?CND7
|
||||
ZERO? TOLD? /?CND7
|
||||
ZERO? TELL? /?CND7
|
||||
PRINTI " and"
|
||||
?CND7: SET 'TOLD?,TRUE-VALUE
|
||||
ZERO? TELL? /?CND12
|
||||
ICALL2 PRINT-THE,X
|
||||
ZERO? N /?CCL16
|
||||
PRINTC 44
|
||||
JUMP ?CND12
|
||||
?CCL16: PRINTI ". "
|
||||
?CND12: MOVE X,THIEF
|
||||
SET 'X,N
|
||||
JUMP ?PRG2
|
||||
|
||||
|
||||
.FUNCT LIGHT-GLOBAL-F:ANY:0:0,P
|
||||
CALL1 REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?LAMP-OFF,V?LAMP-ON \FALSE
|
||||
CALL2 OUTSIDE?,HERE
|
||||
ZERO? STACK /?CCL8
|
||||
PRINTR "You can't reach it from here."
|
||||
?CCL8: EQUAL? PRSA,V?LAMP-ON \?CCL11
|
||||
FSET? HERE,ONBIT \?CCL14
|
||||
CALL ALREADY,LIGHT-GLOBAL,STR?101
|
||||
RSTACK
|
||||
?CCL14: FSET HERE,ONBIT
|
||||
CALL OKAY,LIGHT-GLOBAL,STR?101
|
||||
RSTACK
|
||||
?CCL11: EQUAL? PRSA,V?LAMP-OFF \FALSE
|
||||
FSET? HERE,ONBIT /?CCL19
|
||||
CALL ALREADY,LIGHT-GLOBAL,STR?102
|
||||
RSTACK
|
||||
?CCL19: CALL FIND-FLAG-HERE-NOT,PERSONBIT,MUNGBIT,PLAYER >P
|
||||
ZERO? P /?CCL21
|
||||
PRINTD P
|
||||
PRINTR " says, ""Please don't leave us in the dark."""
|
||||
?CCL21: FCLEAR HERE,ONBIT
|
||||
CALL OKAY,LIGHT-GLOBAL,STR?102
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT HANDS-F:ANY:1:1,ACTOR
|
||||
EQUAL? PRSA,V?SHAKE \FALSE
|
||||
CALL FIND-IN,HERE,PERSONBIT >ACTOR
|
||||
ZERO? ACTOR /?CCL6
|
||||
ICALL PERFORM,V?THANK,ACTOR
|
||||
RTRUE
|
||||
?CCL6: PRINTR "Pleased to meet you."
|
||||
|
||||
|
||||
.FUNCT HEAD-F:ANY:0:0
|
||||
EQUAL? PRSA,V?NOD \?CCL3
|
||||
ICALL2 PERFORM,V?YES
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?SHAKE \FALSE
|
||||
ICALL2 PERFORM,V?NO
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT EYES-F:ANY:0:0
|
||||
EQUAL? PRSA,V?OPEN \?CCL3
|
||||
PRINTR "They are."
|
||||
?CCL3: EQUAL? PRSA,V?CLOSE \FALSE
|
||||
PRINTR "That won't help."
|
||||
|
||||
|
||||
.FUNCT THIRD-PLANET-F:ANY:0:0
|
||||
EQUAL? PRSA,V?DISEMBARK,V?LEAVE \?CCL3
|
||||
PRINTR "You did!"
|
||||
?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
PRINTR "It is an utterly insignificant little blue-green planet, of the sort where they probably still wear digital watches."
|
||||
|
||||
|
||||
.FUNCT OBJECT-OF-GAME-F:ANY:0:0
|
||||
EQUAL? PRSA,V?TELL-ABOUT,V?TALK-ABOUT,V?ASK-ABOUT \FALSE
|
||||
PRINTR "That's for me to know and you to find out."
|
||||
|
||||
|
||||
.FUNCT SKY-F:ANY:0:0
|
||||
CALL2 OUTSIDE?,HERE
|
||||
ZERO? STACK \FALSE
|
||||
CALL2 NOT-HERE,SKY
|
||||
RSTACK
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,457 @@
|
|||
"GLOBALS for MILLIWAYS
|
||||
Copyright (C) 1988 Infocom, Inc. All rights reserved."
|
||||
|
||||
<OBJECT GLOBAL-OBJECTS
|
||||
(DESC "GO")
|
||||
;(FDESC 0)
|
||||
(GENERIC 0)
|
||||
(GLOBAL STAIRS)
|
||||
(OWNER 0)
|
||||
(TEXT 0)
|
||||
(FLAGS CONTBIT DEAD DOORBIT FEMALEBIT
|
||||
INVISIBLE LIGHTBIT LOCKED MUNGBIT
|
||||
NARTICLEBIT NDESCBIT ONBIT OPENABLE OPENBIT
|
||||
;PERSONBIT PLURAL READBIT RMUNGBIT
|
||||
SEARCHBIT SECRETBIT SEENBIT SURFACEBIT
|
||||
TAKEBIT TOOLBIT TOUCHBIT TRANSBIT TRYTAKEBIT
|
||||
VEHBIT VOWELBIT WEAPONBIT WEARBIT WORNBIT)>
|
||||
|
||||
<OBJECT LOCAL-GLOBALS
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "LG")
|
||||
(SYNONYM L.G)
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION LOCAL-GLOBALS-F)>
|
||||
|
||||
<ROUTINE LOCAL-GLOBALS-F ()
|
||||
<COND (<REMOTE-VERB?>
|
||||
<RFALSE>)
|
||||
(T <NOT-HERE ,LOCAL-GLOBALS>)>>
|
||||
|
||||
<OBJECT FRUSTATION
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "puzzle")
|
||||
(SYNONYM FRUSTRATION PROBLEM PUZZLE)
|
||||
(ACTION FRUSTRATION-F)>
|
||||
|
||||
<ROUTINE FRUSTRATION-F ()
|
||||
<COND (<VERB? ENJOY>
|
||||
<TELL ,ZEN CR>)>>
|
||||
|
||||
<OBJECT STAIRS
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "stairs")
|
||||
(SYNONYM STAIRS STAIRWAY STAIR)
|
||||
;(GENERIC GENERIC-STAIRS)
|
||||
(FLAGS SEENBIT)
|
||||
;(ACTION UPSTAIRS-DOWNSTAIRS)>
|
||||
|
||||
<ROUTINE DO-INSTEAD-OF (OBJ1 OBJ2)
|
||||
<COND (<EQUAL? ,PRSI .OBJ2> <PERFORM ,PRSA ,PRSO .OBJ1> <RTRUE>)
|
||||
(<EQUAL? ,PRSO .OBJ2> <PERFORM ,PRSA .OBJ1 ,PRSI> <RTRUE>)
|
||||
;(T <PERFORM ,PRSA ,PRSO ,PRSI> <RTRUE>)
|
||||
(T <V-FOO>)>>
|
||||
|
||||
<OBJECT TURN
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(ADJECTIVE INT.NUM ;NUMBER FULL)
|
||||
(SYNONYM TURN TURNS MINUTE MINUTES)
|
||||
(DESC "turn" ;"minute")
|
||||
(ACTION TURN-F)>
|
||||
|
||||
<ROUTINE TURN-F ()
|
||||
<COND (<VERB? USE>
|
||||
<PERFORM ,V?WAIT-FOR ,PRSO>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT IT
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(SYNONYM IT THIS FUCKER SUCKER)
|
||||
(DESC "it")
|
||||
(FLAGS VOWELBIT NARTICLEBIT)
|
||||
(ACTION IT-F)>
|
||||
|
||||
<ROUTINE IT-F ()
|
||||
<COND (<OR <AND <IOBJ? IT>
|
||||
;<FSET? ,PRSO ,PERSONBIT>
|
||||
<VERB? ASK-ABOUT ASK-FOR SEARCH-FOR TELL-ABOUT>>
|
||||
<AND <DOBJ? IT>
|
||||
<VERB? ASK-CONTEXT-ABOUT ASK-CONTEXT-FOR FIND ;WHAT>>>
|
||||
<TELL "\"I'm not sure what you're talking about.\"" CR>)>>
|
||||
|
||||
<OBJECT FLOOR
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "floor")
|
||||
;(ADJECTIVE DRAWING ;ROOM GREAT ;HALL)
|
||||
(SYNONYM FLOOR ;AREA GROUND CARPET RUG)
|
||||
(FLAGS SEENBIT SURFACEBIT OPENBIT)
|
||||
(ACTION FLOOR-F)>
|
||||
|
||||
<ROUTINE FLOOR-F ("AUX" (OBJ <>) N)
|
||||
<COND ;(<REMOTE-VERB?> <RFALSE>)
|
||||
(<VERB? CLIMB-ON>
|
||||
<ALREADY ,WINNER "on it">)
|
||||
(<AND <VERB? PUT THROW-AT>
|
||||
;<NOT <DOBJ? MOONMIST>>
|
||||
<IOBJ? FLOOR>>
|
||||
<MOVE ,PRSO ,HERE>
|
||||
<TELL "Okay." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE LOOK-ON SEARCH SEARCH-FOR>
|
||||
<START-SEARCH .OBJ>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE START-SEARCH ("OPTIONAL" (OBJ <>))
|
||||
<TELL
|
||||
"Nothing suspicious meets your eye after a moment's scrutiny. Do you want
|
||||
to continue?">
|
||||
<COND (<NOT <YES?>>
|
||||
<OKAY>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<SETG FOUND-IT .OBJ>
|
||||
<SETG FOUND-LOC ,HERE>
|
||||
<QUEUE I-FOUND-IT <RANDOM 7>>
|
||||
<V-WAIT 8 <> T>
|
||||
<RTRUE>)>>
|
||||
|
||||
<GLOBAL FOUND-IT:OBJECT <>>
|
||||
<GLOBAL FOUND-LOC:OBJECT <>>
|
||||
|
||||
<CONSTANT NOTHING-NEW "You don't find anything new there.|">
|
||||
|
||||
<ROUTINE I-FOUND-IT ("OPTIONAL" (GARG <>) "AUX" OBJ)
|
||||
%<DEBUG-CODE <COND (<OR ,IDEBUG <==? .GARG ,G-DEBUG>>
|
||||
<TELL "[I-FOUND-IT:">
|
||||
<COND (<==? .GARG ,G-DEBUG> <RFALSE>)>)>>
|
||||
<COND (<NOT <EQUAL? ,FOUND-LOC ,HERE>>
|
||||
<RFALSE>)
|
||||
(T ;<ZERO? ,FOUND-IT>
|
||||
<TELL ,NOTHING-NEW>
|
||||
<RFATAL>)>>
|
||||
|
||||
<OBJECT DANGER
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "danger")
|
||||
(SYNONYM DANGER THREAT ATTACK)>
|
||||
|
||||
<OBJECT INTNUM
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(SYNONYM INT.NUM ;NUMBER)
|
||||
(DESC "number")>
|
||||
|
||||
<OBJECT YOU
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(SYNONYM YOU YOURSELF HIMSELF HERSELF)
|
||||
(DESC "self" ;"himself or herself")
|
||||
(FLAGS ;NARTICLEBIT)
|
||||
(ACTION YOU-F)>
|
||||
|
||||
<ROUTINE YOU-F ("AUX" X)
|
||||
<COND (<NOT <==? ,WINNER ,PLAYER>>
|
||||
<DO-INSTEAD-OF ,WINNER ,YOU>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? ASK-ABOUT> <IOBJ? YOU>>
|
||||
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSO>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? THANK>
|
||||
<SET X <QCONTEXT-GOOD?>>>
|
||||
<PERFORM ,V?THANK .X>
|
||||
<RTRUE>)>>
|
||||
|
||||
;<OBJECT HINT
|
||||
(DESC "hint")
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(SYNONYM HINT HELP)
|
||||
(ACTION HINT-F)>
|
||||
|
||||
;<ROUTINE HINT-F ()
|
||||
<COND (<VERB? FIND>
|
||||
<HELP-TEXT>)
|
||||
(<VERB? ASK-FOR ASK-CONTEXT-FOR TAKE>
|
||||
<MORE-SPECIFIC>)>>
|
||||
|
||||
<OBJECT WALL
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "wall")
|
||||
(ADJECTIVE BRICK NORTH SOUTH)
|
||||
(SYNONYM WALL WALLS BRICK BRICKS)
|
||||
(FLAGS SEENBIT SURFACEBIT OPENBIT)
|
||||
(ACTION WALL-F)>
|
||||
|
||||
<ROUTINE WALL-F ("AUX" OBJ)
|
||||
<COND (<AND <VERB? OPEN CLOSE>
|
||||
<T? <SET OBJ <FIND-FLAG-LG ,HERE ,DOORBIT ,SECRETBIT>>>>
|
||||
<DO-INSTEAD-OF .OBJ ,WALL>
|
||||
<RTRUE>)
|
||||
(<VERB? KNOCK>
|
||||
<COND (<OR <NOT <FSET? ,HERE ,WEARBIT> ;"WING-ROOMS">
|
||||
<FIND-FLAG-LG ,HERE ,DOORBIT ,SECRETBIT>>
|
||||
<TELL "You hear a hollow sound." CR>)
|
||||
(T <TELL
|
||||
"Knocking on the walls reveals nothing unusual." CR>)>)>>
|
||||
|
||||
;<ROUTINE GENERIC-ROOM (X "OPTIONAL" Y) ,GLOBAL-HERE>
|
||||
|
||||
<OBJECT GLOBAL-HERE
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "here")
|
||||
(ADJECTIVE THIS)
|
||||
(SYNONYM HERE AREA ROOM PLACE)
|
||||
;(GENERIC GENERIC-ROOM)
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION GLOBAL-HERE-F)>
|
||||
|
||||
<ROUTINE GLOBAL-HERE-F ("AUX" OBJ (X <>))
|
||||
<COND (<VERB? EXAMINE LIE SIT SMELL WALK-TO>
|
||||
<DO-INSTEAD-OF ,HERE ,GLOBAL-HERE>
|
||||
<RTRUE>)
|
||||
(<VERB? PUT PUT-IN ;TIE-TO>
|
||||
<MORE-SPECIFIC>)
|
||||
(<VERB? SEARCH SEARCH-FOR>
|
||||
<COND (<AND <T? ,PRSI>
|
||||
<==? <META-LOC ,PRSI> ,HERE>>
|
||||
<SET X ,PRSI>)
|
||||
(T
|
||||
<SET OBJ <FIRST? ,HERE>>
|
||||
<REPEAT ()
|
||||
<COND (<ZERO? .OBJ>
|
||||
<RETURN>)
|
||||
(<FSET? .OBJ ,SECRETBIT>
|
||||
<SET X .OBJ>
|
||||
<RETURN>)
|
||||
(<AND <NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<OR <FSET? .OBJ ,CONTBIT>
|
||||
<FSET? .OBJ ,SURFACEBIT>>
|
||||
<OR <SET X <FIND-IN .OBJ ,SECRETBIT>>
|
||||
<SET X <FIND-IN .OBJ ,RMUNGBIT>>>>
|
||||
<FSET .OBJ ,OPENBIT>
|
||||
<RETURN>)
|
||||
(T <SET OBJ <NEXT? .OBJ>>)>>)>
|
||||
<START-SEARCH .X>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT CHAIR
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "chair")
|
||||
;(ADJECTIVE WING)
|
||||
(SYNONYM CHAIR SEAT CHAIRS BENCH)
|
||||
(FLAGS SEENBIT SURFACEBIT ;VEHBIT)
|
||||
(ACTION CHAIR-F)>
|
||||
|
||||
<ROUTINE CHAIR-F ()
|
||||
<COND (<VERB? SIT ;LOOK-UNDER CLIMB-ON ;CLIMB-DOWN BOARD>
|
||||
<WONT-HELP>)
|
||||
(T <RANDOM-PSEUDO>)>>
|
||||
|
||||
<OBJECT TABLE-RANDOM
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "table")
|
||||
;(ADJECTIVE BILLIARD CARD)
|
||||
(SYNONYM TABLE DESK)
|
||||
(FLAGS SEENBIT)
|
||||
(ACTION RANDOM-PSEUDO)>
|
||||
|
||||
<OBJECT SLEEP-GLOBAL
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
;(ADJECTIVE ;SOME MY)
|
||||
(SYNONYM SLEEP)
|
||||
(DESC "sleep")
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION SLEEP-GLOBAL-F)>
|
||||
|
||||
<ROUTINE SLEEP-GLOBAL-F ()
|
||||
<COND (<VERB? WALK-TO>
|
||||
<PERFORM ,V?FAINT>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE ROB (WHAT THIEF "OPTIONAL" (TELL? <>) "AUX" N X (TOLD? <>))
|
||||
<SET X <FIRST? .WHAT>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .X> <RETURN>)>
|
||||
<SET N <NEXT? .X>>
|
||||
;<COND (<NOT <FSET? .X ,TAKEBIT>>
|
||||
<SET X .N>
|
||||
<AGAIN>)>
|
||||
<COND (<AND <NOT .N> .TOLD? .TELL?>
|
||||
<TELL " and">)>
|
||||
<SET TOLD? T>
|
||||
<COND (.TELL?
|
||||
<TELL the .X>
|
||||
<COND (.N <TELL !\,>)
|
||||
(T <TELL ". ">)>)>
|
||||
<MOVE .X .THIEF>
|
||||
;<FCLEAR .X ,TAKEBIT>
|
||||
<SET X .N>>>
|
||||
|
||||
<OBJECT LIGHT-GLOBAL
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "light")
|
||||
(ADJECTIVE FLOOD MOON)
|
||||
(SYNONYM LIGHT LIGHTS LAMP MOONLIGHT)
|
||||
(FLAGS SEENBIT TRYTAKEBIT)
|
||||
(ACTION LIGHT-GLOBAL-F)>
|
||||
|
||||
<ROUTINE LIGHT-GLOBAL-F ("AUX" P)
|
||||
<COND (<REMOTE-VERB?> <RFALSE>)
|
||||
(<VERB? LAMP-ON LAMP-OFF>
|
||||
<COND (<AND <OUTSIDE? ,HERE> ;<NOT <EQUAL? ,HERE ,CAR>>>
|
||||
<TELL "You can't reach it from here." CR>)
|
||||
(<VERB? LAMP-ON>
|
||||
<COND (<FSET? ,HERE ,ONBIT>
|
||||
<ALREADY ,LIGHT-GLOBAL "on">)
|
||||
(T
|
||||
<FSET ,HERE ,ONBIT>
|
||||
<OKAY ,LIGHT-GLOBAL "on">)>)
|
||||
(<VERB? LAMP-OFF>
|
||||
<COND (<NOT <FSET? ,HERE ,ONBIT>>
|
||||
<ALREADY ,LIGHT-GLOBAL "off">)
|
||||
(<SET P <FIND-FLAG-HERE-NOT ,PERSONBIT ,MUNGBIT ,PLAYER>>
|
||||
<TELL
|
||||
D .P " says, \"Please don't leave us in the dark.\"" CR>)
|
||||
(T
|
||||
<FCLEAR ,HERE ,ONBIT>
|
||||
<OKAY ,LIGHT-GLOBAL "off">)>)>)>>
|
||||
|
||||
<ADJ-SYNONYM MY MINE YOUR>
|
||||
|
||||
<OBJECT HANDS
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(SYNONYM HANDS HAND)
|
||||
(ADJECTIVE BARE ;MY)
|
||||
(OWNER BODY-PARTS-OWNERS)
|
||||
(DESC ;"your " "hand")
|
||||
(FLAGS NDESCBIT TOUCHBIT NARTICLEBIT)
|
||||
(ACTION HANDS-F)>
|
||||
|
||||
<ROUTINE HANDS-F (ACTOR)
|
||||
<COND ;(<VERB? WAVE>
|
||||
<PERFORM ,V?WAVE-AT>
|
||||
<RTRUE>)
|
||||
(<VERB? SHAKE>
|
||||
<COND (<SET ACTOR <FIND-IN ,HERE ,PERSONBIT>>
|
||||
<PERFORM ,V?THANK .ACTOR>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL "Pleased to meet you." CR>)>)>>
|
||||
|
||||
;<ROUTINE HANDS-F ("AUX" P A)
|
||||
<COND (<NOT <SET P <FIND-BODY ,HANDS>>>
|
||||
<RTRUE>)
|
||||
(<REMOTE-VERB?>
|
||||
<RFALSE>)>
|
||||
<COND ;(<EQUAL? .P ,PLAYER>
|
||||
<COND (<VERB? BRUSH>
|
||||
<RFALSE>)>)
|
||||
(<VERB? KISS>
|
||||
<COND (<AND <FSET? .P ,FEMALEBIT>
|
||||
<T? ,GENDER-KNOWN>
|
||||
<NOT <FSET? ,PLAYER ,FEMALEBIT>>>
|
||||
<PERFORM ,V?HELLO .P>)
|
||||
(T
|
||||
<PERFORM ,V?KISS .P>)>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? SHAKE TAKE> <DOBJ? HANDS>>
|
||||
<COND (<T? ,PRSI> ;<ZERO? .P>
|
||||
<SET P ,PRSI>)>
|
||||
;<COND (<ZERO? .P>
|
||||
<COND ;(<ADJ-USED? ,W?HER>
|
||||
<SET P <FIND-FLAG-HERE-BOTH ,PERSONBIT,FEMALEBIT,WINNER>>
|
||||
<COND (<ZERO? .P>
|
||||
<TELL "There's no woman here!" CR>
|
||||
<RTRUE>)>)
|
||||
;(<ADJ-USED? ,W?HIS>
|
||||
<SET P <FIND-FLAG-HERE-NOT ,PERSONBIT ,FEMALEBIT,WINNER>>
|
||||
<COND (<ZERO? .P>
|
||||
<TELL "There's no man here!" CR>
|
||||
<RTRUE>)>)
|
||||
(T
|
||||
<SET P <FIND-FLAG-HERE ,PERSONBIT ,WINNER>>
|
||||
<COND (<ZERO? .P>
|
||||
<TELL "There's no one here!" CR>
|
||||
<RTRUE>)>)>)>
|
||||
<PERFORM ,V?HELLO .P>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT HEAD
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(OWNER BODY-PARTS-OWNERS)
|
||||
(DESC ;"your " "head")
|
||||
(SYNONYM HEAD FACE)
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION HEAD-F)>
|
||||
|
||||
<ROUTINE HEAD-F ()
|
||||
<COND (<VERB? NOD>
|
||||
<PERFORM ,V?YES>
|
||||
<RTRUE>)
|
||||
(<VERB? SHAKE>
|
||||
<PERFORM ,V?NO>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT EYES
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(OWNER BODY-PARTS-OWNERS)
|
||||
(DESC ;"your " "eyes")
|
||||
(SYNONYM EYE EYES)
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION EYES-F)>
|
||||
|
||||
<ROUTINE EYES-F ()
|
||||
<COND (<VERB? OPEN>
|
||||
<TELL "They are." CR>)
|
||||
(<VERB? CLOSE>
|
||||
<TELL "That won't help." CR>)>>
|
||||
|
||||
<OBJECT TEETH
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC ;"your " "teeth")
|
||||
(SYNONYM TEETH)
|
||||
(FLAGS NARTICLEBIT)>
|
||||
|
||||
<OBJECT EARS
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC ;"your " "ears")
|
||||
(SYNONYM EAR EARS)
|
||||
(FLAGS NARTICLEBIT)>
|
||||
|
||||
<OBJECT THIRD-PLANET
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "third planet")
|
||||
(ADJECTIVE THIRD BLUE BLUE-GREEN GREEN SMALL)
|
||||
(SYNONYM PLANET EARTH)
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION THIRD-PLANET-F)>
|
||||
|
||||
<ROUTINE THIRD-PLANET-F ()
|
||||
<COND (<VERB? LEAVE DISEMBARK>
|
||||
<TELL "You did!" CR>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL
|
||||
"It is an utterly insignificant little blue-green planet, of the sort
|
||||
where they probably still wear digital watches." CR>)>>
|
||||
|
||||
<OBJECT OBJECT-OF-GAME
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "object of the game")
|
||||
(SYNONYM OBJECT GAME GOAL)
|
||||
(FLAGS VOWELBIT)
|
||||
(ACTION OBJECT-OF-GAME-F)>
|
||||
|
||||
<ROUTINE OBJECT-OF-GAME-F ()
|
||||
<COND (<VERB? ASK-ABOUT TALK-ABOUT TELL-ABOUT>
|
||||
<TELL "That's for me to know and you to find out." CR>)>>
|
||||
|
||||
<OBJECT SKY
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "sky")
|
||||
(SYNONYM SKY)
|
||||
(ACTION SKY-F)>
|
||||
|
||||
<ROUTINE SKY-F ()
|
||||
<COND (<NOT <OUTSIDE? ,HERE>>
|
||||
<NOT-HERE ,SKY>)
|
||||
;(<AND <IN? ,FLEET ,HERE>
|
||||
<VERB? EXAMINE>>
|
||||
<TELL
|
||||
"The sky is filled with the ships of the " D ,FLEET "." CR>)>>
|
|
@ -0,0 +1,295 @@
|
|||
-date- -rel- -size- -pre- -obj- -glo- -voc-
|
||||
11/05 -1 56352 11398 42 128 612
|
||||
11/06 -1 56586 12212 54 121 668
|
||||
11/07 -1 53332 12562 58 133 684
|
||||
11/07 3 53320 12562 58 133 684
|
||||
11/13 4 59278 12664 59 139 686
|
||||
11/13 5 55486 12664 59 139 686
|
||||
11/13 6 54650 12483 59 137 682
|
||||
11/13 7 53546 12473 59 132 682
|
||||
11/17 8 53206 12467 58 132 682
|
||||
1/22 1 54838 15089 58 134 690
|
||||
1/22 2 54838 15089 58 134 690
|
||||
1/23 3 55258 15255 58 137 690
|
||||
1/23 3 55142 15255 58 137 690
|
||||
1/23 3 55154 15255 58 137 690
|
||||
1/23 3 55154 15255 58 137 690
|
||||
1/23 3 55190 15255 58 137 690
|
||||
1/23 3 55198 15255 58 137 690
|
||||
1/23 3 55202 15255 58 137 690
|
||||
1/23 4 55230 15203 58 137 687
|
||||
1/23 4 55234 15203 58 137 687
|
||||
1/23 4 55234 15203 58 137 687
|
||||
1/23 4 55258 15203 58 137 687
|
||||
1/23 5 55050 15057 58 135 689
|
||||
3/09 6 55210 15085 58 137 690
|
||||
3/09 6 55210 15085 58 137 690
|
||||
3/09 -1 55210 15085 58 137 690
|
||||
3/09 -1 55210 15085 58 137 690
|
||||
3/09 6 55234 15085 58 137 690
|
||||
3/09 6 55234 15085 58 137 690
|
||||
3/09 7 55270 15083 58 136 690
|
||||
3/09 8 55338 15081 58 135 690
|
||||
3/09 8 55342 15081 58 135 690
|
||||
3/09 8 55354 15081 58 135 690
|
||||
3/09 8 55418 15081 58 135 690
|
||||
3/09 8 55418 15081 58 135 690
|
||||
3/09 9 55474 15107 58 136 691
|
||||
3/10 -1 55482 15107 58 136 691
|
||||
3/10 9 55482 15107 58 136 691
|
||||
3/10 9 55506 15107 58 136 691
|
||||
3/10 10 55606 15212 58 137 692
|
||||
3/11 11 55806 15371 58 137 692
|
||||
3/11 11 55810 15371 58 137 692
|
||||
3/11 11 55810 15371 58 137 692
|
||||
3/16 12 55882 15383 58 139 692
|
||||
3/16 12 55934 15419 58 139 692
|
||||
3/16 12 55934 15419 58 139 692
|
||||
3/16 12 55942 15419 58 139 692
|
||||
3/16 12 55946 15419 58 139 692
|
||||
3/18 13 55978 15419 58 139 692
|
||||
3/18 14 55998 15419 58 139 692
|
||||
3/18 14 55994 15419 58 139 692
|
||||
3/20 15 57662 16969 58 140 693
|
||||
3/20 15 57666 16969 58 140 693
|
||||
3/20 15 57682 16969 58 140 693
|
||||
3/20 15 57678 16969 58 140 693
|
||||
3/20 15 57682 16969 58 140 693
|
||||
3/20 15 57694 16969 58 140 693
|
||||
3/20 15 57690 16969 58 140 693
|
||||
3/20 15 57694 16969 58 140 693
|
||||
3/20 15 57698 16969 58 140 693
|
||||
3/20 15 57702 16969 58 140 693
|
||||
3/23 16 57902 16993 58 140 694
|
||||
3/23 16 57966 17053 58 140 694
|
||||
3/23 16 57970 17053 58 140 694
|
||||
3/25 17 58122 17077 58 140 695
|
||||
3/25 17 58162 17077 58 140 695
|
||||
3/25 18 58258 17125 58 140 697
|
||||
3/27 19 58286 17129 58 141 697
|
||||
3/27 19 58286 17129 58 141 697
|
||||
3/30 19 58374 17129 58 141 697
|
||||
3/30 19 58362 17129 58 141 697
|
||||
3/31 19 58350 17129 58 141 697
|
||||
3/31 19 58354 17129 58 141 697
|
||||
3/31 19 58354 17129 58 141 697
|
||||
3/31 19 58346 17129 58 141 697
|
||||
3/31 19 58342 17129 58 141 697
|
||||
3/31 20 58418 17129 58 141 697
|
||||
3/31 20 58414 17129 58 141 697
|
||||
4/06 21 58422 17129 58 141 697
|
||||
4/06 21 58422 17129 58 141 697
|
||||
4/06 21 58442 17129 58 141 697
|
||||
4/06 21 58442 17129 58 141 697
|
||||
4/06 21 58446 17129 58 141 697
|
||||
4/06 21 58454 17129 58 141 697
|
||||
4/06 21 58458 17129 58 141 697
|
||||
4/08 21 58502 17129 58 141 697
|
||||
4/08 21 58506 17129 58 141 697
|
||||
4/16 22 58486 17129 58 141 697
|
||||
4/16 23 58550 17129 58 141 697
|
||||
4/16 23 58538 17129 58 141 697
|
||||
4/16 23 58546 17129 58 141 697
|
||||
4/17 23 58582 17131 58 142 697
|
||||
4/17 23 58566 17131 58 142 697
|
||||
4/17 23 58582 17131 58 142 697
|
||||
4/17 23 58574 17131 58 142 697
|
||||
5/12 24 58578 17131 58 142 697
|
||||
7/06 25 59840 20661 60 113 590
|
||||
7/07 26 60044 20823 60 113 592
|
||||
7/07 27 60864 20846 60 107 592
|
||||
7/07 27 60864 20846 60 107 592
|
||||
7/07 27 60852 20846 60 107 592
|
||||
7/08 27 60836 20846 60 107 592
|
||||
7/08 28 60864 20846 60 107 592
|
||||
7/30 29 60880 20844 60 107 593
|
||||
8/10 30 60904 20878 60 107 594
|
||||
8/11 31 60972 20878 60 107 594
|
||||
8/12 32 60644 20876 60 106 594
|
||||
8/12 33 61136 20876 60 106 594
|
||||
8/12 33 61132 20876 60 106 594
|
||||
8/12 34 60984 20879 60 106 594
|
||||
8/13 35 61136 20879 60 106 594
|
||||
8/13 36 57708 18795 60 84 587
|
||||
8/13 37 0 0 0 0 0
|
||||
8/14 37 57700 18795 60 84 587
|
||||
8/14 38 57608 18795 60 84 587
|
||||
8/19 39 57444 18410 59 83 563
|
||||
8/19 40 59144 18651 59 83 563
|
||||
8/21 41 59420 18818 61 84 567
|
||||
8/26 42 59084 18808 61 85 567
|
||||
8/26 43 59072 18814 61 85 567
|
||||
8/26 44 59072 18814 61 85 567
|
||||
9/03 45 59016 18554 61 85 566
|
||||
9/03 46 58684 18491 61 85 566
|
||||
9/03 46 58684 18491 61 85 566
|
||||
9/03 46 58688 18491 61 85 566
|
||||
9/03 46 58700 18491 61 85 566
|
||||
9/03 46 58716 18491 61 85 566
|
||||
9/11 47 58716 18491 61 85 566
|
||||
9/11 48 58828 18503 61 85 567
|
||||
9/11 48 58816 18503 61 85 567
|
||||
9/11 48 58816 18503 61 85 567
|
||||
9/11 48 58852 18503 61 85 567
|
||||
9/14 49 58888 18540 62 85 567
|
||||
9/15 50 58916 18540 62 85 567
|
||||
9/15 51 59336 18790 62 85 568
|
||||
9/15 52 59340 18790 62 85 568
|
||||
9/15 52 59340 18790 62 85 568
|
||||
9/17 53 59440 18894 64 85 571
|
||||
9/18 54 59452 18706 64 86 571
|
||||
9/21 54 59452 18706 64 86 571
|
||||
9/21 55 59844 19065 64 86 571
|
||||
9/21 55 59848 19065 64 86 571
|
||||
9/21 55 59852 19065 64 86 571
|
||||
9/21 55 59852 19065 64 86 571
|
||||
9/21 56 59852 19064 64 86 571
|
||||
9/21 57 59880 19065 64 86 571
|
||||
9/21 58 59900 19065 64 86 571
|
||||
9/21 59 60068 19161 66 86 572
|
||||
9/21 59 60068 19161 66 86 572
|
||||
9/21 59 60064 19161 66 86 572
|
||||
9/21 60 60084 19161 66 86 572
|
||||
9/23 61 60100 19161 66 86 572
|
||||
9/23 62 60128 19161 66 86 572
|
||||
9/23 63 60160 19161 66 86 572
|
||||
9/23 64 60132 19161 66 86 572
|
||||
9/23 65 60132 19161 66 86 572
|
||||
9/23 66 60008 19161 66 86 572
|
||||
9/23 67 60080 19175 66 86 572
|
||||
9/23 67 60080 19175 66 86 572
|
||||
9/24 68 60160 19175 66 86 572
|
||||
9/24 69 60188 19175 66 86 572
|
||||
9/24 69 60192 19175 66 86 572
|
||||
9/24 70 60196 19175 66 86 572
|
||||
9/24 70 60196 19175 66 86 572
|
||||
9/24 70 60200 19175 66 86 572
|
||||
9/24 71 60200 19175 66 86 572
|
||||
9/25 72 60224 19177 66 87 572
|
||||
9/25 73 60284 19177 66 87 572
|
||||
9/25 73 60284 19177 66 87 572
|
||||
9/25 73 60296 19177 66 87 572
|
||||
9/25 73 60312 19177 66 87 572
|
||||
9/29 74 60312 19177 66 87 572
|
||||
10/07 75 16074 4304 5 46 44
|
||||
10/07 76 60076 19139 66 87 572
|
||||
10/07 77 60432 19139 66 87 572
|
||||
10/08 78 60428 19143 66 87 572
|
||||
10/08 79 60428 19143 66 87 572
|
||||
10/08 79 60428 19143 66 87 572
|
||||
10/08 80 60428 19143 66 87 572
|
||||
10/08 81 60436 19143 66 87 572
|
||||
10/08 82 60444 19143 66 87 572
|
||||
10/09 83 60444 19143 66 87 572
|
||||
10/09 84 60444 19142 66 87 572
|
||||
10/09 85 61008 19357 66 87 576
|
||||
10/09 86 60956 19333 66 87 574
|
||||
10/09 87 60928 19307 66 87 574
|
||||
10/14 88 61104 19333 66 88 575
|
||||
10/14 88 61100 19333 66 88 575
|
||||
10/14 89 61292 19371 67 88 576
|
||||
10/14 90 61324 19371 67 88 576
|
||||
10/21 91 61764 19369 67 87 576
|
||||
10/21 92 61184 19369 67 87 576
|
||||
10/21 93 61136 19369 67 87 576
|
||||
10/22 94 61136 19369 67 87 576
|
||||
10/22 95 61192 19369 67 87 576
|
||||
12/18 96 61984 19669 65 85 573
|
||||
12/18 97 63156 19830 68 84 577
|
||||
1/12 98 63264 19960 69 84 586
|
||||
1/12 99 64780 21146 69 87 682
|
||||
1/12 100 64768 21146 69 87 682
|
||||
1/12 100 64768 21146 69 87 682
|
||||
1/18 -1 64980 21148 69 88 682
|
||||
1/18 98 64980 21148 69 88 682
|
||||
1/26 99 65204 21071 69 87 685
|
||||
1/26 100 64024 21071 69 87 685
|
||||
1/26 101 64832 21071 69 87 685
|
||||
1/26 102 64804 21071 69 87 685
|
||||
1/26 103 0 0 0 0 0
|
||||
1/27 103 64912 21071 69 87 685
|
||||
1/27 104 64924 21083 69 87 685
|
||||
1/27 105 64964 21083 69 87 685
|
||||
1/28 106 65036 21154 70 87 687
|
||||
1/28 106 65036 21154 70 87 687
|
||||
1/28 106 65048 21154 70 87 687
|
||||
1/28 107 65220 21186 70 87 687
|
||||
1/28 108 65280 21225 70 87 687
|
||||
1/28 109 65268 21225 70 87 687
|
||||
1/28 110 65284 21225 70 87 687
|
||||
1/28 111 65276 21225 70 87 687
|
||||
1/28 112 65296 21225 70 87 687
|
||||
1/28 112 65292 21225 70 87 687
|
||||
1/28 113 65374 21274 70 87 687
|
||||
1/28 114 65422 21274 70 87 687
|
||||
1/28 114 65422 21274 70 87 687
|
||||
1/28 115 65422 21274 70 87 687
|
||||
1/28 115 65422 21274 70 87 687
|
||||
1/28 116 65416 21274 70 87 687
|
||||
1/29 117 65420 21274 70 87 687
|
||||
2/01 118 65418 21268 70 87 687
|
||||
2/01 119 65438 21268 70 87 687
|
||||
2/01 120 65426 21268 70 87 687
|
||||
2/01 121 65402 21268 70 87 687
|
||||
2/05 122 65464 21270 70 87 687
|
||||
2/05 123 65504 21270 70 87 687
|
||||
2/05 124 65476 21243 70 87 687
|
||||
2/05 125 65940 21705 70 87 687
|
||||
2/05 126 65940 21707 70 87 687
|
||||
2/08 127 65560 21707 70 87 687
|
||||
2/08 131 66530 21711 70 88 687
|
||||
2/09 132 66410 21706 70 88 687
|
||||
2/09 133 66348 21722 70 88 687
|
||||
2/09 134 66348 21724 70 88 687
|
||||
2/09 135 66256 21722 70 88 687
|
||||
2/09 136 66256 21724 70 88 687
|
||||
2/09 137 66296 21726 70 89 687
|
||||
2/10 138 66312 21744 70 89 687
|
||||
2/10 139 66312 21744 70 89 687
|
||||
2/10 140 66304 21744 70 89 687
|
||||
2/10 141 66288 21726 70 89 687
|
||||
2/10 142 66300 21727 70 88 687
|
||||
2/10 143 66248 21727 70 88 687
|
||||
2/10 144 66324 21727 70 88 687
|
||||
2/10 145 66316 21727 70 88 687
|
||||
2/12 146 66124 21744 71 87 687
|
||||
2/12 147 66148 21744 71 87 687
|
||||
2/12 148 66144 21744 71 87 687
|
||||
2/12 148 66144 21744 71 87 687
|
||||
2/12 148 66144 21744 71 87 687
|
||||
2/17 149 66228 21744 71 87 687
|
||||
2/22 150 66216 21760 71 82 687
|
||||
2/23 151 66020 21760 71 82 687
|
||||
10/24 152 76330 21114 74 84 686
|
||||
10/24 153 76314 21114 74 84 686
|
||||
3/09 154 78888 20814 70 84 678
|
||||
3/10 155 78120 20814 70 84 678
|
||||
3/10 156 78856 20814 70 84 678
|
||||
3/10 157 79064 21058 75 84 687
|
||||
3/10 158 79064 21064 75 84 687
|
||||
3/10 159 79064 21064 75 84 687
|
||||
3/10 160 79064 21064 75 84 687
|
||||
3/10 161 79176 21166 75 84 687
|
||||
3/14 162 79176 21166 75 84 687
|
||||
3/14 163 79240 21063 75 84 687
|
||||
3/16 164 79168 21065 75 84 687
|
||||
3/16 165 79176 21067 75 85 687
|
||||
3/16 166 79176 21067 75 85 687
|
||||
3/16 167 79176 21067 75 85 687
|
||||
3/16 168 79176 21067 75 85 687
|
||||
3/17 169 79176 21067 75 85 687
|
||||
3/17 170 79176 21067 75 85 687
|
||||
3/17 171 79232 21067 75 85 687
|
||||
3/17 172 79392 21067 75 85 687
|
||||
3/17 173 79488 21067 75 85 687
|
||||
3/18 174 79616 21067 75 85 687
|
||||
3/18 175 79512 21067 75 85 687
|
||||
3/18 176 79496 21067 75 85 687
|
||||
3/18 177 79496 21067 75 85 687
|
||||
3/18 178 79496 21067 75 85 687
|
||||
3/20 179 79496 21067 75 85 687
|
||||
3/20 180 79496 21067 75 85 687
|
||||
3/23 181 79136 20821 75 85 687
|
||||
3/27 182 79144 20772 75 85 687
|
||||
3/29 183 79184 20777 75 85 688
|
||||
4/12 184 79152 20770 75 84 687
|
|
@ -0,0 +1,46 @@
|
|||
Release: 184
|
||||
0 Inserting h2.zap.
|
||||
64 Inserting h2dat.zap.
|
||||
"h2dat.zap", line 427: PLURAL=PLURALBIT
|
||||
-- warning - non-absolute value in equate
|
||||
20770 Inserting h2pur.zap.
|
||||
21196 Inserting pstack.zap.
|
||||
21234 Inserting pmem.zap.
|
||||
21377 Inserting parser.zap.
|
||||
27788 Inserting find.zap.
|
||||
30041 Inserting reds.zap.
|
||||
36732 Inserting breds.zap.
|
||||
39028 Inserting top.zap.
|
||||
40645 Inserting prare.zap.
|
||||
45004 Inserting qverbs.zap.
|
||||
47485 Inserting macros.zap.
|
||||
47583 Inserting misc.zap.
|
||||
49011 Inserting verbs.zap.
|
||||
64352 Inserting things.zap.
|
||||
67828 Inserting places.zap.
|
||||
69546 Inserting magrathea.zap.
|
||||
70308 Inserting people.zap.
|
||||
73289 Inserting global.zap.
|
||||
74381 Inserting h2str.zap.
|
||||
"h2str.zap", line 58: "
|
||||
-- Undefined symbol PLURALBIT in fixup
|
||||
-- Undefined symbol PLURALBIT in fixup
|
||||
-- Undefined symbol PLURALBIT in fixup
|
||||
-- Undefined symbol READ-DEMO in fixup
|
||||
-- Undefined symbol PEOPLE in fixup
|
||||
-- "READ-DEMO" undefined.
|
||||
-- "PEOPLE" undefined.
|
||||
-- "PLURALBIT" undefined.
|
||||
Unreferenced string: STR?169
|
||||
Unreferenced function: SETUP-ORPHAN-NP
|
||||
Unreferenced table: RT?36110
|
||||
Unreferenced global: P-DIRECTION
|
||||
|
||||
Lexical buffer space allocated: 480120
|
||||
Max lexical space allocated at any one time: 48012
|
||||
Object buffer space allocated: 80000
|
||||
Source bytes read: 388365
|
||||
Object bytes written: 79152
|
||||
Preload: 20770; 75 objects; 84 globals; 687 words.
|
||||
Used 1:32
|
||||
Elapsed time 1:54
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
0
|
|
@ -0,0 +1,357 @@
|
|||
ZILCH of 3/22/89 12:16
|
||||
|
||||
Combined ZIL Compiler Ver 2.0 (MIM)
|
||||
-----------------------------------
|
||||
Input file: /USR/DEVELOPMENT/OLD/H2/H2.ZIL
|
||||
[Zaps always go to current directory]
|
||||
|
||||
[YZIP instructions]
|
||||
|
||||
Loading /USR/DEVELOPMENT/OLD/H2/DEFS.ZIL and compiling it.
|
||||
XFLOAD /USR/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/PARSER.H2.
|
||||
Loading /USR/DEVELOPMENT/INTERLOGIC/ZILLIB/CONSTANTS.ZIL and compiling it.
|
||||
Loading abstract /USR/DEVELOPMENT/OLD/H2/PSTACK.ZABSTR.
|
||||
Start segment 0
|
||||
End segment 0
|
||||
Loading abstract /USR/DEVELOPMENT/OLD/H2/PMEM.ZABSTR.
|
||||
Start segment 0
|
||||
End segment 0
|
||||
Loading /USR/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/PDEFS.ZIL and compiling it.
|
||||
Loading /USR/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/PARSER.ZIL and compiling it.
|
||||
|
||||
Start segment 0
|
||||
Compiling routine: INIT-STATUS-LINE
|
||||
Compiling routine: UPDATE-STATUS-LINE
|
||||
Compiling routine: DIGITS
|
||||
Compiling routine: READ-INPUT
|
||||
Compiling routine: SCRIPT-INBUF
|
||||
Compiling routine: SPECIAL-CONTRACTION?
|
||||
Compiling routine: EXPAND-BE-CONTRACTIONS
|
||||
Compiling routine: TELL-THE
|
||||
Compiling routine: TELL-CTHE
|
||||
Compiling routine: NAKED-DIR?
|
||||
Compiling routine: PARSER
|
||||
Compiling routine: GAME-VERB?
|
||||
Compiling routine: RED-SD
|
||||
Compiling routine: P-P
|
||||
Compiling routine: PARSE-IT
|
||||
Compiling routine: PARSE-SENTENCE
|
||||
Compiling routine: GET-TERMINAL-ACTION
|
||||
Compiling routine: GET-NONTERMINAL-ACTION
|
||||
Compiling routine: BE-PATIENT
|
||||
Compiling routine: MAIN-LOOP
|
||||
Compiling routine: MAIN-LOOP-1
|
||||
Compiling routine: PERF-MANY
|
||||
Compiling routine: QCONTEXT-CHECK
|
||||
Compiling routine: LIT?
|
||||
Compiling routine: IGNORE-FIRST-WORD
|
||||
Compiling routine: FIX-QUOTATIONS
|
||||
Compiling routine: MAIN-LOOP-IT
|
||||
Compiling routine: P-NO-MEM-ROUTINE
|
||||
Compiling routine: BEG-PARDON
|
||||
Compiling routine: UNKNOWN-WORD
|
||||
Compiling routine: WORD-PRINT
|
||||
Compiling routine: DO-OOPS
|
||||
Compiling routine: DO-AGAIN
|
||||
Compiling routine: NP-SAVE
|
||||
Compiling routine: PARSER-ERROR
|
||||
Compiling routine: BUZZER-WORD?
|
||||
Compiling routine: NUMBER?
|
||||
Compiling routine: CHANGE-LEXV
|
||||
Compiling routine: TELL-GWIM-MSG
|
||||
Compiling routine: DO-IT-AGAIN
|
||||
End segment 0
|
||||
Abstracting PARSER to /USR/DEVELOPMENT/OLD/H2/PARSER.
|
||||
Loading abstract /USR/DEVELOPMENT/OLD/H2/FIND.ZABSTR.
|
||||
Start segment 0
|
||||
End segment 0
|
||||
Loading /USR/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/REDS.ZIL and compiling it.
|
||||
|
||||
Start segment 0
|
||||
Compiling routine: DIR-VERB-PRSI?
|
||||
Compiling routine: RED-FCN
|
||||
Compiling routine: RED-PART
|
||||
Compiling routine: GET-SYNTAX
|
||||
Compiling routine: RED-SV
|
||||
Compiling routine: ROOT-VERB
|
||||
Compiling routine: RED-SVN
|
||||
Compiling routine: SVN
|
||||
Compiling routine: RED-SVPNPN
|
||||
Compiling routine: RED-SVD
|
||||
Compiling routine: RED-SP
|
||||
Compiling routine: IREDUCE-EXCEPTION
|
||||
Compiling routine: REDUCE-EXCEPT-IT
|
||||
Compiling routine: REDUCE-EXCEPTION
|
||||
Compiling routine: REDUCE-LOCATION
|
||||
Compiling routine: DETERMINE-OBJ
|
||||
Compiling routine: CHECK-DIR-ADJS
|
||||
Compiling routine: NUMERIC-ADJ?
|
||||
Compiling routine: DETERMINE-NP
|
||||
Compiling routine: DET-NP-NOT-HERE?
|
||||
Compiling routine: DET-NP-OWNEE?
|
||||
Compiling routine: FIND-OWNERS
|
||||
Compiling routine: READY-TO-DISAMBIGUATE?
|
||||
Compiling routine: DETERMINE-NP-XFER
|
||||
Compiling routine: DO-ORPHAN-TEST
|
||||
Compiling routine: RED-O-ADJ
|
||||
Compiling routine: RED-O-PP
|
||||
Compiling routine: INSERT-NP
|
||||
Compiling routine: TEST-SR
|
||||
Compiling routine: TEST-O-SR
|
||||
Compiling routine: RED-O-NP
|
||||
Compiling routine: RED-PERS
|
||||
Compiling routine: HACK-TELL
|
||||
Compiling routine: HACK-TELL-1
|
||||
Compiling routine: RED-VP
|
||||
Compiling routine: RED-NP
|
||||
Compiling routine: RED-OF
|
||||
Compiling routine: RED-QT
|
||||
Compiling routine: GET-QUANTITY-WORD
|
||||
Compiling routine: GET-QUANTITY
|
||||
Compiling routine: RED-QN
|
||||
Compiling routine: RED-NPP
|
||||
Compiling routine: RED-PP
|
||||
Compiling routine: RED-POSS
|
||||
Compiling routine: RED-ADJS
|
||||
Compiling routine: RED-ADJ
|
||||
Compiling routine: RED-QUOTE
|
||||
End segment 0
|
||||
Abstracting REDS to /USR/DEVELOPMENT/OLD/H2/REDS.
|
||||
Loading /USR/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/BREDS.ZIL and compiling it.
|
||||
|
||||
Start segment 0
|
||||
Compiling routine: RED-BE-FORM
|
||||
Compiling routine: EXCH-4-5-Q
|
||||
Compiling routine: RED-SBNN
|
||||
Compiling routine: RED-SNBN
|
||||
Compiling routine: DETERMINE-SUBJ
|
||||
Compiling routine: RED-SBNA
|
||||
Compiling routine: RED-SNBA
|
||||
Compiling routine: RED-SBNP
|
||||
Compiling routine: RED-SNBP
|
||||
Compiling routine: RED-SNBAP
|
||||
Compiling routine: P-PP-OBJ
|
||||
Compiling routine: P-PP-PREP
|
||||
Compiling routine: RED-SQBN
|
||||
Compiling routine: RED-BE
|
||||
Compiling routine: RED-NOT
|
||||
Compiling routine: RED-CANDO
|
||||
Compiling routine: INSERT-WHAT
|
||||
End segment 0
|
||||
Abstracting BREDS to /USR/DEVELOPMENT/OLD/H2/BREDS.
|
||||
Loading /USR/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/GRAM.ZIL and compiling it.
|
||||
Loading abstract /USR/DEVELOPMENT/OLD/H2/TOP.ZABSTR.
|
||||
Start segment 0
|
||||
End segment 0
|
||||
Loading /USR/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/PRARE.ZIL and compiling it.
|
||||
|
||||
Start segment 0
|
||||
Compiling routine: TOO-MANY-NEW
|
||||
Compiling routine: NAKED-OOPS
|
||||
Compiling routine: CANT-OOPS
|
||||
Compiling routine: CANT-AGAIN
|
||||
Compiling routine: CANT-USE-MULTIPLE
|
||||
Compiling routine: MAKE-ROOM-FOR-TOKENS
|
||||
Compiling routine: REPLACE-ONE-TOKEN
|
||||
Compiling routine: V-$REFRESH
|
||||
Compiling routine: PRINT-LEXV
|
||||
Compiling routine: COPY-INPUT
|
||||
End segment 0
|
||||
Start segment 0
|
||||
Compiling routine: BUFFER-PRINT
|
||||
Compiling routine: CAPITALIZE
|
||||
Compiling routine: PRINT-PARSER-FAILURE
|
||||
Compiling routine: NAKED-ADJECTIVE?
|
||||
Compiling routine: CHANGE-AND-TO-THEN?
|
||||
Compiling routine: DONT-UNDERSTAND
|
||||
Compiling routine: MISSING
|
||||
Compiling routine: CANT-FIND-OBJECT
|
||||
Compiling routine: NP-CANT-SEE
|
||||
Compiling routine: WINNER-SAYS-WHICH?
|
||||
Compiling routine: WHICH-LIST?
|
||||
Compiling routine: WHICH-PRINT
|
||||
Compiling routine: NP-PRINT
|
||||
Compiling routine: ADJS-PRINT
|
||||
Compiling routine: TOO-MANY-NOUNS
|
||||
Compiling routine: INBUF-ADD
|
||||
Compiling routine: INBUF-PRINT
|
||||
Compiling routine: YES?
|
||||
Compiling routine: SETUP-ORPHAN-NP
|
||||
Compiling routine: INSERT-ADJS
|
||||
Compiling routine: INSERT-ADJS-WD
|
||||
End segment 0
|
||||
Abstracting PRARE to /USR/DEVELOPMENT/OLD/H2/PRARE.
|
||||
Loading /USR/DEVELOPMENT/INTERLOGIC/ZILLIB/PARSER/QVERBS.ZIL and compiling it.
|
||||
|
||||
Start segment 0
|
||||
Compiling routine: WHAT-F
|
||||
Compiling routine: TELL-Q-WORD
|
||||
Compiling routine: TRY-QCONTEXT?
|
||||
Compiling routine: PRE-BE
|
||||
Compiling routine: V-BE
|
||||
Compiling routine: RIGHT-PREP?
|
||||
Compiling routine: V-BE?
|
||||
Compiling routine: V-WHO
|
||||
Compiling routine: V-WHAT
|
||||
Compiling routine: PRE-WHERE
|
||||
Compiling routine: V-WHERE
|
||||
Compiling routine: V-WHEN
|
||||
Compiling routine: V-WHY
|
||||
Compiling routine: V-HOW
|
||||
Compiling routine: QUIET?
|
||||
Compiling routine: OUTSIDE?
|
||||
Compiling routine: OPEN?
|
||||
Compiling routine: Q-CLOSED?
|
||||
Compiling routine: LOCKED?
|
||||
Compiling routine: UNLOCKED?
|
||||
Compiling routine: DEAD?
|
||||
Compiling routine: ALIVE?
|
||||
Compiling routine: PRSO-IS
|
||||
Compiling routine: PRINT-IS/ARE
|
||||
Compiling routine: IS-PRSO-ADJ?
|
||||
Compiling routine: V-STATEMENT
|
||||
Compiling routine: WHO-KNOWS
|
||||
Compiling routine: ECHO-NOUNS
|
||||
Compiling routine: V-CAN?
|
||||
Compiling routine: V-MAY?
|
||||
Compiling routine: V-DO?
|
||||
Compiling routine: V-COULD?
|
||||
Compiling routine: V-WOULD?
|
||||
Compiling routine: V-SHOULD?
|
||||
Compiling routine: V-MIGHT?
|
||||
Compiling routine: V-WILL?
|
||||
Compiling routine: V-MUST?
|
||||
Compiling routine: PRE-DROP?
|
||||
Compiling routine: V-DROP?
|
||||
Compiling routine: V-DISEMBARK?
|
||||
Compiling routine: PRE-TAKE?
|
||||
Compiling routine: V-TAKE?
|
||||
End segment 0
|
||||
Abstracting QVERBS to /USR/DEVELOPMENT/OLD/H2/QVERBS.
|
||||
Loading /USR/DEVELOPMENT/OLD/H2/MACROS.ZIL and compiling it
|
||||
because not abstracted.
|
||||
Compiling routine: SEE-VERB?
|
||||
Compiling routine: SPEAKING-VERB?
|
||||
Loading /USR/DEVELOPMENT/OLD/H2/MISC.ZIL and compiling it.
|
||||
Compiling routine: GO
|
||||
Compiling routine: INTRO
|
||||
Compiling routine: PRINT-THE
|
||||
Compiling routine: THE?
|
||||
Compiling routine: START-SENTENCE
|
||||
Compiling routine: PRINTA
|
||||
Compiling routine: THIS-IS-IT
|
||||
Compiling routine: NO-PRONOUN?
|
||||
Compiling routine: HE-SHE-IT
|
||||
Compiling routine: HIM-HER-IT
|
||||
Compiling routine: I-PROMPT
|
||||
Compiling routine: DONT-F
|
||||
Compiling routine: NOT-FOUND
|
||||
Compiling routine: VERB-PRINT
|
||||
Compiling routine: NOT-IT
|
||||
Compiling routine: CAPITAL-NOUN?
|
||||
Compiling routine: TITLE-NOUN?
|
||||
Compiling routine: QUEUE
|
||||
Compiling routine: INT
|
||||
Compiling routine: CLOCKER
|
||||
Abstracting MISC to /USR/DEVELOPMENT/OLD/H2/MISC.
|
||||
Loading /USR/DEVELOPMENT/OLD/H2/SYNTAX.ZIL and compiling it.
|
||||
Loading abstract /USR/DEVELOPMENT/OLD/H2/VERBS.ZABSTR.
|
||||
Loading abstract /USR/DEVELOPMENT/OLD/H2/THINGS.ZABSTR.
|
||||
Loading /USR/DEVELOPMENT/OLD/H2/PLACES.ZIL and compiling it.
|
||||
|
||||
Compiling routine: DOOR-ROOM
|
||||
Compiling routine: FIND-IN
|
||||
Compiling routine: FIND-FLAG-NOT
|
||||
Compiling routine: FIND-FLAG-LG
|
||||
Compiling routine: FIND-FLAG-HERE
|
||||
Compiling routine: FIND-FLAG-HERE-NOT
|
||||
Compiling routine: UNIMPORTANT-THING-F
|
||||
Compiling routine: WINDOW-F
|
||||
Compiling routine: PUB-F
|
||||
Compiling routine: BEER-F
|
||||
Compiling routine: SANDWICH-F
|
||||
Abstracting PLACES to /USR/DEVELOPMENT/OLD/H2/PLACES.
|
||||
Loading abstract /USR/DEVELOPMENT/OLD/H2/MAGRATHEA.ZABSTR.
|
||||
Loading abstract /USR/DEVELOPMENT/OLD/H2/PEOPLE.ZABSTR.
|
||||
Loading abstract /USR/DEVELOPMENT/OLD/H2/GLOBAL.ZABSTR.
|
||||
** Warning: Undefined Routine: READ-DEMO
|
||||
** Warning: Never defined - PLURALBIT
|
||||
|
||||
Warnings: 2
|
||||
** Note: OBJECT has no properties: INTQUOTE
|
||||
** Note: OBJECT has no properties: ROOMS
|
||||
** Note: OBJECT has no properties: WHALE-CRATER-BOX
|
||||
Vocabulary: 687
|
||||
|
||||
Verbs: 139
|
||||
|
||||
Real globals: 82
|
||||
|
||||
AWAITING-REPLY OPRSO PMEM-STORE-POINTER
|
||||
C-INTS OTLEXV PMEM-STORE-WARN
|
||||
C-TABLE P-CAN-UNDO PMEM-STORE-WORDS
|
||||
CLOCK-WAIT P-CONT PMEM-WORDS-USED
|
||||
CLOCKER-RUNNING P-DBUG PRSA
|
||||
CURRENT-REDUCTION P-DIRECTION PRSI
|
||||
DEMO-VERSION? P-HER-OBJECT PRSI-NP
|
||||
DRUNK-LEVEL P-HIM-OBJECT PRSO
|
||||
ERROR-PRIORITY P-IT-OBJECT PRSO-NP
|
||||
ERROR-STRING P-LEN PRSQ
|
||||
FOLLOWER P-MULT PRSS
|
||||
FOUND-IT P-NOT-HERE QCONTEXT
|
||||
FOUND-LOC P-NUMBER SANDWICH-BOUGHT
|
||||
FUMBLE-NUMBER P-OFLAG SCORE
|
||||
FUMBLE-PROB P-OLEN SCREENWIDTH
|
||||
HERE P-PROMPT SEARCH-FLAGS
|
||||
HO-HUM P-PRSA-WORD SPLITS
|
||||
IDEBUG P-PRSI TLEXV
|
||||
IMPOSSIBLES P-PRSO TRAILS-ALONG
|
||||
ITEM-ON-SATCHEL P-RESPONDED VERBOSITY
|
||||
KEEP-WAITING P-RUNNING WASTES
|
||||
LAST-PSEUDO-LOC P-THEM-OBJECT WHO-CARES-TBL
|
||||
LIT P-WALK-DIR WHO-CARES-VERB
|
||||
MOVES P-WON WINNER
|
||||
NOW-PRSI P-WORD-NUMBER YAWNS
|
||||
OBJ-SWAP P-WORDS-AGAIN YUKS
|
||||
OHERE PARSE-SENTENCE-ACTIVATION
|
||||
OLD-HERE PARSER-RESULT
|
||||
|
||||
Objects: 75
|
||||
|
||||
BABEL-FISH GUIDE LIP4 SMALL-BLUE-FROB
|
||||
BEER HANDS LOCAL-GLOBALS STAIRS
|
||||
BIG-BLUE-FROB HATCH MARVIN TABLE-RANDOM
|
||||
BLIGHTED-GROUND HATCHWAY NOT-HERE-OBJECT TEETH
|
||||
CHAIR HEAD OBJECT-OF-GAME THEM
|
||||
DANGER HEART-OF-GOLD PLAYER THING
|
||||
DINNER HER PSEUDO-OBJECT THIRD-PLANET
|
||||
EARS HIM PUB TOOTHBRUSH
|
||||
EYES INTADJ PUB-FURNISHINGS TOWEL
|
||||
FLOOR INTDIR RAMP TRILLIAN
|
||||
FORD INTNUM RED-FROB TURN
|
||||
FRUSTATION INTPP ROOMS WALL
|
||||
GAME INTQUOTE SANDWICH WHALE-CRATER
|
||||
GARGLE-BLASTER IT SATCHEL WHALE-CRATER-BOX
|
||||
GENERIC-OBJECTS LEDGE SCC WHAT
|
||||
GLOBAL-HERE LIGHT-GLOBAL SCREWDRIVER WINDOW
|
||||
GLOBAL-OBJECTS LIP1 SKY YOU
|
||||
GOWN LIP2 SLEEP-GLOBAL ZAPHOD
|
||||
GREEN-FROB LIP3 SLEEVES
|
||||
|
||||
Properties: 29
|
||||
|
||||
P?ACTION P?CONTFCN P?GENERIC P?NE P?SE P?TEXT
|
||||
P?ADJACENT P?DESCFCN P?GLOBAL P?NORTH P?SIZE P?THINGS
|
||||
P?ADJECTIVE P?DOWN P?IN P?NW P?SOUTH P?UP
|
||||
P?CAPACITY P?EAST P?LDESC P?OUT P?SW P?WEST
|
||||
P?CHARACTER P?FDESC P?LINE P?OWNER P?SYNONYM
|
||||
|
||||
Flags: 39
|
||||
|
||||
CONTBIT INVISIBLE ONBIT READBIT SURFACEBIT VOWELBIT
|
||||
DEAD LIGHTBIT ONLANDBIT RLANDBIT TAKEBIT WEAPONBIT
|
||||
DOORBIT LOCKED OPENABLE RMUNGBIT TOOLBIT WEARBIT
|
||||
DRINKBIT MUNGBIT OPENBIT ROOMSBIT TOUCHBIT WORNBIT
|
||||
EATBIT NARTICLEBIT OUTSIDE SEARCHBIT TRANSBIT
|
||||
FEMALE NDESCBIT PERSONBIT SECRETBIT TRYTAKEBIT
|
||||
FEMALEBIT NOTHEBIT PLURAL SEENBIT VEHBIT
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,58 @@
|
|||
.NEW 6
|
||||
; Low core locations
|
||||
%ZVERSION:: .BYTE 6
|
||||
.BYTE FLAGS
|
||||
%ZORKID:: ZORKID
|
||||
%ENDLOD:: ENDLOD
|
||||
%START:: GO
|
||||
%VOCAB:: VOCAB
|
||||
%OBJECT:: OBJECT
|
||||
%GLOBAL:: GLOBAL
|
||||
%PURBOT:: IMPURE
|
||||
%FLAGS:: .WORD 16
|
||||
%SERIAL:: .WORD 0
|
||||
%SERI1:: .WORD 0
|
||||
%SERI2:: .WORD 0
|
||||
%FWORDS:: .WORD 0
|
||||
%PLENTH:: .WORD 0
|
||||
%PCHKSM:: .WORD 0
|
||||
%INTWRD:: .WORD 0
|
||||
%SCRWRD:: .WORD 0
|
||||
%HWRD:: .WORD 0
|
||||
%VWRD:: .WORD 0
|
||||
%FWRD:: .WORD 0
|
||||
%FOFF:: FOFF
|
||||
%SOFF:: SOFF
|
||||
%CLRWRD:: .WORD 0
|
||||
%TCHAR:: 0
|
||||
%TWID:: .WORD 0
|
||||
%CRFUNC:: .WORD 0
|
||||
%CHRSET:: .WORD 0
|
||||
%EXTAB:: 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.INSERT "H2DAT" ; Data file
|
||||
.INSERT "H2PUR"
|
||||
.INSERT "PSTACK"
|
||||
.INSERT "PMEM"
|
||||
.INSERT "PARSER"
|
||||
.INSERT "FIND"
|
||||
.INSERT "REDS"
|
||||
.INSERT "BREDS"
|
||||
.INSERT "TOP"
|
||||
.INSERT "PRARE"
|
||||
.INSERT "QVERBS"
|
||||
.INSERT "MACROS"
|
||||
.INSERT "MISC"
|
||||
.INSERT "VERBS"
|
||||
.INSERT "THINGS"
|
||||
.INSERT "PLACES"
|
||||
.INSERT "MAGRATHEA"
|
||||
.INSERT "PEOPLE"
|
||||
.INSERT "GLOBAL"
|
||||
|
||||
.INSERT "H2STR"
|
||||
|
||||
.END
|
|
@ -0,0 +1,43 @@
|
|||
"COMPILE/LOAD FILE for MILLIWAYS
|
||||
Copyright (C) 1988 Infocom, Inc. All rights reserved."
|
||||
|
||||
<SETG ZDEBUGGING? T>
|
||||
<DEFINE DEBUG-CODE ('X "OPTIONAL" ('Y T))
|
||||
<COND (,ZDEBUGGING? .X) (ELSE .Y)>>
|
||||
|
||||
<SETG NEW-PARSER? T>
|
||||
;<FREQUENT-WORDS?>
|
||||
;<LONG-WORDS?>
|
||||
<NEVER-ZAP-TO-SOURCE-DIRECTORY?>
|
||||
<ZIP-OPTIONS UNDO>
|
||||
<VERSION YZIP>
|
||||
|
||||
<IFFLAG (IN-ZILCH
|
||||
<PRINC "Compiling">)
|
||||
(T <PRINC "Loading">)>
|
||||
|
||||
<PRINC " MILLIWAYS: interactive fiction from Infocom!
|
||||
">
|
||||
|
||||
ON!-INITIAL "for ZIL debugging"
|
||||
OFF!-INITIAL
|
||||
ENABLE!-INITIAL
|
||||
DISABLE!-INITIAL
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<INSERT-FILE "DEFS">
|
||||
|
||||
<XFLOAD "parser.h2">
|
||||
|
||||
<INSERT-FILE "MACROS">
|
||||
<INSERT-FILE "MISC">
|
||||
<INSERT-FILE "SYNTAX">
|
||||
<INSERT-FILE "VERBS">
|
||||
<INSERT-FILE "THINGS">
|
||||
<INSERT-FILE "PLACES">
|
||||
<INSERT-FILE "MAGRATHEA">
|
||||
<INSERT-FILE "PEOPLE">
|
||||
<INSERT-FILE "GLOBAL">
|
||||
|
||||
<PROPDEF SIZE 5>
|
|
@ -0,0 +1,200 @@
|
|||
.FSTR FSTR?1,"the " ;292 147
|
||||
.FSTR FSTR?2,"You " ;210 71
|
||||
.FSTR FSTR?3,"you " ;196 99
|
||||
.FSTR FSTR?4,", " ;166 167
|
||||
.FSTR FSTR?5,"and " ;142 72
|
||||
.FSTR FSTR?6,"your " ;129 44
|
||||
.FSTR FSTR?7,"The " ;114 39
|
||||
.FSTR FSTR?8,"to " ;105 106
|
||||
.FSTR FSTR?9,"There's " ;88 12
|
||||
.FSTR FSTR?10,"that " ;84 29
|
||||
.FSTR FSTR?11,". " ;83 84
|
||||
.FSTR FSTR?12,"don't " ;75 16
|
||||
.FSTR FSTR?13,"is " ;74 75
|
||||
.FSTR FSTR?14,"of " ;70 71
|
||||
.FSTR FSTR?15,"crater " ;65 14
|
||||
.FSTR FSTR?16,"It's " ;65 14
|
||||
.FSTR FSTR?17,"You're " ;63 10
|
||||
.FSTR FSTR?18,"can't " ;60 13
|
||||
.FSTR FSTR?19,"already " ;60 11
|
||||
.FSTR FSTR?20,"for " ;58 30
|
||||
.FSTR FSTR?21,"with " ;57 20
|
||||
.FSTR FSTR?22,"doesn't " ;56 9
|
||||
.FSTR FSTR?23,"nothing " ;54 10
|
||||
.FSTR FSTR?24,"not " ;48 25
|
||||
.FSTR FSTR?25,"have " ;48 17
|
||||
.FSTR FSTR?26,"from " ;48 17
|
||||
.FSTR FSTR?27,"which " ;44 12
|
||||
.FSTR FSTR?28,"something " ;40 6
|
||||
.FSTR FSTR?29,"continues " ;40 6
|
||||
.FSTR FSTR?30,"want " ;39 14
|
||||
.FSTR FSTR?31,"like " ;39 14
|
||||
.FSTR FSTR?32,"in " ;37 38
|
||||
.FSTR FSTR?33,"you're " ;36 7
|
||||
.FSTR FSTR?34,"surface " ;36 7
|
||||
.FSTR FSTR?35,"understand " ;36 5
|
||||
.FSTR FSTR?36,"around " ;35 8
|
||||
.FSTR FSTR?37,"here" ;34 18
|
||||
.FSTR FSTR?38,"Okay" ;33 12
|
||||
.FSTR FSTR?39,"it " ;32 33
|
||||
.FSTR FSTR?40,"are " ;30 16
|
||||
.FSTR FSTR?41,"It " ;30 16
|
||||
.FSTR FSTR?42,"trying " ;30 7
|
||||
.FSTR FSTR?43,"isn't " ;30 7
|
||||
.FSTR FSTR?44,"There " ;30 7
|
||||
.FSTR FSTR?45,"Please " ;30 6
|
||||
.FSTR FSTR?46,"Don't " ;30 6
|
||||
.FSTR FSTR?47,"would " ;28 8
|
||||
.FSTR FSTR?48,"think " ;28 8
|
||||
.FSTR FSTR?49,"there " ;28 8
|
||||
.FSTR FSTR?50,"Ford " ;28 8
|
||||
.FSTR FSTR?51,"there's " ;28 5
|
||||
.FSTR FSTR?52,"anything " ;28 5
|
||||
.FSTR FSTR?53,"this " ;27 10
|
||||
.FSTR FSTR?54,"n't " ;27 10
|
||||
.FSTR FSTR?55,"Hitchhiker's " ;26 3
|
||||
.FSTR FSTR?56,"little " ;25 6
|
||||
.FSTR FSTR?57,"ground " ;25 6
|
||||
.FSTR FSTR?58,"but " ;24 13
|
||||
.FSTR FSTR?59,"very " ;24 9
|
||||
.FSTR FSTR?60,"know " ;24 9
|
||||
.FSTR FSTR?61,"just " ;24 9
|
||||
.FSTR FSTR?62,"Your " ;24 7
|
||||
.FSTR FSTR?63,"This " ;24 7
|
||||
.FSTR FSTR?64,"That " ;24 7
|
||||
.FSTR FSTR?65,"you've " ;24 5
|
||||
.FSTR FSTR?66,"talking " ;24 5
|
||||
.FSTR FSTR?67,"looking " ;24 5
|
||||
.FSTR FSTR?68,"on " ;22 23
|
||||
.FSTR FSTR?69,"at " ;22 23
|
||||
.FSTR FSTR?70,"can " ;22 12
|
||||
.FSTR FSTR?71,"about" ;21 8
|
||||
.FSTR FSTR?72,"Not " ;21 8
|
||||
.FSTR FSTR?73,"probably " ;21 4
|
||||
.FSTR FSTR?74,"you" ;20 21
|
||||
.FSTR FSTR?75,"no " ;20 21
|
||||
.FSTR FSTR?76,"I " ;20 21
|
||||
.FSTR FSTR?77,"that" ;20 11
|
||||
.FSTR FSTR?78,"has " ;20 11
|
||||
.FSTR FSTR?79,"whale " ;20 6
|
||||
.FSTR FSTR?80,"looks " ;20 6
|
||||
.FSTR FSTR?81,"inside" ;20 6
|
||||
.FSTR FSTR?82,"satchel" ;20 5
|
||||
.FSTR FSTR?83,"holding" ;20 5
|
||||
.FSTR FSTR?84,"Guide " ;20 5
|
||||
.FSTR FSTR?85,"as " ;18 19
|
||||
.FSTR FSTR?86,"more " ;18 7
|
||||
.FSTR FSTR?87,"look " ;18 7
|
||||
.FSTR FSTR?88,"good " ;18 7
|
||||
.FSTR FSTR?89,"first" ;18 7
|
||||
.FSTR FSTR?90,"down " ;18 7
|
||||
.FSTR FSTR?91,"through " ;18 4
|
||||
.FSTR FSTR?92,"Crater " ;18 4
|
||||
.FSTR FSTR?93,"between " ;18 4
|
||||
.FSTR FSTR?94,"Magrathea " ;18 3
|
||||
.FSTR FSTR?95,"see " ;16 9
|
||||
.FSTR FSTR?96,"out " ;16 9
|
||||
|
||||
|
||||
;word frequency table of 96 most common words
|
||||
|
||||
WORDS:: .TABLE
|
||||
FSTR?1
|
||||
FSTR?2
|
||||
FSTR?3
|
||||
FSTR?4
|
||||
FSTR?5
|
||||
FSTR?6
|
||||
FSTR?7
|
||||
FSTR?8
|
||||
FSTR?9
|
||||
FSTR?10
|
||||
FSTR?11
|
||||
FSTR?12
|
||||
FSTR?13
|
||||
FSTR?14
|
||||
FSTR?15
|
||||
FSTR?16
|
||||
FSTR?17
|
||||
FSTR?18
|
||||
FSTR?19
|
||||
FSTR?20
|
||||
FSTR?21
|
||||
FSTR?22
|
||||
FSTR?23
|
||||
FSTR?24
|
||||
FSTR?25
|
||||
FSTR?26
|
||||
FSTR?27
|
||||
FSTR?28
|
||||
FSTR?29
|
||||
FSTR?30
|
||||
FSTR?31
|
||||
FSTR?32
|
||||
FSTR?33
|
||||
FSTR?34
|
||||
FSTR?35
|
||||
FSTR?36
|
||||
FSTR?37
|
||||
FSTR?38
|
||||
FSTR?39
|
||||
FSTR?40
|
||||
FSTR?41
|
||||
FSTR?42
|
||||
FSTR?43
|
||||
FSTR?44
|
||||
FSTR?45
|
||||
FSTR?46
|
||||
FSTR?47
|
||||
FSTR?48
|
||||
FSTR?49
|
||||
FSTR?50
|
||||
FSTR?51
|
||||
FSTR?52
|
||||
FSTR?53
|
||||
FSTR?54
|
||||
FSTR?55
|
||||
FSTR?56
|
||||
FSTR?57
|
||||
FSTR?58
|
||||
FSTR?59
|
||||
FSTR?60
|
||||
FSTR?61
|
||||
FSTR?62
|
||||
FSTR?63
|
||||
FSTR?64
|
||||
FSTR?65
|
||||
FSTR?66
|
||||
FSTR?67
|
||||
FSTR?68
|
||||
FSTR?69
|
||||
FSTR?70
|
||||
FSTR?71
|
||||
FSTR?72
|
||||
FSTR?73
|
||||
FSTR?74
|
||||
FSTR?75
|
||||
FSTR?76
|
||||
FSTR?77
|
||||
FSTR?78
|
||||
FSTR?79
|
||||
FSTR?80
|
||||
FSTR?81
|
||||
FSTR?82
|
||||
FSTR?83
|
||||
FSTR?84
|
||||
FSTR?85
|
||||
FSTR?86
|
||||
FSTR?87
|
||||
FSTR?88
|
||||
FSTR?89
|
||||
FSTR?90
|
||||
FSTR?91
|
||||
FSTR?92
|
||||
FSTR?93
|
||||
FSTR?94
|
||||
FSTR?95
|
||||
FSTR?96
|
||||
.ENDT
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,285 @@
|
|||
|
||||
|
||||
; PURE TABLES ARE DEFINED HERE
|
||||
|
||||
PURTBL::
|
||||
|
||||
PT?105::
|
||||
NP-QUANT-TBL:: .TABLE
|
||||
NP-QUANT-ALL
|
||||
W?ALL
|
||||
NP-QUANT-BOTH
|
||||
W?BOTH
|
||||
NP-QUANT-A
|
||||
W?ONE
|
||||
NP-QUANT-A
|
||||
W?EITHER
|
||||
NP-QUANT-A
|
||||
W?ANY
|
||||
.ENDT
|
||||
|
||||
PT?106::
|
||||
P-QB-WORDS-1:: .TABLE
|
||||
20
|
||||
W?ARE
|
||||
W?CAN
|
||||
W?COULD
|
||||
W?DO
|
||||
W?DOES
|
||||
W?DID
|
||||
W?HE
|
||||
W?I
|
||||
W?IS
|
||||
W?IT
|
||||
W?SHE
|
||||
W?SHOULD
|
||||
W?THAT
|
||||
W?THEY
|
||||
W?WAS
|
||||
W?WE
|
||||
W?WERE
|
||||
W?WILL
|
||||
W?WOULD
|
||||
W?YOU
|
||||
.ENDT
|
||||
|
||||
PT?206::
|
||||
P-QB-WORDS-2:: .TABLE
|
||||
20
|
||||
W?NOT
|
||||
W?NOT
|
||||
W?NOT
|
||||
W?NOT
|
||||
W?NOT
|
||||
W?NOT
|
||||
W?IS
|
||||
W?AM
|
||||
W?NOT
|
||||
W?IS
|
||||
W?IS
|
||||
W?NOT
|
||||
W?IS
|
||||
W?ARE
|
||||
W?NOT
|
||||
W?ARE
|
||||
W?NOT
|
||||
W?NOT
|
||||
W?NOT
|
||||
W?ARE
|
||||
.ENDT
|
||||
|
||||
PT?306::
|
||||
P-QA-WORDS1:: .TABLE
|
||||
20
|
||||
W?AREN
|
||||
W?CAN
|
||||
W?COULDN
|
||||
W?DON
|
||||
W?DOESN
|
||||
W?DIDN
|
||||
W?HE
|
||||
W?I
|
||||
W?ISN
|
||||
W?IT
|
||||
W?SHE
|
||||
W?SHOULDN
|
||||
W?THAT
|
||||
W?THEY
|
||||
W?WASN
|
||||
W?WE
|
||||
W?WEREN
|
||||
W?WON
|
||||
W?WOULDN
|
||||
W?YOU
|
||||
.ENDT
|
||||
|
||||
PT?406::
|
||||
P-QA-WORDS2:: .TABLE
|
||||
20
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?S
|
||||
W?M
|
||||
W?T
|
||||
W?S
|
||||
W?S
|
||||
W?T
|
||||
W?S
|
||||
W?RE
|
||||
W?T
|
||||
W?RE
|
||||
W?T
|
||||
W?T
|
||||
W?T
|
||||
W?RE
|
||||
.ENDT
|
||||
|
||||
PT?506::
|
||||
P-N-WORDS:: .TABLE
|
||||
23
|
||||
W?ZERO
|
||||
W?TEN
|
||||
W?ELEVEN
|
||||
W?TWELVE
|
||||
W?THIRTEEN
|
||||
W?FOURTEEN
|
||||
W?FIFTEEN
|
||||
W?SIXTEEN
|
||||
W?SEVENTEEN
|
||||
W?EIGHTEEN
|
||||
W?NINETEEN
|
||||
W?TWENTY
|
||||
W?THIRTY
|
||||
W?FORTY
|
||||
W?FIFTY
|
||||
W?SIXTY
|
||||
W?SEVENTY
|
||||
W?EIGHTY
|
||||
W?NINETY
|
||||
W?HUNDRED
|
||||
W?THOUSAND
|
||||
W?MILLION
|
||||
W?BILLION
|
||||
.ENDT
|
||||
|
||||
PT?606::
|
||||
P-C-WORDS:: .TABLE
|
||||
23
|
||||
W?ASS
|
||||
W?ASSHOLE
|
||||
W?BASTARD
|
||||
W?BITCH
|
||||
W?COCK
|
||||
W?COCKSUCKER
|
||||
W?CRAP
|
||||
W?CUNT
|
||||
W?CUSS
|
||||
W?DAMN
|
||||
W?DAMNED
|
||||
W?FUCK
|
||||
W?FUCKED
|
||||
W?FUCKER
|
||||
W?FUCKING
|
||||
W?GODDAMN
|
||||
W?GODDAMNED
|
||||
W?HELL
|
||||
W?PISS
|
||||
W?SCREW
|
||||
W?SHIT
|
||||
W?SHITHEAD
|
||||
W?SUCKS
|
||||
.ENDT
|
||||
|
||||
PT?111::
|
||||
OWNERS:: .TABLE
|
||||
2
|
||||
PLAYER
|
||||
FORD
|
||||
.ENDT
|
||||
|
||||
PT?113::
|
||||
QACTIONS:: .TABLE
|
||||
12
|
||||
V-BE
|
||||
V-BE?
|
||||
0
|
||||
V-DISEMBARK
|
||||
V-DISEMBARK?
|
||||
0
|
||||
V-DROP
|
||||
V-DROP?
|
||||
PRE-DROP?
|
||||
V-TAKE
|
||||
V-TAKE?
|
||||
PRE-TAKE?
|
||||
.ENDT
|
||||
|
||||
PT?117::
|
||||
T?TRAILS-ALONG:: .TABLE
|
||||
4
|
||||
STR?92
|
||||
STR?93
|
||||
STR?94
|
||||
STR?95
|
||||
.ENDT
|
||||
|
||||
PT?217::
|
||||
T?HO-HUM:: .TABLE
|
||||
2
|
||||
STR?96
|
||||
STR?97
|
||||
.ENDT
|
||||
|
||||
PT?317::
|
||||
T?WHO-CARES-VERB:: .TABLE
|
||||
4
|
||||
STR?65
|
||||
STR?65
|
||||
STR?108
|
||||
STR?109
|
||||
.ENDT
|
||||
|
||||
PT?417::
|
||||
T?WHO-CARES-TBL:: .TABLE
|
||||
4
|
||||
STR?110
|
||||
STR?111
|
||||
STR?112
|
||||
STR?113
|
||||
.ENDT
|
||||
|
||||
PT?121::
|
||||
BODY-PARTS-OWNERS:: .TABLE
|
||||
5
|
||||
PLAYER
|
||||
MARVIN
|
||||
FORD
|
||||
ZAPHOD
|
||||
TRILLIAN
|
||||
.ENDT
|
||||
|
||||
PT?221::
|
||||
CHARACTER-TABLE:: .TABLE
|
||||
PLAYER
|
||||
MARVIN
|
||||
FORD
|
||||
ZAPHOD
|
||||
TRILLIAN
|
||||
.ENDT
|
||||
|
||||
PT?321::
|
||||
LDESC-STRINGS:: .TABLE
|
||||
25
|
||||
STR?197
|
||||
STR?198
|
||||
STR?199
|
||||
STR?200
|
||||
0
|
||||
STR?201
|
||||
STR?202
|
||||
STR?203
|
||||
STR?204
|
||||
STR?205
|
||||
STR?206
|
||||
STR?207
|
||||
STR?208
|
||||
STR?115
|
||||
0
|
||||
STR?209
|
||||
STR?210
|
||||
STR?191
|
||||
STR?116
|
||||
STR?211
|
||||
STR?212
|
||||
STR?213
|
||||
STR?214
|
||||
STR?215
|
||||
STR?216
|
||||
.ENDT
|
||||
|
||||
PURTND::
|
||||
.ENDI
|
|
@ -0,0 +1,258 @@
|
|||
|
||||
|
||||
; STRINGS ARE DEFINED HERE
|
||||
|
||||
STRBEG::
|
||||
|
||||
.SEGMENT "0"
|
||||
|
||||
.GSTR STR?1,"M-END"
|
||||
.GSTR STR?2,"What charming language!"
|
||||
.GSTR STR?3,"Computers aren't impressed by naughty words!"
|
||||
.GSTR STR?4,"You ought to be ashamed of yourself!"
|
||||
.GSTR STR?5,"Hey, save that talk for the locker room!"
|
||||
.GSTR STR?6,"Step outside and say that!"
|
||||
.GSTR STR?7,"And so's your old man!"
|
||||
.GSTR STR?8,"No inside"
|
||||
P-NO-INSIDE=STR?8
|
||||
.GSTR STR?9,"No surface"
|
||||
P-NO-SURFACE=STR?9
|
||||
.GSTR STR?10,"Nothing"
|
||||
P-NOTHING=STR?10
|
||||
.GSTR STR?11,"RED-SP"
|
||||
.GSTR STR?12,"RED-SV"
|
||||
.GSTR STR?13,"RED-SVPNPN"
|
||||
.GSTR STR?14,"RED-SVN"
|
||||
.GSTR STR?15,"RED-SD"
|
||||
.GSTR STR?16,"RED-SVD"
|
||||
.GSTR STR?17,"RED-VP"
|
||||
.GSTR STR?18,"RED-CANDO"
|
||||
.GSTR STR?19,"RED-PART"
|
||||
.GSTR STR?20,"RED-FCN"
|
||||
.GSTR STR?21,"RED-NPP"
|
||||
.GSTR STR?22,"RED-QUOTE"
|
||||
.GSTR STR?23,"RED-OF"
|
||||
.GSTR STR?24,"RED-QT"
|
||||
.GSTR STR?25,"RED-QN"
|
||||
.GSTR STR?26,"RED-NP"
|
||||
.GSTR STR?27,"RED-PP"
|
||||
.GSTR STR?28,"RED-ADJ"
|
||||
.GSTR STR?29,"RED-ADJS"
|
||||
.GSTR STR?30,"RED-POSS"
|
||||
.GSTR STR?31,"RED-BE-FORM"
|
||||
.GSTR STR?32,"RED-SNBN"
|
||||
.GSTR STR?33,"RED-SNBA"
|
||||
.GSTR STR?34,"RED-SNBP"
|
||||
.GSTR STR?35,"RED-SNBAP"
|
||||
.GSTR STR?36,"RED-SQBN"
|
||||
.GSTR STR?37,"RED-SBNN"
|
||||
.GSTR STR?38,"RED-SBNA"
|
||||
.GSTR STR?39,"RED-SBNP"
|
||||
.GSTR STR?40,"RED-BE"
|
||||
.GSTR STR?41,"RED-NOT"
|
||||
.GSTR STR?42,"RED-PERS"
|
||||
.GSTR STR?43,"DO-ORPHAN-TEST"
|
||||
.GSTR STR?44,"RED-O-NP"
|
||||
.GSTR STR?45,"RED-O-ADJ"
|
||||
.GSTR STR?46,"RED-O-PP"
|
||||
.GSTR STR?47,"Winner"
|
||||
.GSTR STR?48,"Subject"
|
||||
.GSTR STR?49,"Preaction"
|
||||
.GSTR STR?50,"M-BEG"
|
||||
.GSTR STR?51,"Container"
|
||||
.GSTR STR?52,"PRSI"
|
||||
.GSTR STR?53,"PRSO"
|
||||
.GSTR STR?54,"word"
|
||||
.GSTR STR?55,"letter"
|
||||
.GSTR STR?56,"verb"
|
||||
.GSTR STR?57,"It's not easy to tell "
|
||||
WHO-KNOWS-STRING=STR?57
|
||||
.GSTR STR?58,"You aren't "
|
||||
.GSTR STR?59,"You already are"
|
||||
.GSTR STR?60,"It's not in anything."
|
||||
.GSTR STR?61,"is"
|
||||
.GSTR STR?62,"has"
|
||||
.GSTR STR?63,"tri"
|
||||
.GSTR STR?64,"empti"
|
||||
.GSTR STR?65,"do"
|
||||
.GSTR STR?66,"kiss"
|
||||
.GSTR STR?67,"push"
|
||||
.GSTR STR?68,"begin"
|
||||
.GSTR STR?69,"end"
|
||||
.GSTR STR?70,"superbrief"
|
||||
.GSTR STR?71,"brief"
|
||||
.GSTR STR?72,"verbose"
|
||||
.GSTR STR?73,"go"
|
||||
.GSTR STR?74,"drive"
|
||||
.GSTR STR?75,"unusual"
|
||||
.GSTR STR?76,"interesting"
|
||||
.GSTR STR?77,"extraordinary"
|
||||
.GSTR STR?78,"special"
|
||||
.GSTR STR?79,"What a concept."
|
||||
.GSTR STR?80,"Nice try."
|
||||
.GSTR STR?81,"You can't be serious."
|
||||
.GSTR STR?82,"Not bloody likely."
|
||||
.GSTR STR?83,"You have lost your mind."
|
||||
.GSTR STR?84,"You are clearly insane."
|
||||
.GSTR STR?85,"You appear to have gone barking mad."
|
||||
.GSTR STR?86,"I'm not convinced you're allowed to be playing with this computer."
|
||||
.GSTR STR?87,"Run out on the street and say that. See what happens."
|
||||
.GSTR STR?88,"No, no, a thousand times no. Go boil an egg."
|
||||
.GSTR STR?89,"Complete waste of time."
|
||||
.GSTR STR?90,"Useless. Utterly useless."
|
||||
.GSTR STR?91,"A totally unhelpful idea."
|
||||
.GSTR STR?92," walks a few steps behind."
|
||||
.GSTR STR?93," trails along."
|
||||
.GSTR STR?94," stays at your side."
|
||||
.GSTR STR?95," walks along with you."
|
||||
.GSTR STR?96," won't help any."
|
||||
.GSTR STR?97," is a waste of time."
|
||||
.GSTR STR?98,"closed"
|
||||
.GSTR STR?99,"take"
|
||||
.GSTR STR?100,"try to enter"
|
||||
.GSTR STR?101,"on"
|
||||
.GSTR STR?102,"off"
|
||||
.GSTR STR?103,"open"
|
||||
.GSTR STR?104,"locked"
|
||||
.GSTR STR?105,"unlocked"
|
||||
.GSTR STR?106,"angry"
|
||||
.GSTR STR?107,"peeved"
|
||||
.GSTR STR?108,"let"
|
||||
.GSTR STR?109,"seem"
|
||||
.GSTR STR?110,"n't appear interested"
|
||||
.GSTR STR?111,"n't care"
|
||||
.GSTR STR?112," out a loud yawn"
|
||||
.GSTR STR?113," impatient"
|
||||
.GSTR STR?114,"look"
|
||||
.GSTR STR?115,"asleep"
|
||||
.GSTR STR?116,"out cold"
|
||||
.GSTR STR?117," Ask"
|
||||
.GSTR STR?118,"attack"
|
||||
.GSTR STR?119,"get in"
|
||||
.GSTR STR?120,"on the floor"
|
||||
.GSTR STR?121,"on the ground"
|
||||
.GSTR STR?122,"bang"
|
||||
.GSTR STR?123,"too far away"
|
||||
.GSTR STR?124,"here"
|
||||
.GSTR STR?125,"[I assume you mean:"
|
||||
I-ASSUME=STR?125
|
||||
.GSTR STR?126," Greet"
|
||||
.GSTR STR?127,"[You didn't say w"
|
||||
YOU-DIDNT-SAY-W=STR?127
|
||||
.GSTR STR?128,"You think it over. There's no need to get violent.
|
||||
"
|
||||
NO-VIOLENCE=STR?128
|
||||
.GSTR STR?129,"Knocking on"
|
||||
.GSTR STR?130,"turn off"
|
||||
.GSTR STR?131,"turn on"
|
||||
.GSTR STR?132,"empty"
|
||||
.GSTR STR?133,"look inside"
|
||||
.GSTR STR?134,"look outside"
|
||||
.GSTR STR?135,"look through"
|
||||
.GSTR STR?136,"look up"
|
||||
.GSTR STR?137,"hurt"
|
||||
.GSTR STR?138,"unlock"
|
||||
.GSTR STR?139,"Pushing"
|
||||
.GSTR STR?140,"put"
|
||||
.GSTR STR?141,"in it"
|
||||
.GSTR STR?142,"an opening in"
|
||||
.GSTR STR?143,"There's not enough room.
|
||||
"
|
||||
NOT-ENOUGH-ROOM=STR?143
|
||||
.GSTR STR?144,"in"
|
||||
.GSTR STR?145,"A brave, Zen-like effort. It fails."
|
||||
ZEN=STR?145
|
||||
.GSTR STR?146,"Rubbing"
|
||||
.GSTR STR?147," Say to"
|
||||
.GSTR STR?148,"ou stop searching"
|
||||
OU-STOP-SEARCHING=STR?148
|
||||
.GSTR STR?149,"shoot"
|
||||
.GSTR STR?150," Ask about"
|
||||
.GSTR STR?151," Show"
|
||||
.GSTR STR?152,"smell"
|
||||
.GSTR STR?153,"standing up"
|
||||
.GSTR STR?154,"reach"
|
||||
.GSTR STR?155," to"
|
||||
.GSTR STR?156,"wait until"
|
||||
.GSTR STR?157,"not asleep"
|
||||
.GSTR STR?158,"Which direction do you want to go in?"
|
||||
WHICH-DIR=STR?158
|
||||
.GSTR STR?159,"move around within"
|
||||
.GSTR STR?160,"Actor"
|
||||
.GSTR STR?161," you've been trying to get rid of it for years."
|
||||
GET-RID=STR?161
|
||||
.GSTR STR?162,"Try: CONSULT GUIDE ABOUT (something)."
|
||||
.GSTR STR?163,"The Hitchhiker's Guide to the Galaxy"
|
||||
GUIDE-NAME=STR?163
|
||||
.GSTR STR?164," But then again you must already know that, since you bought one."
|
||||
ALREADY-KNOW-THAT=STR?164
|
||||
.GSTR STR?165,"With a towel wrapped around your head!?!"
|
||||
WITH-TOWEL=STR?165
|
||||
.GSTR STR?166,"Galactic Security Agency"
|
||||
AGENCY=STR?166
|
||||
.GSTR STR?167,"Genuine People Personalities"
|
||||
GPP=STR?167
|
||||
.GSTR STR?168,"Ford"
|
||||
.GSTR STR?169,"Look around you."
|
||||
.GSTR STR?170,"The barman snaps ""Hands off until you pay for it!"""
|
||||
HANDS-OFF=STR?170
|
||||
.GSTR STR?171,"You are on the ramp leading from the starship Heart of Gold down to the surface of the legendary lost planet of Magrathea, which isn't. Lost, that is. It isn't lost because if it were, you wouldn't be here, but you are, so it isn't. If the logic of all that is too much for you, just go down to the surface or up to the hatchway. Go anywhere else and you'll just get into awful difficulties. Not that you'll take any notice, of course; just don't say you weren't warned."
|
||||
.GSTR STR?172,"You bang you head against the ship's side."
|
||||
.GSTR STR?173,"The surface of Magrathea is barren and inhospitable: a cold, constant wind, a sifting of dust, no sign of life or movement. In short, it is not unlike a Chinese restaurant after 11.00 at night when they all want to go home. The only difference is that there isn't a little silent gang of waiters staring sullenly at the back of your neck. The ramp lies upwards to the north; to the south-east, there's an unhealthy-looking crater."
|
||||
.GSTR STR?174,"The dusty ground rises here before falling away into a crater. The crater seems rather new, as if it had been created by the impact of something huge and confused, travelling downwards at high velocity. It is as if a sperm whale had inexplicably materialized several miles above the surface of Magrathea and immediately plunged downwards, reaching terminal velocity almost immediately, terminal incomprehension soon afterwards, and, finally, terminal impact just as it was wondering whether it was going to have a nice day. This impression is heightened by the shards of whalebone and meat you can see glistening here and there around the crater. The crater continues south-west and south-east, and the blighted ground lies to the north-west."
|
||||
.GSTR STR?175,"You are on the rim of a great crater which continues to the south-west and south-east, while the blighted ground lies north-west"
|
||||
.GSTR STR?176,"The rim of the whale crater continues northwest and southwest. The scene of the whale's final disiluusionment lies below you, but there's no way down"
|
||||
.GSTR STR?177,"The crater lip continues north-east and north-west. Below you is a build-your-own-dead-whale kit (glue not included). There's no way down."
|
||||
.GSTR STR?178,"The crater lip continues northeast and southeast here, and below you is a ledge. If you fell from here to the ledge you would probably break and ankle and nobody would hear you screaming and you would die from pain and exposure. On the other hand, if you climbed down carefully, you'd have no trouble. So what are you making all the fuss about?"
|
||||
.GSTR STR?179,"The crater lip continues northeat and southeast here, and below you is a ledge."
|
||||
.GSTR STR?180,"This ledge lies halfway between the crater lip and the floor of the whale crater itself. It doesn't seem quite like any ledge you've encountered before, perhaps because of the pillars on either side of you and the rather nice wall - marble, perhaps, or ivory? - between you and the steep but survivable slope down to the crater floor."
|
||||
.GSTR STR?181,"This ledge lies halfway between the crater lip and the floor of the whale crater itself."
|
||||
.GSTR STR?182,"You bang your head on the rock face."
|
||||
.GSTR STR?183,"The floor of this deeply crufty crater is splattered with all kinds of disgusting stuff. Film at eleven."
|
||||
.GSTR STR?184,"This is the whale crater, liberally supplied with whale."
|
||||
.GSTR STR?185,"Done."
|
||||
.GSTR STR?186,"stand up"
|
||||
.GSTR STR?187,"You already are!"
|
||||
YOU-ARE=STR?187
|
||||
.GSTR STR?188,"Marvin, the Paranoid Android, looks very depressed."
|
||||
.GSTR STR?189,"sulking"
|
||||
.GSTR STR?190,"Ford is a Betelgeusan who could pass for an Earthling."
|
||||
.GSTR STR?191,"deep in thought"
|
||||
.GSTR STR?192," President of the Galaxy"
|
||||
PRESIDENT=STR?192
|
||||
.GSTR STR?193,"Zaphod looks completely normal, except for his two heads."
|
||||
.GSTR STR?194,"admiring himself"
|
||||
.GSTR STR?195,"Tricia MacMillan is more attractive than most astrophysicists."
|
||||
.GSTR STR?196,"looking at you with pity"
|
||||
.GSTR STR?197,"dancing"
|
||||
.GSTR STR?198,"sipping sherry"
|
||||
.GSTR STR?199,"watching you"
|
||||
.GSTR STR?200,"looking at you with suspicion"
|
||||
.GSTR STR?201,"walking along"
|
||||
.GSTR STR?202,"sobbing quietly"
|
||||
.GSTR STR?203,"poised to attack"
|
||||
.GSTR STR?204,"waiting patiently"
|
||||
.GSTR STR?205,"eating with relish"
|
||||
.GSTR STR?206,"preparing dinner"
|
||||
.GSTR STR?207,"listening to you"
|
||||
.GSTR STR?208,"lounging and chatting"
|
||||
.GSTR STR?209,"listening"
|
||||
.GSTR STR?210,"preparing to leave"
|
||||
.GSTR STR?211,"ignoring you"
|
||||
.GSTR STR?212,"searching"
|
||||
.GSTR STR?213,"playing the piano"
|
||||
.GSTR STR?214,"following you"
|
||||
.GSTR STR?215,"brushing her hair"
|
||||
.GSTR STR?216,"looking sleepy"
|
||||
.GSTR STR?217,"smile"
|
||||
.GSTR STR?218,"on it"
|
||||
.GSTR STR?219,"You don't find anything new there.
|
||||
"
|
||||
NOTHING-NEW=STR?219
|
||||
.GSTR STR?220,": "
|
||||
.GSTR STR?221,":
|
||||
"
|
||||
.ENDSEG
|
||||
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
|
||||
.FUNCT SEE-VERB?:ANY:0:0
|
||||
EQUAL? PRSA,V?SSEARCH-FOR,V?SEARCH-FOR,V?SEARCH /TRUE
|
||||
EQUAL? PRSA,V?READ,V?LOOK-UP,V?LOOK-UNDER /TRUE
|
||||
EQUAL? PRSA,V?LOOK-THROUGH,V?LOOK-OUTSIDE,V?LOOK-ON /TRUE
|
||||
EQUAL? PRSA,V?LOOK-INSIDE,V?LOOK-DOWN,V?LOOK-BEHIND /TRUE
|
||||
EQUAL? PRSA,V?LOOK,V?FIND,V?EXAMINE /TRUE
|
||||
EQUAL? PRSA,V?CHASTISE,V?SANALYZE,V?ANALYZE /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT SPEAKING-VERB?:ANY:0:1,PER
|
||||
EQUAL? PRSA,V?$CALL,V?YES,V?TELL-ABOUT /?CTR2
|
||||
EQUAL? PRSA,V?TELL,V?SORRY,V?REPLY /?CTR2
|
||||
EQUAL? PRSA,V?NO,V?HELLO,V?ASK-FOR /?CTR2
|
||||
EQUAL? PRSA,V?ASK-ABOUT,V?ASK,V?ANSWER \?CCL3
|
||||
?CTR2: EQUAL? PER,0,PRSO /TRUE
|
||||
RFALSE
|
||||
?CCL3: EQUAL? PRSA,V?TALK-ABOUT,V?ASK-CONTEXT-FOR,V?ASK-CONTEXT-ABOUT \FALSE
|
||||
ZERO? PER /TRUE
|
||||
RFALSE
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,75 @@
|
|||
"MACROS for MILLIWAYS
|
||||
Copyright (c) 1988 Infocom, Inc. All rights reserved."
|
||||
|
||||
<DEFMAC PROB ('BASE?)
|
||||
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
|
||||
|
||||
<ADD-TELL-TOKENS
|
||||
a * <PRINTA .X>
|
||||
the * <PRINT-THE .X>
|
||||
The * <START-SENTENCE .X>
|
||||
He+verb * *:STRING <HE-SHE-IT .X 1 .Y>
|
||||
He * <HE-SHE-IT .X 1>
|
||||
he+verb * *:STRING <HE-SHE-IT .X 0 .Y>
|
||||
he * <HE-SHE-IT .X>
|
||||
verb * *:STRING <HE-SHE-IT .X -1 .Y>
|
||||
him * <HIM-HER-IT .X>
|
||||
his * <HIM-HER-IT .X 0 T>
|
||||
His * <HIM-HER-IT .X 1 T>>
|
||||
|
||||
<REPLACE-DEFINITION SEE-VERB?
|
||||
<ROUTINE SEE-VERB? ()
|
||||
<VERB? ANALYZE SANALYZE CHASTISE ;COUNT EXAMINE FIND
|
||||
;INVENTORY LOOK LOOK-BEHIND LOOK-DOWN LOOK-INSIDE LOOK-ON
|
||||
LOOK-OUTSIDE LOOK-THROUGH LOOK-UNDER LOOK-UP
|
||||
READ SEARCH SEARCH-FOR SSEARCH-FOR>>>
|
||||
|
||||
<REPLACE-DEFINITION SPEAKING-VERB?
|
||||
<ROUTINE SPEAKING-VERB? ("OPTIONAL" (PER 0))
|
||||
<COND (<VERB? ANSWER ASK ASK-ABOUT ASK-FOR ;FORGIVE
|
||||
;GOODBYE HELLO NO REPLY SORRY TELL TELL-ABOUT YES $CALL>
|
||||
<COND (<EQUAL? .PER 0 ,PRSO>
|
||||
<RTRUE>)>)
|
||||
(<VERB? ASK-CONTEXT-ABOUT ASK-CONTEXT-FOR TALK-ABOUT>
|
||||
<COND (<EQUAL? .PER 0>
|
||||
<RTRUE>)>)>>>
|
||||
|
||||
;<ROUTINE TELL-FIND-NOT-HERE (PER NUM)
|
||||
<COND (<NOT <EQUAL? .PER 0 ,PLAYER>>
|
||||
<START-SENTENCE .PER>
|
||||
<TELL " looks confused. ">)>
|
||||
<TELL "\"I don't know wh">
|
||||
<COND (<0? .NUM>
|
||||
<TELL "at you mean by">
|
||||
<NOT-HERE-PRINT>)
|
||||
(T
|
||||
<TELL "ich">
|
||||
<NOT-HERE-PRINT>
|
||||
<TELL " you mean">)>
|
||||
<TELL "!\"" CR>>
|
||||
|
||||
<DEFMAC ONE? ('TERM)
|
||||
<FORM EQUAL? .TERM 1 T>>
|
||||
|
||||
<SETG CANT "You can't ">
|
||||
|
||||
<SETG C-ENABLED? 0>
|
||||
<SETG C-ENABLED 1>
|
||||
<SETG C-DISABLED 0>
|
||||
|
||||
<COND (<CHECK-VERSION? ZIP>
|
||||
<DEFMAC GET/B ('TBL 'PTR) <FORM GETB .TBL .PTR>>
|
||||
<DEFMAC PUT/B ('TBL 'PTR 'OBJ) <FORM PUTB .TBL .PTR .OBJ>>
|
||||
<DEFMAC ZMEMQ/B ('OBJ 'TBL "OPT" ('SIZ <>))
|
||||
<COND (<NOT .SIZ>
|
||||
<FORM ZMEMQB .OBJ .TBL>)
|
||||
(T <FORM ZMEMQB .OBJ .TBL .SIZ>)>>
|
||||
<DEFMAC RMGL-SIZE ('TBL) <FORM - <FORM PTSIZE .TBL> 1>>)
|
||||
(T
|
||||
<DEFMAC GET/B ('TBL 'PTR) <FORM GET .TBL .PTR>>
|
||||
<DEFMAC PUT/B ('TBL 'PTR 'OBJ) <FORM PUT .TBL .PTR .OBJ>>
|
||||
<DEFMAC ZMEMQ/B ('OBJ 'TBL "OPT" ('SIZ <>))
|
||||
<COND (<NOT .SIZ>
|
||||
<FORM ZMEMQ .OBJ .TBL>)
|
||||
(T <FORM ZMEMQ .OBJ .TBL .SIZ>)>>
|
||||
<DEFMAC RMGL-SIZE ('TBL) <FORM - <FORM / <FORM PTSIZE .TBL> 2> 1>>)>
|
|
@ -0,0 +1,103 @@
|
|||
|
||||
<ROOM HATCHWAY (LOC ROOMS) (DESC "Hatchway") (DOWN TO RAMP IF HATCH IS OPEN) (
|
||||
OUT TO RAMP IF HATCH IS OPEN) (SOUTH TO RAMP IF HATCH IS OPEN) (FLAGS ONBIT
|
||||
RLANDBIT) (GLOBAL STAIRS HEART-OF-GOLD HATCH)>
|
||||
<OBJECT HATCH (LOC LOCAL-GLOBALS) (DESC "hatch") (ADJECTIVE DOOR) (SYNONYM
|
||||
HATCH DOOR) (FLAGS DOORBIT OPENBIT) (ACTION HATCH-F)>
|
||||
<VOC "NORTH" NOUN>
|
||||
<VOC "SOUTH" NOUN>
|
||||
<VOC "FROB" ADJ>
|
||||
<VOC "HAND" ADJ>
|
||||
<DEFINE-ROUTINE HATCH-F>
|
||||
<ROOM RAMP (LOC ROOMS) (DESC "On the Ramp") (FDESC
|
||||
"You are on the ramp leading from the starship Heart of Gold down to the
|
||||
surface of the legendary lost planet of Magrathea, which isn't. Lost,
|
||||
that is. It isn't lost because if it were, you wouldn't be here, but
|
||||
you are, so it isn't. If the logic of all that is too much for you,
|
||||
just go down to the surface or up to the hatchway. Go anywhere else and
|
||||
you'll just get into awful difficulties. Not that you'll take any
|
||||
notice, of course; just don't say you weren't warned.") (NORTH TO HATCHWAY IF
|
||||
HATCH IS OPEN) (UP TO HATCHWAY IF HATCH IS OPEN) (SOUTH TO BLIGHTED-GROUND) (
|
||||
WEST SORRY "You bang you head against the ship's side.") (EAST PER
|
||||
FALL-OFF-RAMP) (NE SORRY "You bang you head against the ship's side.") (NW
|
||||
SORRY "You bang you head against the ship's side.") (SE PER FALL-OFF-RAMP) (SW
|
||||
PER FALL-OFF-RAMP) (DOWN TO BLIGHTED-GROUND) (GLOBAL HATCH) (FLAGS RLANDBIT
|
||||
ONBIT)>
|
||||
<DEFINE-ROUTINE FALL-OFF-RAMP>
|
||||
<ROOM BLIGHTED-GROUND (LOC ROOMS) (DESC "Blighted Ground") (LDESC
|
||||
"The surface of Magrathea is barren and inhospitable: a cold, constant
|
||||
wind, a sifting of dust, no sign of life or movement. In short, it is not
|
||||
unlike a Chinese restaurant after 11.00 at night when they all want to go
|
||||
home. The only difference is that there isn't a little silent gang of
|
||||
waiters staring sullenly at the back of your neck. The ramp lies upwards to
|
||||
the north; to the south-east, there's an unhealthy-looking crater.") (NORTH TO
|
||||
RAMP) (SOUTH PER WANDER-AROUND) (WEST PER WANDER-AROUND) (EAST PER
|
||||
WANDER-AROUND) (NE PER WANDER-AROUND) (NW PER WANDER-AROUND) (SW PER
|
||||
WANDER-AROUND) (FLAGS ONLANDBIT ONBIT)>
|
||||
<DEFINE-ROUTINE WANDER-AROUND>
|
||||
<ROOM LIP1 (LOC ROOMS) (DESC "Crater Lip") (FDESC
|
||||
"The dusty ground rises here before falling away into a
|
||||
crater. The crater seems rather new, as if it had been created by the
|
||||
impact of something huge and confused, travelling downwards at high
|
||||
velocity. It is as if a sperm whale had inexplicably materialized
|
||||
several miles above the surface of Magrathea and immediately plunged
|
||||
downwards, reaching terminal velocity almost immediately, terminal
|
||||
incomprehension soon afterwards, and, finally, terminal impact just as
|
||||
it was wondering whether it was going to have a nice day. This
|
||||
impression is heightened by the shards of whalebone and meat you can see
|
||||
glistening here and there around the crater.
|
||||
|
||||
The crater continues south-west and south-east, and the blighted ground
|
||||
lies to the north-west.") (LDESC
|
||||
"You are on the rim of a great crater which continues to the south-west
|
||||
and south-east, while the blighted ground lies north-west") (WEST PER
|
||||
SLOPE-SCRAMBLE) (EAST PER SLOPE-SCRAMBLE) (NORTH PER SLOPE-SCRAMBLE) (SOUTH PER
|
||||
DEATH-BY-BLUBBER) (NW TO BLIGHTED-GROUND) (NE PER SLOPE-SCRAMBLE) (SW TO LIP4)
|
||||
(SE TO LIP2) (FLAGS ONLANDBIT ONBIT) (GLOBAL WHALE-CRATER)>
|
||||
<DEFINE-ROUTINE DEATH-BY-BLUBBER>
|
||||
<DEFINE-ROUTINE SLOPE-SCRAMBLE>
|
||||
<ROOM LIP2 (LOC ROOMS) (LDESC
|
||||
"The rim of the whale crater continues northwest and
|
||||
southwest. The scene of the whale's final disiluusionment lies below
|
||||
you, but there's no way down") (DESC "Crater Lip") (WEST PER DEATH-BY-BLUBBER)
|
||||
(EAST PER SLOPE-SCRAMBLE) (NORTH PER SLOPE-SCRAMBLE) (SOUTH PER SLOPE-SCRAMBLE)
|
||||
(NW TO LIP1) (NE PER WANDER-AROUND) (SW TO LIP3) (SE PER SLOPE-SCRAMBLE) (FLAGS
|
||||
ONLANDBIT ONBIT) (GLOBAL WHALE-CRATER)>
|
||||
<ROOM LIP3 (LOC ROOMS) (DESC "Crater Lip") (LDESC
|
||||
"The crater lip continues north-east and north-west.
|
||||
Below you is a build-your-own-dead-whale kit (glue not included).
|
||||
There's no way down.") (NORTH PER DEATH-BY-BLUBBER) (NE TO LIP2) (EAST PER
|
||||
SLOPE-SCRAMBLE) (SE PER SLOPE-SCRAMBLE) (SOUTH PER SLOPE-SCRAMBLE) (SW PER
|
||||
SLOPE-SCRAMBLE) (WEST PER SLOPE-SCRAMBLE) (NW TO LIP4) (FLAGS ONLANDBIT ONBIT)
|
||||
(GLOBAL WHALE-CRATER)>
|
||||
<ROOM LIP4 (LOC ROOMS) (DESC "Crater Lip") (FDESC
|
||||
"The crater lip continues northeast and southeast here, and below you is
|
||||
a ledge. If you fell from here to the ledge you would probably
|
||||
break and ankle and nobody would hear you screaming and you
|
||||
would die from pain and exposure. On the other hand, if you
|
||||
climbed down carefully, you'd have no trouble. So what are you
|
||||
making all the fuss about?") (LDESC
|
||||
"The crater lip continues northeat and southeast here,
|
||||
and below you is a ledge.") (NORTH PER SLOPE-SCRAMBLE) (NE TO LIP1) (EAST TO
|
||||
LEDGE) (DOWN TO LEDGE) (SE TO LIP3) (SOUTH PER SLOPE-SCRAMBLE) (SW PER
|
||||
SLOPE-SCRAMBLE) (WEST PER SLOPE-SCRAMBLE) (NW PER SLOPE-SCRAMBLE) (FLAGS ONBIT
|
||||
ONLANDBIT) (GLOBAL WHALE-CRATER)>
|
||||
<ROOM LEDGE (LOC ROOMS) (DESC "Ledge") (FDESC
|
||||
"This ledge lies halfway between the crater lip and the
|
||||
floor of the whale crater itself. It doesn't seem quite like any ledge
|
||||
you've encountered before, perhaps because of the pillars on either side
|
||||
of you and the rather nice wall - marble, perhaps, or ivory? - between
|
||||
you and the steep but survivable slope down to the crater floor.") (LDESC
|
||||
"This ledge lies halfway between the crater lip and the floor of the whale
|
||||
crater itself.") (NORTH PER DEATH-BY-BLUBBER) (NE PER DEATH-BY-BLUBBER) (EAST
|
||||
PER DOWN-TO-CRATER) (SE PER DEATH-BY-BLUBBER) (SOUTH PER DEATH-BY-BLUBBER) (SW
|
||||
SORRY "You bang your head on the rock face.") (NW SORRY
|
||||
"You bang your head on the rock face.") (FLAGS ONBIT ONLANDBIT) (GLOBAL
|
||||
WHALE-CRATER)>
|
||||
<DEFINE-ROUTINE DOWN-TO-CRATER>
|
||||
<OBJECT WHALE-CRATER-BOX (LOC LOCAL-GLOBALS) (FLAGS CONTBIT TRANSBIT NDESCBIT)>
|
||||
|
||||
<ROOM WHALE-CRATER (LOC ROOMS) (DESC "Crater") (FDESC
|
||||
"The floor of this deeply crufty crater is splattered with all kinds of disgusting stuff. Film at eleven."
|
||||
) (LDESC "This is the whale crater, liberally supplied with whale.") (FLAGS
|
||||
ONLANDBIT ONBIT)>
|
|
@ -0,0 +1,50 @@
|
|||
|
||||
|
||||
.FUNCT HATCH-F:ANY:0:0
|
||||
EQUAL? HERE,HATCHWAY,RAMP /?CCL3
|
||||
EQUAL? PRSA,V?RUB /?CTR2
|
||||
EQUAL? PRSA,V?EXAMINE,V?CLOSE,V?OPEN \?CCL3
|
||||
?CTR2: CALL2 NOT-HERE,HATCH
|
||||
RSTACK
|
||||
?CCL3: EQUAL? PRSA,V?THROUGH,V?OPEN \FALSE
|
||||
FSET? HATCH,OPENBIT /FALSE
|
||||
PRINTR "The hatch appears to be jammed shut."
|
||||
|
||||
|
||||
.FUNCT FALL-OFF-RAMP:ANY:0:0
|
||||
PRINTI "You fall off the edge of the ramp onto the surface of Magrathea.It's not a long way down and the ground breaks your fall, but nevertheless you die."
|
||||
LESS? MOVES,10 \?CCL3
|
||||
PRINTI " This is something which is going to happen to you quite a lot, so you might as well get used to it."
|
||||
JUMP ?CND1
|
||||
?CCL3: PRINTI " You might not think it's very fair, but nobody said the Galaxy was a very fair place anyway."
|
||||
?CND1: ICALL1 JIGS-UP
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT WANDER-AROUND:ANY:0:0
|
||||
PRINTI "You wander gloomily around for a while, ruining your shoes, becoming thoroughly depressed, and ending up where you started."
|
||||
CRLF
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT DEATH-BY-BLUBBER:ANY:0:0
|
||||
PRINTI "You fall into the new-ish, nasty-ish crater, where the blubber and blood liberally spattered around break your fall. Unfortunately, however, on becoming aware of your surroundings, you die of disgust."
|
||||
CRLF
|
||||
ICALL1 JIGS-UP
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT SLOPE-SCRAMBLE:ANY:0:0
|
||||
PRINTI "You plunge recklessly over the edge of the "
|
||||
PRINTD HERE
|
||||
PRINTI ", ruining your shoes in your desperate scrabble for a foothold. Fortunately for you, you regain your footing and scramble breathlessly back to level ground again."
|
||||
CRLF
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT DOWN-TO-CRATER:ANY:0:0
|
||||
PRINTI "You hop over the teeth and scramble down to the crater floor"
|
||||
MOVE WINNER,WHALE-CRATER
|
||||
RTRUE
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,251 @@
|
|||
|
||||
|
||||
;"Magrathea for
|
||||
The Restaurant at the End of the Universe
|
||||
(c) Copyright 1988 Infocom, Inc. All Rights Reserved."
|
||||
|
||||
;"The rooms for Magrathea (Act 1)"
|
||||
|
||||
<ROOM HATCHWAY
|
||||
(LOC ROOMS)
|
||||
(DESC "Hatchway")
|
||||
(DOWN TO RAMP IF HATCH IS OPEN)
|
||||
(OUT TO RAMP IF HATCH IS OPEN)
|
||||
(SOUTH TO RAMP IF HATCH IS OPEN)
|
||||
(FLAGS ONBIT RLANDBIT)
|
||||
(GLOBAL STAIRS HEART-OF-GOLD HATCH)
|
||||
;(ACTION HATCHWAY-F)>
|
||||
|
||||
<OBJECT HATCH
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "hatch")
|
||||
(ADJECTIVE DOOR) ;"for debugging parser"
|
||||
(SYNONYM HATCH ;HATCHWAY DOOR)
|
||||
(FLAGS DOORBIT OPENBIT)
|
||||
(ACTION HATCH-F)>
|
||||
|
||||
<VOC "NORTH" NOUN>
|
||||
<VOC "SOUTH" NOUN>
|
||||
<VOC "FROB" ADJ> ;"for debugging parser"
|
||||
<VOC "HAND" ADJ>
|
||||
|
||||
<ROUTINE HATCH-F ()
|
||||
<COND (<AND <NOT <EQUAL? ,HERE ,HATCHWAY ,RAMP>>
|
||||
<VERB? OPEN CLOSE EXAMINE RUB>>
|
||||
<NOT-HERE ,HATCH>)
|
||||
;(<AND <VERB? OPEN THROUGH>
|
||||
<NOT ,LANDED>>
|
||||
<TELL
|
||||
"Loud sirens blare, fantastically bright red lights flash from all sides, and
|
||||
a soft female voice mentions that opening this hatch in space will evacuate
|
||||
the air from the ship." CR>)
|
||||
(<AND <VERB? OPEN THROUGH>
|
||||
<NOT <FSET? ,HATCH ,OPENBIT>>>
|
||||
<TELL "The hatch appears to be jammed shut." CR>)>>
|
||||
|
||||
<ROOM RAMP
|
||||
(LOC ROOMS)
|
||||
(DESC "On the Ramp")
|
||||
(FDESC
|
||||
"You are on the ramp leading from the starship Heart of Gold down to the
|
||||
surface of the legendary lost planet of Magrathea, which isn't. Lost,
|
||||
that is. It isn't lost because if it were, you wouldn't be here, but
|
||||
you are, so it isn't. If the logic of all that is too much for you,
|
||||
just go down to the surface or up to the hatchway. Go anywhere else and
|
||||
you'll just get into awful difficulties. Not that you'll take any
|
||||
notice, of course; just don't say you weren't warned.")
|
||||
(NORTH TO HATCHWAY IF HATCH IS OPEN)
|
||||
(UP TO HATCHWAY IF HATCH IS OPEN)
|
||||
(SOUTH TO BLIGHTED-GROUND)
|
||||
(WEST SORRY "You bang you head against the ship's side.")
|
||||
(EAST PER FALL-OFF-RAMP)
|
||||
(NE SORRY "You bang you head against the ship's side.")
|
||||
(NW SORRY "You bang you head against the ship's side.")
|
||||
(SE PER FALL-OFF-RAMP)
|
||||
(SW PER FALL-OFF-RAMP)
|
||||
(DOWN TO BLIGHTED-GROUND)
|
||||
(GLOBAL HATCH)
|
||||
(FLAGS RLANDBIT ONBIT ;COLDBIT)>
|
||||
;"If COLDBIT is set Player dies of cold after 8 moves unless has dressing
|
||||
gown on."
|
||||
|
||||
<ROUTINE FALL-OFF-RAMP ()
|
||||
<TELL "You fall off the edge of the ramp onto the surface of
|
||||
Magrathea.It's not a long way down and the ground breaks your fall, but
|
||||
nevertheless you die.">
|
||||
<COND (<L? ,MOVES 10>
|
||||
<TELL " This is something which is going to happen to you
|
||||
quite a lot, so you might as well get used to it.">)
|
||||
(<TELL " You might not think it's very fair, but nobody said the Galaxy was a very fair place anyway.">)>
|
||||
<JIGS-UP>
|
||||
<RFALSE>>
|
||||
|
||||
|
||||
<ROOM BLIGHTED-GROUND
|
||||
(LOC ROOMS)
|
||||
(DESC "Blighted Ground")
|
||||
(LDESC
|
||||
"The surface of Magrathea is barren and inhospitable: a cold, constant
|
||||
wind, a sifting of dust, no sign of life or movement. In short, it is not
|
||||
unlike a Chinese restaurant after 11.00 at night when they all want to go
|
||||
home. The only difference is that there isn't a little silent gang of
|
||||
waiters staring sullenly at the back of your neck. The ramp lies upwards to
|
||||
the north; to the south-east, there's an unhealthy-looking crater.")
|
||||
(NORTH TO RAMP)
|
||||
(SOUTH PER WANDER-AROUND)
|
||||
(WEST PER WANDER-AROUND)
|
||||
(EAST PER WANDER-AROUND)
|
||||
(NE PER WANDER-AROUND)
|
||||
;(SE TO RIDGE1)
|
||||
(NW PER WANDER-AROUND)
|
||||
(SW PER WANDER-AROUND)
|
||||
(FLAGS ONLANDBIT ONBIT ;COLDBIT ;NOAIRBIT)>
|
||||
|
||||
<ROUTINE WANDER-AROUND ()
|
||||
<TELL
|
||||
"You wander gloomily around for a while, ruining your shoes, becoming
|
||||
thoroughly depressed, and ending up where you started." CR>
|
||||
<RFALSE>>
|
||||
|
||||
<ROOM LIP1
|
||||
(LOC ROOMS)
|
||||
(DESC "Crater Lip")
|
||||
(FDESC "The dusty ground rises here before falling away into a
|
||||
crater. The crater seems rather new, as if it had been created by the
|
||||
impact of something huge and confused, travelling downwards at high
|
||||
velocity. It is as if a sperm whale had inexplicably materialized
|
||||
several miles above the surface of Magrathea and immediately plunged
|
||||
downwards, reaching terminal velocity almost immediately, terminal
|
||||
incomprehension soon afterwards, and, finally, terminal impact just as
|
||||
it was wondering whether it was going to have a nice day. This
|
||||
impression is heightened by the shards of whalebone and meat you can see
|
||||
glistening here and there around the crater.
|
||||
|
||||
The crater continues south-west and south-east, and the blighted ground
|
||||
lies to the north-west.")
|
||||
(LDESC
|
||||
"You are on the rim of a great crater which continues to the south-west
|
||||
and south-east, while the blighted ground lies north-west")
|
||||
(WEST PER SLOPE-SCRAMBLE)
|
||||
(EAST PER SLOPE-SCRAMBLE)
|
||||
(NORTH PER SLOPE-SCRAMBLE)
|
||||
(SOUTH PER DEATH-BY-BLUBBER)
|
||||
(NW TO BLIGHTED-GROUND)
|
||||
(NE PER SLOPE-SCRAMBLE)
|
||||
(SW TO LIP4)
|
||||
(SE TO LIP2)
|
||||
(FLAGS ONLANDBIT ONBIT)
|
||||
(GLOBAL WHALE-CRATER)>
|
||||
|
||||
<ROUTINE DEATH-BY-BLUBBER ()
|
||||
<TELL
|
||||
"You fall into the new-ish, nasty-ish crater, where the blubber and blood
|
||||
liberally spattered around break your fall. Unfortunately, however, on
|
||||
becoming aware of your surroundings, you die of disgust." CR>
|
||||
<JIGS-UP>
|
||||
<RFALSE>>
|
||||
|
||||
<ROUTINE SLOPE-SCRAMBLE ()
|
||||
<TELL "You plunge recklessly over the edge of the " D ,HERE ",
|
||||
ruining your shoes in your desperate scrabble for a foothold.
|
||||
Fortunately for you, you regain your footing and scramble breathlessly
|
||||
back to level ground again." CR>
|
||||
<RFALSE>>
|
||||
|
||||
<ROOM LIP2
|
||||
(LOC ROOMS)
|
||||
(LDESC "The rim of the whale crater continues northwest and
|
||||
southwest. The scene of the whale's final disiluusionment lies below
|
||||
you, but there's no way down")
|
||||
(DESC "Crater Lip")
|
||||
(WEST PER DEATH-BY-BLUBBER)
|
||||
(EAST PER SLOPE-SCRAMBLE)
|
||||
(NORTH PER SLOPE-SCRAMBLE)
|
||||
(SOUTH PER SLOPE-SCRAMBLE)
|
||||
(NW TO LIP1)
|
||||
(NE PER WANDER-AROUND)
|
||||
(SW TO LIP3)
|
||||
(SE PER SLOPE-SCRAMBLE)
|
||||
(FLAGS ONLANDBIT ONBIT)
|
||||
(GLOBAL WHALE-CRATER)>
|
||||
|
||||
<ROOM LIP3
|
||||
(LOC ROOMS)
|
||||
(DESC "Crater Lip")
|
||||
(LDESC "The crater lip continues north-east and north-west.
|
||||
Below you is a build-your-own-dead-whale kit (glue not included).
|
||||
There's no way down.")
|
||||
(NORTH PER DEATH-BY-BLUBBER)
|
||||
(NE TO LIP2)
|
||||
(EAST PER SLOPE-SCRAMBLE)
|
||||
(SE PER SLOPE-SCRAMBLE)
|
||||
(SOUTH PER SLOPE-SCRAMBLE)
|
||||
(SW PER SLOPE-SCRAMBLE)
|
||||
(WEST PER SLOPE-SCRAMBLE)
|
||||
(NW TO LIP4)
|
||||
(FLAGS ONLANDBIT ONBIT)
|
||||
(GLOBAL WHALE-CRATER)>
|
||||
|
||||
|
||||
<ROOM LIP4
|
||||
(LOC ROOMS)
|
||||
(DESC "Crater Lip")
|
||||
(FDESC
|
||||
"The crater lip continues northeast and southeast here, and below you is
|
||||
a ledge. If you fell from here to the ledge you would probably
|
||||
break and ankle and nobody would hear you screaming and you
|
||||
would die from pain and exposure. On the other hand, if you
|
||||
climbed down carefully, you'd have no trouble. So what are you
|
||||
making all the fuss about?")
|
||||
(LDESC "The crater lip continues northeat and southeast here,
|
||||
and below you is a ledge.")
|
||||
(NORTH PER SLOPE-SCRAMBLE)
|
||||
(NE TO LIP1)
|
||||
(EAST TO LEDGE)
|
||||
(DOWN TO LEDGE)
|
||||
(SE TO LIP3)
|
||||
(SOUTH PER SLOPE-SCRAMBLE)
|
||||
(SW PER SLOPE-SCRAMBLE)
|
||||
(WEST PER SLOPE-SCRAMBLE)
|
||||
(NW PER SLOPE-SCRAMBLE)
|
||||
(FLAGS ONBIT ONLANDBIT)
|
||||
(GLOBAL WHALE-CRATER)>
|
||||
|
||||
|
||||
<ROOM LEDGE
|
||||
(LOC ROOMS)
|
||||
(DESC "Ledge")
|
||||
(FDESC "This ledge lies halfway between the crater lip and the
|
||||
floor of the whale crater itself. It doesn't seem quite like any ledge
|
||||
you've encountered before, perhaps because of the pillars on either side
|
||||
of you and the rather nice wall - marble, perhaps, or ivory? - between
|
||||
you and the steep but survivable slope down to the crater floor.")
|
||||
(LDESC
|
||||
"This ledge lies halfway between the crater lip and the floor of the whale
|
||||
crater itself.")
|
||||
(NORTH PER DEATH-BY-BLUBBER)
|
||||
(NE PER DEATH-BY-BLUBBER)
|
||||
(EAST PER DOWN-TO-CRATER)
|
||||
(SE PER DEATH-BY-BLUBBER)
|
||||
(SOUTH PER DEATH-BY-BLUBBER)
|
||||
(SW SORRY "You bang your head on the rock face.")
|
||||
;(WEST PER UP-TO-LIP)
|
||||
(NW SORRY "You bang your head on the rock face.")
|
||||
(FLAGS ONBIT ONLANDBIT)
|
||||
(GLOBAL WHALE-CRATER)>
|
||||
|
||||
<ROUTINE DOWN-TO-CRATER ()
|
||||
<TELL "You hop over the teeth and scramble down to the crater floor">
|
||||
<MOVE ,WINNER ,WHALE-CRATER>>
|
||||
|
||||
<OBJECT WHALE-CRATER-BOX
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(FLAGS CONTBIT TRANSBIT NDESCBIT)>
|
||||
|
||||
<ROOM WHALE-CRATER
|
||||
(LOC ROOMS)
|
||||
(DESC "Crater")
|
||||
(FDESC
|
||||
"The floor of this deeply crufty crater is splattered with all kinds of disgusting stuff. Film at eleven.")
|
||||
(LDESC "This is the whale crater, liberally supplied with whale.")
|
||||
(FLAGS ONLANDBIT ONBIT)>
|
|
@ -0,0 +1,51 @@
|
|||
<FLAGS-AND-DEFAULTS () (("CAPITAL-NOUN?" "MISC" #WORD *24210253711*))>
|
||||
|
||||
<GLOBAL SCREENWIDTH:NUMBER 0>
|
||||
<DEFINE-ROUTINE GO>
|
||||
<DEFINE-ROUTINE INTRO>
|
||||
<DEFINE-ROUTINE PRINT-THE>
|
||||
<DEFINE-ROUTINE THE?>
|
||||
<DEFINE-ROUTINE START-SENTENCE>
|
||||
<DEFINE-ROUTINE PRINTA>
|
||||
<GLOBAL QCONTEXT:OBJECT FORD>
|
||||
<GLOBAL LIT:OBJECT RAMP>
|
||||
<GLOBAL P-IT-OBJECT:OBJECT GOWN>
|
||||
<GLOBAL P-HER-OBJECT:OBJECT TRILLIAN>
|
||||
<GLOBAL P-HIM-OBJECT:OBJECT FORD>
|
||||
<DEFINE-ROUTINE THIS-IS-IT>
|
||||
<DEFINE-ROUTINE NO-PRONOUN?>
|
||||
<DEFINE-ROUTINE HE-SHE-IT>
|
||||
<DEFINE-ROUTINE HIM-HER-IT>
|
||||
<OBJECT HER (LOC GLOBAL-OBJECTS) (SYNONYM HER MADAM) (DESC "her") (FLAGS
|
||||
NARTICLEBIT)>
|
||||
<OBJECT HIM (LOC GLOBAL-OBJECTS) (SYNONYM HIM SIR) (DESC "him") (FLAGS
|
||||
NARTICLEBIT)>
|
||||
<OBJECT THEM (LOC GLOBAL-OBJECTS) (SYNONYM THEM) (DESC "them") (FLAGS
|
||||
NARTICLEBIT)>
|
||||
<CONSTANT P-PROMPT-START 4>
|
||||
<GLOBAL P-PROMPT:NUMBER 4>
|
||||
<DEFINE-ROUTINE I-PROMPT>
|
||||
<DEFINE-ROUTINE DONT-F>
|
||||
<DEFINE-ROUTINE NOT-FOUND>
|
||||
<DEFINE-ROUTINE VERB-PRINT>
|
||||
<DEFINE-ROUTINE NOT-IT>
|
||||
<REPLACE-DEFINITION CAPITAL-NOUN? <ROUTINE CAPITAL-NOUN?>>
|
||||
<DEFINE-ROUTINE TITLE-NOUN?>
|
||||
<GLOBAL SCORE:NUMBER 0>
|
||||
<GLOBAL MOVES:NUMBER 0>
|
||||
<GLOBAL HERE:OBJECT RAMP>
|
||||
<GLOBAL OHERE:OBJECT <>>
|
||||
<GLOBAL CLOCKER-RUNNING:NUMBER 0>
|
||||
<CONSTANT C-TABLELEN 138>
|
||||
<GLOBAL C-TABLE <TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
I-REPLY 1 1 I-PROMPT>>
|
||||
<GLOBAL C-INTS:NUMBER <- 138 <* 1 6>>>
|
||||
<CONSTANT C-INTLEN 6>
|
||||
<CONSTANT C-ENABLED? 0>
|
||||
<CONSTANT C-TICK 1>
|
||||
<CONSTANT C-RTN 2>
|
||||
<DEFINE-ROUTINE QUEUE>
|
||||
<DEFINE-ROUTINE INT>
|
||||
<GLOBAL CLOCK-WAIT:FLAG <>>
|
||||
<DEFINE-ROUTINE CLOCKER>
|
|
@ -0,0 +1,403 @@
|
|||
|
||||
|
||||
.FUNCT GO:ANY:0:0
|
||||
?FCN: GETB 0,33 >SCREENWIDTH
|
||||
LESS? SCREENWIDTH,64 \?CND1
|
||||
PRINTI "[The screen is too narrow.]"
|
||||
CRLF
|
||||
QUIT
|
||||
?CND1: CLEAR -1
|
||||
ICALL1 INIT-STATUS-LINE
|
||||
ICALL1 V-VERSION
|
||||
ICALL1 INTRO
|
||||
ICALL1 MAIN-LOOP
|
||||
JUMP ?FCN
|
||||
|
||||
|
||||
.FUNCT INTRO:ANY:0:0
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PRINT-THE:ANY:1:1,OBJ
|
||||
EQUAL? OBJ,TURN \?CCL3
|
||||
LESS? 1,P-NUMBER \?CCL3
|
||||
PRINTC 32
|
||||
PRINTN P-NUMBER
|
||||
PRINTI " minutes"
|
||||
RTRUE
|
||||
?CCL3: EQUAL? OBJ,WINDOW \?CCL7
|
||||
PRINTI " the window"
|
||||
RTRUE
|
||||
?CCL7: ICALL2 THE?,OBJ
|
||||
PRINTC 32
|
||||
PRINTD OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT THE?:ANY:1:1,OBJ
|
||||
FSET? OBJ,NARTICLEBIT /?CND1
|
||||
IN? OBJ,ROOMS /?CTR4
|
||||
FSET? OBJ,SEENBIT \?CCL5
|
||||
?CTR4: PRINTI " the"
|
||||
JUMP ?CND1
|
||||
?CCL5: FSET? OBJ,VOWELBIT \?CCL9
|
||||
PRINTI " an"
|
||||
JUMP ?CND1
|
||||
?CCL9: PRINTI " a"
|
||||
?CND1: FSET OBJ,SEENBIT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT START-SENTENCE:ANY:1:1,OBJ
|
||||
ICALL2 THIS-IS-IT,OBJ
|
||||
EQUAL? OBJ,PLAYER \?CCL3
|
||||
PRINTI "You"
|
||||
RTRUE
|
||||
?CCL3: EQUAL? OBJ,HANDS \?CCL5
|
||||
PRINTI "Your hand"
|
||||
RTRUE
|
||||
?CCL5: EQUAL? OBJ,HEAD \?CCL7
|
||||
PRINTI "Your head"
|
||||
RTRUE
|
||||
?CCL7: EQUAL? OBJ,EYES \?CCL9
|
||||
PRINTI "Your eyes"
|
||||
RTRUE
|
||||
?CCL9: EQUAL? OBJ,TEETH \?CCL11
|
||||
PRINTI "Your teeth"
|
||||
RTRUE
|
||||
?CCL11: EQUAL? OBJ,EARS \?CND1
|
||||
PRINTI "Your ears"
|
||||
RTRUE
|
||||
?CND1: FSET? OBJ,NARTICLEBIT /?CND13
|
||||
FSET? OBJ,SEENBIT \?CCL17
|
||||
PRINTI "The "
|
||||
JUMP ?CND13
|
||||
?CCL17: FSET? OBJ,VOWELBIT \?CCL20
|
||||
PRINTI "An "
|
||||
JUMP ?CND13
|
||||
?CCL20: PRINTI "A "
|
||||
?CND13: FSET OBJ,SEENBIT
|
||||
PRINTD OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PRINTA:ANY:1:1,O
|
||||
FSET? O,NARTICLEBIT /?CND1
|
||||
FSET? O,VOWELBIT \?CCL6
|
||||
PRINTI "an "
|
||||
JUMP ?CND1
|
||||
?CCL6: PRINTI "a "
|
||||
?CND1: PRINTD O
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT THIS-IS-IT:ANY:1:1,OBJ
|
||||
EQUAL? OBJ,FALSE-VALUE,NOT-HERE-OBJECT,PLAYER /TRUE
|
||||
EQUAL? OBJ,INTDIR,GLOBAL-HERE,ROOMS /TRUE
|
||||
EQUAL? PRSA,V?WALK \?CND1
|
||||
EQUAL? OBJ,PRSO /TRUE
|
||||
?CND1: FSET? OBJ,PERSONBIT /?CCL11
|
||||
FSET IT,TOUCHBIT
|
||||
SET 'P-IT-OBJECT,OBJ
|
||||
RTRUE
|
||||
?CCL11: FSET? OBJ,FEMALEBIT \?CCL13
|
||||
FSET HER,TOUCHBIT
|
||||
SET 'P-HER-OBJECT,OBJ
|
||||
RTRUE
|
||||
?CCL13: FSET? OBJ,PLURALBIT \?CCL15
|
||||
FSET THEM,TOUCHBIT
|
||||
SET 'P-THEM-OBJECT,OBJ
|
||||
RTRUE
|
||||
?CCL15: FSET HIM,TOUCHBIT
|
||||
SET 'P-HIM-OBJECT,OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT NO-PRONOUN?:ANY:1:2,OBJ,CAP
|
||||
EQUAL? OBJ,PLAYER /FALSE
|
||||
FSET? OBJ,PERSONBIT /?CCL5
|
||||
EQUAL? OBJ,P-IT-OBJECT \?CND1
|
||||
FSET? IT,TOUCHBIT \?CND1
|
||||
RFALSE
|
||||
?CCL5: FSET? OBJ,FEMALEBIT \?CCL11
|
||||
EQUAL? OBJ,P-HER-OBJECT \?CND1
|
||||
FSET? HER,TOUCHBIT \?CND1
|
||||
RFALSE
|
||||
?CCL11: FSET? OBJ,PLURALBIT \?CCL17
|
||||
EQUAL? OBJ,P-THEM-OBJECT \?CND1
|
||||
FSET? THEM,TOUCHBIT \?CND1
|
||||
RFALSE
|
||||
?CCL17: EQUAL? OBJ,P-HIM-OBJECT \?CND1
|
||||
FSET? HIM,TOUCHBIT /FALSE
|
||||
?CND1: ZERO? CAP \?CCL28
|
||||
ICALL2 PRINT-THE,OBJ
|
||||
JUMP ?CND26
|
||||
?CCL28: EQUAL? CAP,1,TRUE-VALUE \?CND26
|
||||
ICALL2 START-SENTENCE,OBJ
|
||||
?CND26: ICALL2 THIS-IS-IT,OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT HE-SHE-IT:ANY:1:3,OBJ,CAP,VERB
|
||||
CALL NO-PRONOUN?,OBJ,CAP
|
||||
ZERO? STACK \?CND1
|
||||
FSET? OBJ,PERSONBIT /?CCL5
|
||||
ZERO? CAP \?CCL8
|
||||
PRINTI " it"
|
||||
JUMP ?CND1
|
||||
?CCL8: EQUAL? CAP,1,TRUE-VALUE \?CND1
|
||||
PRINTI "It"
|
||||
JUMP ?CND1
|
||||
?CCL5: EQUAL? OBJ,PLAYER \?CCL11
|
||||
ZERO? CAP \?CCL14
|
||||
PRINTI " you"
|
||||
JUMP ?CND1
|
||||
?CCL14: EQUAL? CAP,1,TRUE-VALUE \?CND1
|
||||
PRINTI "You"
|
||||
JUMP ?CND1
|
||||
?CCL11: FSET? OBJ,FEMALEBIT \?CCL17
|
||||
ZERO? CAP \?CCL20
|
||||
PRINTI " she"
|
||||
JUMP ?CND1
|
||||
?CCL20: EQUAL? CAP,1,TRUE-VALUE \?CND1
|
||||
PRINTI "She"
|
||||
JUMP ?CND1
|
||||
?CCL17: ZERO? CAP \?CCL24
|
||||
PRINTI " he"
|
||||
JUMP ?CND1
|
||||
?CCL24: EQUAL? CAP,1,TRUE-VALUE \?CND1
|
||||
PRINTI "He"
|
||||
?CND1: ZERO? VERB /FALSE
|
||||
PRINTC 32
|
||||
EQUAL? OBJ,PLAYER \?CCL31
|
||||
EQUAL? VERB,STR?61 \?CCL35
|
||||
PRINTI "are"
|
||||
RTRUE
|
||||
?CCL35: EQUAL? VERB,STR?62 \?CCL37
|
||||
PRINTI "have"
|
||||
RTRUE
|
||||
?CCL37: EQUAL? VERB,STR?63 \?CCL39
|
||||
PRINTI "try"
|
||||
RTRUE
|
||||
?CCL39: EQUAL? VERB,STR?64 \?CCL41
|
||||
PRINTI "empty"
|
||||
RTRUE
|
||||
?CCL41: PRINT VERB
|
||||
RTRUE
|
||||
?CCL31: PRINT VERB
|
||||
EQUAL? VERB,STR?65,STR?66,STR?67 /?CCL43
|
||||
EQUAL? VERB,STR?63,STR?64 \?CND42
|
||||
?CCL43: PRINTC 101
|
||||
?CND42: EQUAL? VERB,STR?61,STR?62 /FALSE
|
||||
PRINTC 115
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT HIM-HER-IT:ANY:1:3,OBJ,CAP,POSSESS?
|
||||
CALL NO-PRONOUN?,OBJ,CAP
|
||||
ZERO? STACK /?CCL3
|
||||
ZERO? POSSESS? /TRUE
|
||||
PRINTI "'s"
|
||||
RTRUE
|
||||
?CCL3: FSET? OBJ,PERSONBIT /?CCL7
|
||||
ZERO? CAP \?CCL10
|
||||
PRINTI " it"
|
||||
JUMP ?CND8
|
||||
?CCL10: PRINTI "It"
|
||||
?CND8: ZERO? POSSESS? /TRUE
|
||||
PRINTC 115
|
||||
RTRUE
|
||||
?CCL7: EQUAL? OBJ,PLAYER \?CCL14
|
||||
ZERO? CAP \?CCL17
|
||||
PRINTI " you"
|
||||
JUMP ?CND15
|
||||
?CCL17: PRINTI "You"
|
||||
?CND15: ZERO? POSSESS? /TRUE
|
||||
PRINTC 114
|
||||
RTRUE
|
||||
?CCL14: FSET? OBJ,PLURALBIT \?CCL21
|
||||
ZERO? POSSESS? /?CCL24
|
||||
ZERO? CAP \?CCL27
|
||||
PRINTI " their"
|
||||
RTRUE
|
||||
?CCL27: PRINTI "Their"
|
||||
RTRUE
|
||||
?CCL24: ZERO? CAP \?CCL30
|
||||
PRINTI " them"
|
||||
RTRUE
|
||||
?CCL30: PRINTI "Them"
|
||||
RTRUE
|
||||
?CCL21: FSET? OBJ,FEMALEBIT \?CCL32
|
||||
ZERO? CAP \?CCL35
|
||||
PRINTI " her"
|
||||
RTRUE
|
||||
?CCL35: PRINTI "Her"
|
||||
RTRUE
|
||||
?CCL32: ZERO? POSSESS? /?CCL38
|
||||
ZERO? CAP \?CCL41
|
||||
PRINTI " his"
|
||||
RTRUE
|
||||
?CCL41: PRINTI "His"
|
||||
RTRUE
|
||||
?CCL38: ZERO? CAP \?CCL44
|
||||
PRINTI " him"
|
||||
RTRUE
|
||||
?CCL44: PRINTI "Him"
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT I-PROMPT:ANY:0:1,GARG
|
||||
EQUAL? GARG,G-DEBUG /FALSE
|
||||
DEC 'P-PROMPT
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT DONT-F:ANY:0:0
|
||||
EQUAL? PRSA,V?PANIC \?CCL3
|
||||
RANDOM 2
|
||||
EQUAL? STACK,1 \?CCL6
|
||||
PRINTR "Very clever. It looks as if there's a lot you should be panicking about."
|
||||
?CCL6: PRINTR "Why not? Your position appears quite hopeless."
|
||||
?CCL3: EQUAL? PRSA,V?WAIT-UNTIL,V?WAIT-FOR \?CCL8
|
||||
PRINTR "Time doesn't pass..."
|
||||
?CCL8: EQUAL? PRSA,V?TAKE \?CCL10
|
||||
PRINTR "Not taken."
|
||||
?CCL10: PRINTR "Not done."
|
||||
|
||||
|
||||
.FUNCT NOT-FOUND:ANY:1:1,OBJ,WT
|
||||
EQUAL? PRSA,V?WALK-TO \?CND1
|
||||
SET 'WT,TRUE-VALUE
|
||||
?CND1: ZERO? WT \?CCL5
|
||||
SET 'CLOCK-WAIT,TRUE-VALUE
|
||||
PRINTI "(Y"
|
||||
JUMP ?CND3
|
||||
?CCL5: PRINTI "But y"
|
||||
?CND3: PRINTI "ou haven't found"
|
||||
ICALL2 HIM-HER-IT,OBJ
|
||||
PRINTI " yet!"
|
||||
ZERO? WT \?CND6
|
||||
PRINTC 41
|
||||
?CND6: CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT VERB-PRINT:ANY:0:1,GERUND,TMP
|
||||
GET PARSE-RESULT,1 >TMP
|
||||
ZERO? TMP \?CCL3
|
||||
ZERO? GERUND \?CCL6
|
||||
PRINTI "tell"
|
||||
RTRUE
|
||||
?CCL6: PRINTI "walk"
|
||||
JUMP ?CND1
|
||||
?CCL3: ZERO? GERUND /?CCL8
|
||||
GET TMP,0 >TMP
|
||||
EQUAL? TMP,W?L \?CCL12
|
||||
PRINTB W?LOOK
|
||||
JUMP ?CND1
|
||||
?CCL12: EQUAL? TMP,W?X \?CCL14
|
||||
PRINTB W?EXAMINE
|
||||
JUMP ?CND1
|
||||
?CCL14: EQUAL? TMP,W?Z \?CCL16
|
||||
PRINTB W?WAIT
|
||||
JUMP ?CND1
|
||||
?CCL16: ZERO? GERUND /?CCL18
|
||||
EQUAL? TMP,W?BATHE \?CCL21
|
||||
PRINTI "bath"
|
||||
JUMP ?CND1
|
||||
?CCL21: EQUAL? TMP,W?DIG \?CCL23
|
||||
PRINTI "digg"
|
||||
JUMP ?CND1
|
||||
?CCL23: EQUAL? TMP,W?GET \?CCL25
|
||||
PRINTI "gett"
|
||||
JUMP ?CND1
|
||||
?CCL25: PRINTB TMP
|
||||
JUMP ?CND1
|
||||
?CCL18: PRINTB TMP
|
||||
JUMP ?CND1
|
||||
?CCL8: ICALL2 WORD-PRINT,TMP
|
||||
?CND1: ZERO? GERUND /FALSE
|
||||
PRINTI "ing?"
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT NOT-IT:ANY:1:1,WHO
|
||||
EQUAL? WHO,P-HER-OBJECT \?CCL3
|
||||
FCLEAR HER,TOUCHBIT
|
||||
RTRUE
|
||||
?CCL3: EQUAL? WHO,P-HIM-OBJECT \?CCL5
|
||||
FCLEAR HIM,TOUCHBIT
|
||||
RTRUE
|
||||
?CCL5: EQUAL? WHO,P-THEM-OBJECT \?CCL7
|
||||
FCLEAR THEM,TOUCHBIT
|
||||
RTRUE
|
||||
?CCL7: EQUAL? WHO,P-IT-OBJECT \FALSE
|
||||
FCLEAR IT,TOUCHBIT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT CAPITAL-NOUN?:ANY:1:1,WRD,?TMP1
|
||||
CALL2 TITLE-NOUN?,WRD >?TMP1
|
||||
ZERO? ?TMP1 /?PRD3
|
||||
RETURN ?TMP1
|
||||
?PRD3: EQUAL? WRD,W?FORD,W?ZAPHOD,W?BEEBLEBROX /TRUE
|
||||
EQUAL? WRD,W?TRILLIAN,W?TRICIA,W?MCMILLAN /TRUE
|
||||
EQUAL? WRD,W?MARV,W?MARVIN,W?PREFECT /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT TITLE-NOUN?:ANY:1:1,WRD
|
||||
EQUAL? WRD,W?MR,W?MS /TRUE
|
||||
EQUAL? WRD,W?MISTER,W?MISS,W?SIR /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT QUEUE:ANY:2:2,RTN,TICK,CINT
|
||||
CALL2 INT,RTN >CINT
|
||||
PUT CINT,C-TICK,TICK
|
||||
PUT CINT,C-ENABLED?,1
|
||||
RETURN CINT
|
||||
|
||||
|
||||
.FUNCT INT:ANY:1:5,RTN,DEMON,E,C,INT
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
ADD C-TABLE,C-INTS >C
|
||||
?PRG1: EQUAL? C,E \?CCL5
|
||||
SUB C-INTS,C-INTLEN >C-INTS
|
||||
ADD C-TABLE,C-INTS >INT
|
||||
PUT INT,C-RTN,RTN
|
||||
RETURN INT
|
||||
?CCL5: GET C,C-RTN
|
||||
EQUAL? STACK,RTN \?CND3
|
||||
RETURN C
|
||||
?CND3: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT CLOCKER:ANY:0:0,C,E,TICK,FLG,VAL
|
||||
ZERO? CLOCK-WAIT /?CND1
|
||||
SET 'CLOCK-WAIT,FALSE-VALUE
|
||||
RFALSE
|
||||
?CND1: INC 'MOVES
|
||||
ADD C-TABLE,C-INTS >C
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
?PRG3: EQUAL? C,E \?CCL7
|
||||
RETURN FLG
|
||||
?CCL7: GET C,C-ENABLED?
|
||||
ZERO? STACK /?CND5
|
||||
GET C,C-TICK >TICK
|
||||
ZERO? TICK /?CND5
|
||||
SUB TICK,1
|
||||
PUT C,C-TICK,STACK
|
||||
GRTR? TICK,1 /?CND5
|
||||
GET C,C-RTN
|
||||
CALL STACK >VAL
|
||||
ZERO? VAL /?CND5
|
||||
ZERO? FLG /?CCL16
|
||||
EQUAL? VAL,M-FATAL \?CND5
|
||||
?CCL16: SET 'FLG,VAL
|
||||
?CND5: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG3
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,371 @@
|
|||
"MISC for MILLIWAYS
|
||||
Copyright (c) 1988 Infocom, Inc. All rights reserved."
|
||||
|
||||
<GLOBAL SCREENWIDTH:NUMBER 0>
|
||||
|
||||
<ROUTINE GO ()
|
||||
<SETG SCREENWIDTH <LOWCORE SCRH>>
|
||||
<COND (<L? ,SCREENWIDTH 64>
|
||||
<TELL "[The screen is too narrow.]" CR>
|
||||
<QUIT>)>
|
||||
<CLEAR -1>
|
||||
<INIT-STATUS-LINE>
|
||||
<V-VERSION>
|
||||
<INTRO>
|
||||
<MAIN-LOOP>
|
||||
<AGAIN>>
|
||||
|
||||
<ROUTINE INTRO ()
|
||||
;<TELL "[LEN=" N <LOWCORE SCRV> " WID=" N ,SCREENWIDTH "]">
|
||||
<CRLF>>
|
||||
|
||||
<ROUTINE PRINT-THE (OBJ) ;"the"
|
||||
<COND (<AND <EQUAL? .OBJ ,TURN> <L? 1 ,P-NUMBER>>
|
||||
<TELL !\ N ,P-NUMBER " minutes">)
|
||||
(<EQUAL? .OBJ ,WINDOW>
|
||||
<TELL " the window">)
|
||||
;(<AND <EQUAL? .OBJ ,P-IT-OBJECT>
|
||||
<FSET? ,IT ,TOUCHBIT>>
|
||||
<TELL " it">
|
||||
<RTRUE>)
|
||||
(T
|
||||
<THE? .OBJ>
|
||||
<TELL !\ D .OBJ>)>>
|
||||
|
||||
<ROUTINE THE? (OBJ)
|
||||
<COND (<NOT <FSET? .OBJ ,NARTICLEBIT>>
|
||||
<COND (<OR ;<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<IN? .OBJ ,ROOMS>
|
||||
<FSET? .OBJ ,SEENBIT>>
|
||||
<TELL " the">)
|
||||
(<FSET? .OBJ ,VOWELBIT>
|
||||
<TELL " an">)
|
||||
(T <TELL " a">)>)>
|
||||
<COND (T ;<FSET? .OBJ ,PERSONBIT>
|
||||
<FSET .OBJ ,SEENBIT>)>>
|
||||
|
||||
<ROUTINE START-SENTENCE (OBJ) ;"The"
|
||||
<THIS-IS-IT .OBJ>
|
||||
<COND (<EQUAL? .OBJ ,PLAYER> <TELL "You"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,HANDS> <TELL "Your hand"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,HEAD> <TELL "Your head"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,EYES> <TELL "Your eyes"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,TEETH> <TELL "Your teeth"> <RTRUE>)
|
||||
(<EQUAL? .OBJ ,EARS> <TELL "Your ears"> <RTRUE>)>
|
||||
<COND (<NOT <FSET? .OBJ ,NARTICLEBIT>>
|
||||
<COND (<OR ;<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<FSET? .OBJ ,SEENBIT>>
|
||||
<TELL "The ">)
|
||||
(<FSET? .OBJ ,VOWELBIT>
|
||||
<TELL "An ">)
|
||||
(T <TELL "A ">)>)>
|
||||
<COND (T ;<FSET? .OBJ ,PERSONBIT>
|
||||
<FSET .OBJ ,SEENBIT>)>
|
||||
<TELL D .OBJ>>
|
||||
|
||||
<ROUTINE PRINTA (O) ;"a"
|
||||
<COND (<OR ;<FSET? .O ,PERSONBIT> <FSET? .O ,NARTICLEBIT>> T)
|
||||
(<FSET? .O ,VOWELBIT> <TELL "an ">)
|
||||
(T <TELL "a ">)>
|
||||
<TELL D .O>>
|
||||
|
||||
<GLOBAL QCONTEXT:OBJECT FORD>
|
||||
<GLOBAL LIT:OBJECT RAMP>
|
||||
;<GLOBAL P-IT-WORDS <TABLE <VOC DRESSING ADJ> <VOC GOWN NOUN>>>
|
||||
<GLOBAL P-IT-OBJECT:OBJECT GOWN>
|
||||
<GLOBAL P-HER-OBJECT:OBJECT TRILLIAN>
|
||||
<GLOBAL P-HIM-OBJECT:OBJECT FORD>
|
||||
;<GLOBAL P-ONE-NOUN <VOC "FROB">>
|
||||
|
||||
<ROUTINE THIS-IS-IT (OBJ)
|
||||
<COND (<EQUAL? .OBJ <> ,NOT-HERE-OBJECT ,PLAYER>
|
||||
<RTRUE>)
|
||||
(<EQUAL? .OBJ ,INTDIR ,GLOBAL-HERE ,ROOMS>
|
||||
<RTRUE>)
|
||||
(<AND <DIR-VERB?> <==? .OBJ ,PRSO>>
|
||||
<RTRUE>)>
|
||||
<COND (<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
;<PUT ,P-IT-WORDS 0 <GET ,P-ADJW ,NOW-PRSI>>
|
||||
;<PUT ,P-IT-WORDS 1 <GET ,P-NAMW ,NOW-PRSI>>
|
||||
<FSET ,IT ,TOUCHBIT> ;"to cause pronoun 'it' in output"
|
||||
<SETG P-IT-OBJECT .OBJ>)
|
||||
(<FSET? .OBJ ,FEMALEBIT>
|
||||
<FSET ,HER ,TOUCHBIT>
|
||||
<SETG P-HER-OBJECT .OBJ>)
|
||||
(<FSET? .OBJ ,PLURALBIT>
|
||||
<FSET ,THEM ,TOUCHBIT>
|
||||
<SETG P-THEM-OBJECT .OBJ>)
|
||||
(T
|
||||
<FSET ,HIM ,TOUCHBIT>
|
||||
<SETG P-HIM-OBJECT .OBJ>)>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE NO-PRONOUN? (OBJ "OPTIONAL" (CAP 0))
|
||||
<COND (<EQUAL? .OBJ ,PLAYER>
|
||||
<RFALSE>)
|
||||
(<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<COND (<AND <EQUAL? .OBJ ,P-IT-OBJECT>
|
||||
<FSET? ,IT ,TOUCHBIT>>
|
||||
<RFALSE>)>)
|
||||
(<FSET? .OBJ ,FEMALEBIT>
|
||||
<COND (<AND <EQUAL? .OBJ ,P-HER-OBJECT>
|
||||
<FSET? ,HER ,TOUCHBIT>>
|
||||
<RFALSE>)>)
|
||||
(<FSET? .OBJ ,PLURALBIT>
|
||||
<COND (<AND <EQUAL? .OBJ ,P-THEM-OBJECT>
|
||||
<FSET? ,THEM ,TOUCHBIT>>
|
||||
<RFALSE>)>)
|
||||
(T
|
||||
<COND (<AND <EQUAL? .OBJ ,P-HIM-OBJECT>
|
||||
<FSET? ,HIM ,TOUCHBIT>>
|
||||
<RFALSE>)>)>
|
||||
<COND (<ZERO? .CAP> <TELL the .OBJ>)
|
||||
(<ONE? .CAP> <TELL The .OBJ>)>
|
||||
<THIS-IS-IT .OBJ>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE HE-SHE-IT (OBJ "OPTIONAL" (CAP 0) (VERB <>)) ;"He/he/+verb"
|
||||
<COND (<NO-PRONOUN? .OBJ .CAP>
|
||||
T)
|
||||
(<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<COND (<ZERO? .CAP> <TELL " it">)
|
||||
(<ONE? .CAP> <TELL "It">)>)
|
||||
(<==? .OBJ ,PLAYER>
|
||||
<COND (<ZERO? .CAP> <TELL " you">)
|
||||
(<ONE? .CAP> <TELL "You">)>)
|
||||
(<FSET? .OBJ ,FEMALEBIT>
|
||||
<COND (<ZERO? .CAP> <TELL " she">)
|
||||
(<ONE? .CAP> <TELL "She">)>)
|
||||
;(<FSET? .OBJ ,PLURALBIT>
|
||||
<COND (<ZERO? .CAP> <TELL " they">)
|
||||
(<ONE? .CAP> <TELL "They">)>)
|
||||
(T
|
||||
<COND (<ZERO? .CAP> <TELL " he">)
|
||||
(<ONE? .CAP> <TELL "He">)>)>
|
||||
<COND (<NOT <ZERO? .VERB>>
|
||||
<PRINTC 32>
|
||||
<COND (<OR <EQUAL? .OBJ ,PLAYER>
|
||||
;<FSET? .OBJ ,PLURALBIT>>
|
||||
<COND (<=? .VERB "is"> <TELL "are">)
|
||||
(<=? .VERB "has"><TELL "have">)
|
||||
(<=? .VERB "tri"><TELL "try">)
|
||||
(<=? .VERB "empti"><TELL "empty">)
|
||||
(T <TELL .VERB>)>)
|
||||
(T
|
||||
<TELL .VERB>
|
||||
<COND (<OR <EQUAL? .VERB "do" "kiss" "push">
|
||||
<EQUAL? .VERB "tri" "empti">>
|
||||
<TELL !\e>)>
|
||||
<COND (<NOT <EQUAL? .VERB "is" "has">>
|
||||
<TELL !\s>)>)>)>>
|
||||
|
||||
<ROUTINE HIM-HER-IT (OBJ "OPTIONAL" (CAP 0) (POSSESS? <>)) ;"His/his/him"
|
||||
<COND (<NO-PRONOUN? .OBJ .CAP>
|
||||
<COND (<NOT <ZERO? .POSSESS?>> <TELL "'s">)>)
|
||||
(<NOT <FSET? .OBJ ,PERSONBIT>>
|
||||
<COND (<ZERO? .CAP> <TELL " it">) (T <TELL "It">)>
|
||||
<COND (<NOT <ZERO? .POSSESS?>> <TELL !\s>)>)
|
||||
(<==? .OBJ ,PLAYER>
|
||||
<COND (<ZERO? .CAP> <TELL " you">) (T <TELL "You">)>
|
||||
<COND (<NOT <ZERO? .POSSESS?>> <TELL !\r>)>)
|
||||
(<FSET? .OBJ ,PLURALBIT>
|
||||
<COND (<NOT <ZERO? .POSSESS?>>
|
||||
<COND (<ZERO? .CAP> <TELL " their">)
|
||||
(T <TELL "Their">)>)
|
||||
(T
|
||||
<COND (<ZERO? .CAP> <TELL " them">)
|
||||
(T <TELL "Them">)>)>)
|
||||
(<FSET? .OBJ ,FEMALEBIT>
|
||||
<COND (<ZERO? .CAP> <TELL " her">) (T <TELL "Her">)>)
|
||||
(T
|
||||
<COND (<NOT <ZERO? .POSSESS?>>
|
||||
<COND (<ZERO? .CAP> <TELL " his">)
|
||||
(T <TELL "His">)>)
|
||||
(T
|
||||
<COND (<ZERO? .CAP> <TELL " him">)
|
||||
(T <TELL "Him">)>)>)>
|
||||
<RTRUE>>
|
||||
|
||||
<OBJECT HER
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(SYNONYM ;SHE HER MADAM)
|
||||
(DESC "her")
|
||||
(FLAGS NARTICLEBIT)>
|
||||
|
||||
<OBJECT HIM
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(SYNONYM ;HE HIM SIR)
|
||||
(DESC "him")
|
||||
(FLAGS NARTICLEBIT)>
|
||||
|
||||
<OBJECT THEM
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(SYNONYM THEM)
|
||||
(DESC "them")
|
||||
(FLAGS NARTICLEBIT)>
|
||||
|
||||
<CONSTANT P-PROMPT-START 4>
|
||||
<GLOBAL P-PROMPT:NUMBER 4>
|
||||
|
||||
<ROUTINE I-PROMPT ("OPTIONAL" (GARG <>))
|
||||
<COND (<EQUAL? .GARG ,G-DEBUG> <RFALSE>)>
|
||||
<SETG P-PROMPT <- ,P-PROMPT 1>>
|
||||
<RFALSE>>
|
||||
|
||||
<ROUTINE DONT-F ()
|
||||
<COND (<VERB? PANIC>
|
||||
<COND (<1? <RANDOM 2>>
|
||||
<TELL
|
||||
"Very clever. It looks as if there's a lot you should be panicking about." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"Why not? Your position appears quite hopeless." CR>)>)
|
||||
;(<VERB? LOOK>
|
||||
<SETG DONT-FLAG <>>
|
||||
<PERFORM ,V?CLOSE ,EYES>
|
||||
<RTRUE>)
|
||||
(<VERB? WAIT-FOR WAIT-UNTIL>
|
||||
<TELL "Time doesn't pass..." CR>)
|
||||
(<VERB? TAKE>
|
||||
<TELL "Not taken." CR>)
|
||||
;(<AND <VERB? LISTEN>
|
||||
<VISIBLE? ,POETRY>>
|
||||
<SETG DONT-FLAG <>>
|
||||
<PERFORM ,V?LISTEN ,POETRY>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL "Not done." CR>)>>
|
||||
|
||||
<ROUTINE NOT-FOUND (OBJ "AUX" (WT <>))
|
||||
<COND (<VERB? WALK-TO>
|
||||
<SET WT T>)>
|
||||
<COND (<ZERO? .WT>
|
||||
<SETG CLOCK-WAIT T>
|
||||
<TELL "(Y">)
|
||||
(T <TELL "But y">)>
|
||||
<TELL "ou haven't found" him .OBJ " yet!">
|
||||
<COND (<ZERO? .WT>
|
||||
<TELL !\)>)>
|
||||
<CRLF>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE VERB-PRINT ("OPTIONAL" (GERUND <>) "AUX" TMP)
|
||||
<SET TMP <PARSE-VERB ,PARSE-RESULT>>
|
||||
<COND (<==? .TMP 0>
|
||||
<COND (<ZERO? .GERUND> <TELL "tell"> <RTRUE>)
|
||||
(T <TELL "walk">)>)
|
||||
(<OR <T? .GERUND> ;<0? <GETB ,P-VTBL 2>>>
|
||||
<SET TMP <GET .TMP 0>>
|
||||
<COND (<==? .TMP ,W?L> <PRINTB ,W?LOOK>)
|
||||
(<==? .TMP ,W?X> <PRINTB ,W?EXAMINE>)
|
||||
(<==? .TMP ,W?Z> <PRINTB ,W?WAIT>)
|
||||
(<T? .GERUND>
|
||||
<COND (<==? .TMP ,W?BATHE> <TELL "bath">)
|
||||
(<==? .TMP ,W?DIG> <TELL "digg">)
|
||||
(<==? .TMP ,W?GET> <TELL "gett">)
|
||||
(T <PRINTB .TMP>)>)
|
||||
(T <PRINTB .TMP>)>)
|
||||
(T
|
||||
<WORD-PRINT .TMP>
|
||||
;<PUTB ,P-VTBL 2 0>)>
|
||||
<COND (<T? .GERUND> <TELL "ing?">)>>
|
||||
|
||||
<ROUTINE NOT-IT (WHO)
|
||||
<COND (<EQUAL? .WHO ,P-HER-OBJECT>
|
||||
<FCLEAR ,HER ,TOUCHBIT>)
|
||||
(<EQUAL? .WHO ,P-HIM-OBJECT>
|
||||
<FCLEAR ,HIM ,TOUCHBIT>)
|
||||
(<EQUAL? .WHO ,P-THEM-OBJECT>
|
||||
<FCLEAR ,THEM ,TOUCHBIT>)
|
||||
(<EQUAL? .WHO ,P-IT-OBJECT>
|
||||
<FCLEAR ,IT ,TOUCHBIT>)>>
|
||||
|
||||
<REPLACE-DEFINITION CAPITAL-NOUN?
|
||||
<ROUTINE CAPITAL-NOUN? (WRD)
|
||||
<OR <TITLE-NOUN? .WRD>
|
||||
<EQUAL? .WRD ,W?FORD ,W?ZAPHOD ,W?BEEBLEBROX>
|
||||
<EQUAL? .WRD ,W?TRILLIAN ,W?TRICIA ,W?MCMILLAN>
|
||||
<EQUAL? .WRD ,W?MARV ,W?MARVIN ,W?PREFECT>>>>
|
||||
|
||||
<ROUTINE TITLE-NOUN? (WRD)
|
||||
<OR <EQUAL? .WRD ,W?MR ,W?MS>
|
||||
<EQUAL? .WRD ,W?MISTER ,W?MISS ,W?SIR>
|
||||
;<EQUAL? .WRD ,W?MRS ,W?DR ,W?DOCTOR>>>
|
||||
|
||||
"CLOCK for MILLIWAYS
|
||||
Copyright (C) 1988 Infocom, Inc. All rights reserved."
|
||||
|
||||
"List of queued routines:
|
||||
"
|
||||
|
||||
<GLOBAL SCORE:NUMBER 0>
|
||||
<GLOBAL MOVES:NUMBER 0>
|
||||
<GLOBAL HERE:OBJECT RAMP>
|
||||
<GLOBAL OHERE:OBJECT <>>
|
||||
|
||||
<GLOBAL CLOCKER-RUNNING:NUMBER 0>
|
||||
|
||||
<CONSTANT C-TABLELEN 138> ;"and one for good measure"
|
||||
|
||||
<GLOBAL C-TABLE
|
||||
<TABLE 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 I-REPLY
|
||||
1 1 I-PROMPT ;"last to run">>
|
||||
|
||||
<GLOBAL C-INTS:NUMBER <- 138 <* 1 6>>>
|
||||
<CONSTANT C-INTLEN 6>
|
||||
<CONSTANT C-ENABLED? 0>
|
||||
<CONSTANT C-TICK 1>
|
||||
<CONSTANT C-RTN 2>
|
||||
|
||||
<ROUTINE QUEUE (RTN TICK "AUX" CINT)
|
||||
;#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
|
||||
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
|
||||
<PUT .CINT ,C-ENABLED? 1>
|
||||
.CINT>
|
||||
|
||||
<ROUTINE INT (RTN "OPTIONAL" (DEMON <>) E C INT)
|
||||
;#DECL ((RTN) ATOM (DEMON) <OR ATOM FALSE> (E C INT) <PRIMTYPE
|
||||
VECTOR>)
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
|
||||
;<AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,C-INTLEN>>>
|
||||
<SET INT <REST ,C-TABLE ,C-INTS>>
|
||||
<PUT .INT ,C-RTN .RTN>
|
||||
<RETURN .INT>)
|
||||
(<EQUAL? <GET .C ,C-RTN> .RTN> <RETURN .C>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
||||
|
||||
;<ROUTINE ENABLED? (RTN)
|
||||
<NOT <ZERO? <GET <INT .RTN> ,C-ENABLED?>>>>
|
||||
|
||||
;<ROUTINE QUEUED? (RTN "AUX" C)
|
||||
<SET C <INT .RTN>>
|
||||
<COND (<ZERO? <GET .C ,C-ENABLED?>> <RFALSE>)
|
||||
(T <GET .C ,C-TICK>)>>
|
||||
|
||||
<GLOBAL CLOCK-WAIT:FLAG <>>
|
||||
|
||||
<ROUTINE CLOCKER ("AUX" C E TICK (FLG <>) VAL)
|
||||
;#DECL ((C E) <PRIMTYPE VECTOR> (TICK) FIX ;(FLG) ;<OR FALSE ATOM>)
|
||||
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
|
||||
<SETG MOVES <+ ,MOVES 1>>
|
||||
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<RETURN .FLG>)
|
||||
(<NOT <ZERO? <GET .C ,C-ENABLED?>>>
|
||||
<SET TICK <GET .C ,C-TICK>>
|
||||
<COND (<NOT <ZERO? .TICK>>
|
||||
<PUT .C ,C-TICK <- .TICK 1>>
|
||||
<COND (<AND <NOT <G? .TICK 1>>
|
||||
<SET VAL <APPLY <GET .C ,C-RTN>>>>
|
||||
<COND (<OR <ZERO? .FLG>
|
||||
<==? .VAL ,M-FATAL>>
|
||||
<SET FLG .VAL>)>)>)>)>
|
||||
<SET C <REST .C ,C-INTLEN>>>>
|
|
@ -0,0 +1,231 @@
|
|||
<FLAGS-AND-DEFAULTS (("LONG-WORDS" %<>)("UNDO" T)("P-DEBUGGING-PARSER" T)(
|
||||
"ONE-BYTE-PARTS-OF-SPEECH" %<>)("WORD-FLAGS-IN-TABLE" T)("IN-ZILCH" T)(
|
||||
"P-BE-VERB" T)) (("PLURAL" "DEFS" #WORD *03222663524*))>
|
||||
|
||||
<ZZPACKAGE "PARSER">
|
||||
<ENTRY PARSER PARSE-SENTENCE PARSE-IT PARSER-ERROR TLEXV P-OFLAG P-WALK-DIR
|
||||
RED-SD>
|
||||
<RENTRY DEBUG-PARSER>
|
||||
<RENTRY ACCESSIBLE? BUZZER-WORD? DIR-VERB? FEMALE GLOBAL-OBJECTS LIT LIT? ONBIT
|
||||
OPENBIT P-INBUF P-LEXV P-NUMBER P?THINGS PERFORM PERSONBIT PLAYER
|
||||
PRINT-VOCAB-WORD SEARCHBIT SPECIAL-CONTRACTION? SURFACEBIT TAKEBIT TELL-CTHE
|
||||
TELL-THE TITLE-ABBR? TRANSBIT TRYTAKEBIT VERBOSITY VISIBLE? WINNER>
|
||||
<INCLUDE "BASEDEFS" "PBITDEFS" "PDEFS" "SYMBOLS">
|
||||
<USE "PSTACK" "PMEM">
|
||||
<FILE-FLAGS MDL-ZIL? CLEAN-STACK?>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<COMPILATION-FLAG-DEFAULT P-APOSTROPHE-BREAKS-WORDS T>
|
||||
<COMPILATION-FLAG-DEFAULT P-BE-VERB <>>
|
||||
<DEFAULTS-DEFINED BE-PATIENT BEG-PARDON BUZZER-WORD? COLLECTIVE-VERB? CONTBIT
|
||||
DIR-VERB? FEMALE GAME-VERB? INVISIBLE LIT? NARTICLEBIT NUMBER? ONBIT OPENBIT
|
||||
P-NO-MEM-ROUTINE PERSONBIT PLAYER PLURAL QCONTEXT-CHECK READ-INPUT ROOMSBIT
|
||||
SEARCHBIT SEENBIT SPECIAL-CONTRACTION? STATUS-LINE SURFACEBIT TAKEBIT TELL-CTHE
|
||||
TELL-GWIM-MSG TELL-THE TITLE-ABBR? TOUCHBIT TRANSBIT TRYTAKEBIT UNKNOWN-WORD>
|
||||
<COND (<NOT <GASSIGNED? DEBUG-PARSER>> <SETG DEBUG-PARSER <>>)>
|
||||
<DEFAULT-DEFINITION CONTBIT T>
|
||||
<DEFAULT-DEFINITION FEMALE T>
|
||||
<DEFAULT-DEFINITION INVISIBLE T>
|
||||
<DEFAULT-DEFINITION NARTICLEBIT T>
|
||||
<DEFAULT-DEFINITION ONBIT T>
|
||||
<DEFAULT-DEFINITION OPENBIT T>
|
||||
<DEFAULT-DEFINITION PERSONBIT T>
|
||||
<DEFAULT-DEFINITION PLAYER T>
|
||||
<DEFAULT-DEFINITION PLURAL T>
|
||||
<DEFAULT-DEFINITION ROOMSBIT T>
|
||||
<DEFAULT-DEFINITION SEARCHBIT T>
|
||||
<DEFAULT-DEFINITION SEENBIT T>
|
||||
<DEFAULT-DEFINITION SURFACEBIT T>
|
||||
<DEFAULT-DEFINITION TAKEBIT T>
|
||||
<DEFAULT-DEFINITION TOUCHBIT T>
|
||||
<DEFAULT-DEFINITION TRANSBIT T>
|
||||
<DEFAULT-DEFINITION TRYTAKEBIT T>
|
||||
<DEFMAC IF-SHORT ('EXPR1 "OPT" 'EXPR2) <COND (<L=? ,NUMBER-WORD-CLASSES 15> <
|
||||
COND (<AND .EXPR1 <N==? .EXPR1 '<>>> .EXPR1)>) (<ASSIGNED? EXPR2> .EXPR2)>>
|
||||
<CONSTANT STATE-STACK <ALLOCATE-PSTACK>>
|
||||
<CONSTANT SPLIT-STACK <ALLOCATE-PSTACK>>
|
||||
<CONSTANT DATA-STACK <ALLOCATE-PSTACK>>
|
||||
<CONSTANT LEXV-LENGTH 59>
|
||||
<CONSTANT LEXV-LENGTH-BYTES <+ 2 <* 4 ,LEXV-LENGTH>>>
|
||||
<CONSTANT P-LEXV <ITABLE ,LEXV-LENGTH (LEXV) 0 #BYTE *00000000000* #BYTE
|
||||
*00000000000*>>
|
||||
<CONSTANT G-LEXV <ITABLE ,LEXV-LENGTH (LEXV) 0 #BYTE *00000000000* #BYTE
|
||||
*00000000000*>>
|
||||
<CONSTANT O-LEXV <ITABLE ,LEXV-LENGTH (LEXV) 0 #BYTE *00000000000* #BYTE
|
||||
*00000000000*>>
|
||||
<CONSTANT INBUF-LENGTH <+ 1 ,LEXV-LENGTH>>
|
||||
<CONSTANT P-INBUF <ITABLE ,INBUF-LENGTH (BYTE LENGTH) 0>>
|
||||
<CONSTANT G-INBUF <ITABLE ,INBUF-LENGTH (BYTE LENGTH) 0>>
|
||||
<CONSTANT O-INBUF <ITABLE ,INBUF-LENGTH (BYTE LENGTH) 0>>
|
||||
<CONSTANT P-LEXWORDS 1>
|
||||
<CONSTANT P-LEXSTART 1>
|
||||
<CONSTANT P-LEXELEN 2>
|
||||
<CONSTANT OOPS-TABLE <TABLE <> <> <> <> <>>>
|
||||
<CONSTANT O-START 0>
|
||||
<CONSTANT O-LENGTH 1>
|
||||
<CONSTANT O-END 2>
|
||||
<CONSTANT O-PTR 3>
|
||||
<CONSTANT O-AGAIN 4>
|
||||
<GLOBAL WINNER:OBJECT PLAYER>
|
||||
<GLOBAL P-OFLAG:NUMBER 0>
|
||||
<GLOBAL P-NUMBER:NUMBER 0>
|
||||
<GLOBAL CURRENT-REDUCTION <>>
|
||||
<GLOBAL PARSER-RESULT <>>
|
||||
<GLOBAL P-WALK-DIR <>>
|
||||
<GLOBAL TLEXV 0>
|
||||
<GLOBAL OTLEXV 0>
|
||||
<CONSTANT ERROR-ARGS:TABLE <ITABLE 4 <>>>
|
||||
<GLOBAL ERROR-STRING:STRING <>>
|
||||
<GLOBAL ERROR-PRIORITY:NUMBER 0>
|
||||
<ADD-WORD "AGAIN" MISCWORD>
|
||||
<ADD-WORD "G" MISCWORD>
|
||||
<ADD-WORD "OOPS" MISCWORD>
|
||||
<ADD-WORD "O" MISCWORD>
|
||||
<GLOBAL P-LEN:NUMBER 0>
|
||||
<DEFAULT-DEFINITION STATUS-LINE <ROUTINE INIT-STATUS-LINE> <GLOBAL OLD-HERE:
|
||||
OBJECT <>> <ROUTINE UPDATE-STATUS-LINE> <ROUTINE DIGITS>>
|
||||
<DEFAULT-DEFINITION READ-INPUT <GLOBAL DEMO-VERSION? <>> <ROUTINE READ-INPUT> <
|
||||
ROUTINE SCRIPT-INBUF>>
|
||||
<CONSTANT P-QB-WORDS-1 <PLTABLE <VOC "ARE"> <VOC "CAN"> <VOC "COULD"> <VOC "DO"
|
||||
> <VOC "DOES"> <VOC "DID"> <VOC "HE"> <VOC "I"> <VOC "IS"> <VOC "IT"> <VOC
|
||||
"SHE"> <VOC "SHOULD"> <VOC "THAT"> <VOC "THEY"> <VOC "WAS"> <VOC "WE"> <VOC
|
||||
"WERE"> <VOC "WILL"> <VOC "WOULD"> <VOC "YOU">>>
|
||||
<CONSTANT P-QB-WORDS-2 <PLTABLE <VOC "NOT"> <VOC "NOT"> <VOC "NOT"> <VOC "NOT">
|
||||
<VOC "NOT"> <VOC "NOT"> <VOC "IS"> <VOC "AM"> <VOC "NOT"> <VOC "IS"> <VOC "IS">
|
||||
<VOC "NOT"> <VOC "IS"> <VOC "ARE"> <VOC "NOT"> <VOC "ARE"> <VOC "NOT"> <VOC
|
||||
"NOT"> <VOC "NOT"> <VOC "ARE">>>
|
||||
<CONSTANT P-QA-WORDS1 <PLTABLE <VOC "AREN"> <VOC "CAN"> <VOC "COULDN"> <VOC
|
||||
"DON"> <VOC "DOESN"> <VOC "DIDN"> <VOC "HE"> <VOC "I"> <VOC "ISN"> <VOC "IT"> <
|
||||
VOC "SHE"> <VOC "SHOULDN"> <VOC "THAT"> <VOC "THEY"> <VOC "WASN"> <VOC "WE"> <
|
||||
VOC "WEREN"> <VOC "WON"> <VOC "WOULDN"> <VOC "YOU">>>
|
||||
<CONSTANT P-QA-WORDS2 <PLTABLE <VOC "T"> <VOC "T"> <VOC "T"> <VOC "T"> <VOC "T"
|
||||
> <VOC "T"> <VOC "S"> <VOC "M"> <VOC "T"> <VOC "S"> <VOC "S"> <VOC "T"> <VOC
|
||||
"S"> <VOC "RE"> <VOC "T"> <VOC "RE"> <VOC "T"> <VOC "T"> <VOC "T"> <VOC "RE">>>
|
||||
|
||||
<DEFAULT-DEFINITION SPECIAL-CONTRACTION? <ROUTINE SPECIAL-CONTRACTION?>>
|
||||
<DEFINE-ROUTINE EXPAND-BE-CONTRACTIONS>
|
||||
<DEFAULT-DEFINITION TELL-THE <ROUTINE TELL-THE>>
|
||||
<DEFAULT-DEFINITION TELL-CTHE <ROUTINE TELL-CTHE>>
|
||||
<COMPILATION-FLAG-DEFAULT P-ZORK0 <>>
|
||||
<COMPILATION-FLAG-DEFAULT P-PS-ADV T>
|
||||
<GLOBAL P-DIRECTION:NUMBER 0>
|
||||
<COMPILATION-FLAG-DEFAULT P-TITLE-ABBRS <>>
|
||||
<DEFAULT-DEFINITION TITLE-ABBR? <DEFMAC TITLE-ABBR? ('WRD) <FORM EQUAL? .WRD ,
|
||||
W?MR ,W?MRS ,W?MS>>>
|
||||
<DEFINE-ROUTINE NAKED-DIR?>
|
||||
<DEFINE-ROUTINE PARSER>
|
||||
<DEFAULT-DEFINITION GAME-VERB? <CONSTANT GAME-VERB-TABLE <LTABLE V?BRIEF V?QUIT
|
||||
V?RESTART V?RESTORE V?SAVE V?SCORE V?SCRIPT V?SUPER-BRIEF V?TELL V?UNSCRIPT
|
||||
V?VERBOSE V?VERSION V?$VERIFY>> <ROUTINE GAME-VERB?>>
|
||||
<DEFINE-ROUTINE RED-SD>
|
||||
<GLOBAL SPLITS:NUMBER 0>
|
||||
<DEFINE-ROUTINE P-P>
|
||||
<CONSTANT PARSE-RESULT <MAKE-PARSE-RESULT>>
|
||||
<GLOBAL P-WORD-NUMBER:NUMBER 0>
|
||||
<GLOBAL P-WORDS-AGAIN:NUMBER 0>
|
||||
<GLOBAL P-OLEN:NUMBER 0>
|
||||
<DEFINE-ROUTINE PARSE-IT>
|
||||
<GLOBAL P-RUNNING:TABLE <>>
|
||||
<GLOBAL PARSE-SENTENCE-ACTIVATION <>>
|
||||
<DEFINE-ROUTINE PARSE-SENTENCE>
|
||||
<DEFINE-ROUTINE GET-TERMINAL-ACTION>
|
||||
<DEFINE-ROUTINE GET-NONTERMINAL-ACTION>
|
||||
<GLOBAL P-RESPONDED:NUMBER 0>
|
||||
<DEFAULT-DEFINITION BE-PATIENT <ROUTINE BE-PATIENT>>
|
||||
<DEFINE-ROUTINE MAIN-LOOP>
|
||||
<DEFAULT-DEFINITION COLLECTIVE-VERB? <DEFMAC COLLECTIVE-VERB? () '<VERB? COUNT>
|
||||
>>
|
||||
<DEFAULT-DEFINITION DIR-VERB? <DEFMAC DIR-VERB? () '<VERB? WALK>>>
|
||||
<DEFINE-ROUTINE MAIN-LOOP-1>
|
||||
<DEFINE-ROUTINE PERF-MANY>
|
||||
<DEFAULT-DEFINITION QCONTEXT-CHECK <ROUTINE QCONTEXT-CHECK>>
|
||||
<GLOBAL LIT:OBJECT <>>
|
||||
<DEFAULT-DEFINITION LIT? <ROUTINE LIT?>>
|
||||
<DEFINE-ROUTINE IGNORE-FIRST-WORD>
|
||||
<DEFINE-ROUTINE FIX-QUOTATIONS>
|
||||
<DEFINE-ROUTINE MAIN-LOOP-IT>
|
||||
<DEFAULT-DEFINITION P-NO-MEM-ROUTINE <ROUTINE P-NO-MEM-ROUTINE>>
|
||||
<DEFAULT-DEFINITION BEG-PARDON <ROUTINE BEG-PARDON>>
|
||||
<DEFAULT-DEFINITION UNKNOWN-WORD <ROUTINE UNKNOWN-WORD>>
|
||||
<DEFINE-ROUTINE WORD-PRINT>
|
||||
<DEFMAC PRINT-VOCAB-WORD ('WD) <FORM PRINTB .WD>>
|
||||
<DEFINE-ROUTINE DO-OOPS>
|
||||
<DEFINE-ROUTINE DO-AGAIN>
|
||||
<DEFINE-ROUTINE NP-SAVE>
|
||||
<DEFINE-ROUTINE PARSER-ERROR>
|
||||
<DEFAULT-DEFINITION BUZZER-WORD? <IFN-P-BE-VERB <CONSTANT P-W-WORDS <PLTABLE <
|
||||
VOC "WHAT"> <IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHAT'S">> <VOC "WHEN"> <
|
||||
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHEN'S">> <VOC "WHERE"> <
|
||||
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHERE'S">> <VOC "WHO"> <
|
||||
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHO'S">> <VOC "WHY"> <
|
||||
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WHY'S">> <VOC "HOW"> <
|
||||
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "HOW'S">> <VOC "WOULD"> <
|
||||
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "WOULDN'T">> <VOC "COULD"> <
|
||||
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "COULDN'T">> <VOC "SHOULD"> <
|
||||
IFN-P-APOSTROPHE-BREAKS-WORDS <VOC "SHOULDN'T">>>>> <IFN-P-BE-VERB <IFFLAG (
|
||||
P-APOSTROPHE-BREAKS-WORDS <CONSTANT P-Q-WORDS1 <PLTABLE <IFN-P-BE-VERB <VOC
|
||||
"AREN">> <IFN-P-BE-VERB <VOC "CAN">> <IFN-P-BE-VERB <VOC "COULDN">> <
|
||||
IFN-P-BE-VERB <VOC "DIDN">> <IFN-P-BE-VERB <VOC "DOESN">> <IFN-P-BE-VERB <VOC
|
||||
"DON">> <VOC "HASN"> <VOC "HAVEN"> <IFN-P-BE-VERB <VOC "HE">> <VOC "I"> <VOC
|
||||
"I"> <IFN-P-BE-VERB <VOC "I">> <VOC "I"> <IFN-P-BE-VERB <VOC "ISN">> <
|
||||
IFN-P-BE-VERB <VOC "IT">> <VOC "LET"> <IFN-P-BE-VERB <VOC "SHE">> <
|
||||
IFN-P-BE-VERB <VOC "SHOULDN">> <IFN-P-BE-VERB <VOC "THAT">> <IFN-P-BE-VERB <VOC
|
||||
"THEY">> <IFN-P-BE-VERB <VOC "WASN">> <IFN-P-BE-VERB <VOC "WE">> <VOC "WE"> <
|
||||
IFN-P-BE-VERB <VOC "WEREN">> <IFN-P-BE-VERB <VOC "WON">> <IFN-P-BE-VERB <VOC
|
||||
"WOULDN">> <IFN-P-BE-VERB <VOC "YOU">>>> <CONSTANT P-Q-WORDS2 <PLTABLE <
|
||||
IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "T">> <
|
||||
IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "T">> <
|
||||
VOC "T"> <VOC "T"> <IFN-P-BE-VERB <VOC "S">> <VOC "D"> <VOC "LL"> <
|
||||
IFN-P-BE-VERB <VOC "M">> <VOC "VE"> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <
|
||||
VOC "S">> <VOC "S"> <IFN-P-BE-VERB <VOC "S">> <IFN-P-BE-VERB <VOC "T">> <
|
||||
IFN-P-BE-VERB <VOC "S">> <IFN-P-BE-VERB <VOC "RE">> <IFN-P-BE-VERB <VOC "T">> <
|
||||
IFN-P-BE-VERB <VOC "RE">> <VOC "LL"> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <
|
||||
VOC "T">> <IFN-P-BE-VERB <VOC "T">> <IFN-P-BE-VERB <VOC "RE">>>>) (T <CONSTANT
|
||||
P-Q-WORDS1 <PLTABLE <IFN-P-BE-VERB <VOC "AREN'T">> <IFN-P-BE-VERB <VOC "CAN'T">
|
||||
> <IFN-P-BE-VERB <VOC "COULDN'T">> <IFN-P-BE-VERB <VOC "DIDN'T">> <
|
||||
IFN-P-BE-VERB <VOC "DOESN'T">> <IFN-P-BE-VERB <VOC "DON'T">> <VOC "HASN'T"> <
|
||||
VOC "HAVEN'T"> <IFN-P-BE-VERB <VOC "HE'S">> <VOC "I'D"> <VOC "I'LL"> <
|
||||
IFN-P-BE-VERB <VOC "I'M">> <VOC "I'VE"> <IFN-P-BE-VERB <VOC "ISN'T">> <
|
||||
IFN-P-BE-VERB <VOC "IT'S">> <VOC "LET'S"> <IFN-P-BE-VERB <VOC "SHE'S">> <
|
||||
IFN-P-BE-VERB <VOC "SHOULDN'T">> <IFN-P-BE-VERB <VOC "THAT'S">> <IFN-P-BE-VERB
|
||||
<VOC "THEY'RE">> <IFN-P-BE-VERB <VOC "WASN'T">> <IFN-P-BE-VERB <VOC "WE'RE">> <
|
||||
VOC "WE'LL"> <IFN-P-BE-VERB <VOC "WEREN'T">> <IFN-P-BE-VERB <VOC "WON'T">> <
|
||||
IFN-P-BE-VERB <VOC "WOULDN'T">> <IFN-P-BE-VERB <VOC "YOU'RE">>>>)> <CONSTANT
|
||||
P-Q-WORDS <PLTABLE <IFN-P-BE-VERB <VOC "AM">> <IFN-P-BE-VERB <VOC "ARE">> <
|
||||
IFN-P-BE-VERB <VOC "CAN">> <IFN-P-BE-VERB <VOC "COULD">> <IFN-P-BE-VERB <VOC
|
||||
"DID">> <IFN-P-BE-VERB <VOC "DO">> <VOC "HAS"> <VOC "HAVE"> <IFN-P-BE-VERB <VOC
|
||||
"IS">> <VOC "LIKE"> <IFN-P-BE-VERB <VOC "SHOULD">> <VOC "WANT"> <IFN-P-BE-VERB
|
||||
<VOC "WAS">> <IFN-P-BE-VERB <VOC "WERE">> <IFN-P-BE-VERB <VOC "WILL">> <
|
||||
IFN-P-BE-VERB <VOC "WOULD">>>>> <CONSTANT P-N-WORDS <PLTABLE <VOC "ZERO"> <VOC
|
||||
"TEN"> <VOC "ELEVEN"> <VOC "TWELVE"> <VOC "THIRTEEN"> <VOC "FOURTEEN"> <VOC
|
||||
"FIFTEEN"> <VOC "SIXTEEN"> <VOC "SEVENTEEN"> <VOC "EIGHTEEN"> <VOC "NINETEEN">
|
||||
<VOC "TWENTY"> <VOC "THIRTY"> <VOC "FORTY"> <VOC "FIFTY"> <VOC "SIXTY"> <VOC
|
||||
"SEVENTY"> <VOC "EIGHTY"> <VOC "NINETY"> <VOC "HUNDRED"> <VOC "THOUSAND"> <VOC
|
||||
"MILLION"> <VOC "BILLION">>> <CONSTANT P-C-WORDS <PLTABLE <VOC "ASS"> <VOC
|
||||
"ASSHOLE"> <VOC "BASTARD"> <VOC "BITCH"> <VOC "COCK"> <VOC "COCKSUCKER"> <VOC
|
||||
"CRAP"> <VOC "CUNT"> <VOC "CUSS"> <VOC "DAMN"> <VOC "DAMNED"> <VOC "FUCK"> <VOC
|
||||
"FUCKED"> <VOC "FUCKER"> <VOC "FUCKING"> <VOC "GODDAMN"> <VOC "GODDAMNED"> <VOC
|
||||
"HELL"> <VOC "PISS"> <VOC "SCREW"> <VOC "SHIT"> <VOC "SHITHEAD"> <VOC "SUCKS">>
|
||||
> <ROUTINE BUZZER-WORD?> <CONSTANT OFFENDED <LTABLE 0 "What charming language!"
|
||||
"Computers aren't impressed by naughty words!"
|
||||
"You ought to be ashamed of yourself!"
|
||||
"Hey, save that talk for the locker room!" "Step outside and say that!"
|
||||
"And so's your old man!">> <IFN-P-BE-VERB <DEFINE W-WORD-REPLY (WD) <COND (<OR
|
||||
<NOT <EQUAL? .WD ,W?WHAT ,W?WHO>> <NOT <EQUAL? ,WINNER ,PLAYER>>> <COND (<
|
||||
EQUAL? .WD ,W?WHERE> <TO-DO-X-USE-Y "locate" "FIND"> <RTRUE>) (T <TO-DO-X-USE-Y
|
||||
"ask about" "TELL ME ABOUT"> <RTRUE>)>) (T <TELL "[Maybe you could "> <COND (<
|
||||
FSET? ,LIBRARY ,TOUCHBIT> <TELL "look that up in the">) (T <TELL "find an">)> <
|
||||
TELL " encyclopedia.]" CR>)>> <DEFINE TO-DO-X-USE-Y (STR1 STR2) <TELL "[To " .
|
||||
STR1 " something, use the command: " .STR2 ,P-SOMETHING> <RTRUE>> <CONSTANT
|
||||
P-SOMETHING " (something).]|"> <VOC "(SOMETHI"> <VOC "SOMETHING"> <DEFINE
|
||||
TELL-PLEASE-USE-COMMANDS ("AUX" (THRESH <COND (<FSET? ,GREAT-HALL ,TOUCHBIT> 10
|
||||
) (T 2)>)) <TELL "["> <COND (<L? ,P-ERRS .THRESH> <PRINT "Please use commands">
|
||||
<TELL ", not statements or questions"> <PRINTR ".]">) (T <TELL-SAMPLE-COMMANDS>
|
||||
)>>>>
|
||||
<DEFAULT-DEFINITION NUMBER? <ADD-WORD "INT.NUM" ADJ> <ADD-WORD "INT.NUM" NOUN>
|
||||
<ADD-WORD "INT.TIM" ADJ> <ADD-WORD "INT.TIM" NOUN> <ROUTINE NUMBER?>>
|
||||
<DEFINE-ROUTINE CHANGE-LEXV>
|
||||
<CONSTANT GWIM-MSG <TABLE 0 0 0 0>>
|
||||
<DEFAULT-DEFINITION TELL-GWIM-MSG <ROUTINE TELL-GWIM-MSG>>
|
||||
<DEFINE-ROUTINE DO-IT-AGAIN>
|
||||
<END-SEGMENT>
|
||||
<ENDPACKAGE>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,68 @@
|
|||
|
||||
<CONSTANT PLAYER-C 0>
|
||||
<CONSTANT MARVIN-C 1>
|
||||
<CONSTANT FORD-C 2>
|
||||
<CONSTANT ZAPHOD-C 3>
|
||||
<CONSTANT TRILLIAN-C 4>
|
||||
<CONSTANT CHARACTER-MAX 4>
|
||||
<CONSTANT BODY-PARTS-OWNERS <TABLE (LENGTH PURE) PLAYER MARVIN FORD ZAPHOD
|
||||
TRILLIAN>>
|
||||
<OBJECT PLAYER (LOC RAMP) (DESC "yourself") (SYNONYM ME MYSELF SELF) (FLAGS
|
||||
NDESCBIT NARTICLEBIT SEARCHBIT PERSONBIT SEENBIT TOUCHBIT OPENBIT) (CHARACTER 0
|
||||
) (ACTION PLAYER-F)>
|
||||
<CONSTANT ME PLAYER>
|
||||
<DEFINE-ROUTINE PLAYER-F>
|
||||
<DEFINE-ROUTINE TOO-BAD-SIT-HIDE>
|
||||
<DEFINE-ROUTINE FUCKING-CLEAR>
|
||||
<CONSTANT YOU-ARE "You already are!">
|
||||
<OBJECT MARVIN (LOC RAMP) (DESC "Marvin") (TEXT
|
||||
"Marvin, the Paranoid Android, looks very depressed.") (ADJECTIVE DEPRESSED
|
||||
PARANOID) (SYNONYM MARVIN MARV ROBOT ANDROID) (FLAGS NARTICLEBIT PERSONBIT) (
|
||||
LDESC 0) (WEST SORRY "sulking") (LINE 0) (CHARACTER 1) (DESCFCN MARVIN-D) (
|
||||
ACTION MARVIN-F)>
|
||||
<CONSTANT M-OTHER 42>
|
||||
<DEFINE-ROUTINE MARVIN-F>
|
||||
<ADJ-SYNONYM MR MISTER>
|
||||
<ADJ-SYNONYM MS MISS>
|
||||
<OBJECT FORD (LOC RAMP) (DESC "Ford Prefect") (TEXT
|
||||
"Ford is a Betelgeusan who could pass for an Earthling.") (ADJECTIVE FORD MR) (
|
||||
SYNONYM FORD PREFECT) (FLAGS PERSONBIT CONTBIT SEARCHBIT OPENBIT NARTICLEBIT) (
|
||||
LDESC 0) (WEST SORRY "deep in thought") (LINE 0) (CHARACTER 2) (DESCFCN FORD-D)
|
||||
(ACTION FORD-F)>
|
||||
<DEFINE-ROUTINE ASKING-ABOUT?>
|
||||
<DEFINE-ROUTINE FORD-F>
|
||||
<DEFINE-ROUTINE TELL-DUNNO>
|
||||
<CONSTANT PRESIDENT " President of the Galaxy">
|
||||
<OBJECT ZAPHOD (LOC RAMP) (DESC "Zaphod Beeblebrox") (TEXT
|
||||
"Zaphod looks completely normal, except for his two heads.") (ADJECTIVE ZAPHOD
|
||||
PRESIDENT MR) (SYNONYM BEEBLEBROX ZAPHOD PRESIDENT) (FLAGS NARTICLEBIT
|
||||
PERSONBIT) (LDESC 0) (WEST SORRY "admiring himself") (LINE 0) (CHARACTER 3) (
|
||||
DESCFCN ZAPHOD-D) (ACTION ZAPHOD-F)>
|
||||
<DEFINE-ROUTINE ZAPHOD-F>
|
||||
<OBJECT TRILLIAN (LOC RAMP) (DESC "Trillian") (TEXT
|
||||
"Tricia MacMillan is more attractive than most astrophysicists.") (ADJECTIVE
|
||||
TRICIA DARK-HAIR DARK HAIRED MS) (SYNONYM TRILLIAN MCMILLAN WOMAN TRICIA) (
|
||||
FLAGS NARTICLEBIT PERSONBIT CONTBIT OPENBIT FEMALE) (LDESC 0) (WEST SORRY
|
||||
"looking at you with pity") (LINE 0) (CHARACTER 4) (DESCFCN TRILLIAN-D) (ACTION
|
||||
TRILLIAN-F)>
|
||||
<DEFINE-ROUTINE TRILLIAN-F>
|
||||
<CONSTANT CHARACTER-TABLE <PTABLE PLAYER MARVIN FORD ZAPHOD TRILLIAN>>
|
||||
<CONSTANT FOLLOW-LOC <TABLE 0 0 0 0 0>>
|
||||
<CONSTANT TOUCHED-LDESCS <TABLE 0 0 0 0 0>>
|
||||
<DEFINE-ROUTINE MARVIN-D>
|
||||
<DEFINE-ROUTINE FORD-D>
|
||||
<DEFINE-ROUTINE ZAPHOD-D>
|
||||
<DEFINE-ROUTINE TRILLIAN-D>
|
||||
<DEFINE-ROUTINE DESCRIBE-PERSON>
|
||||
<CONSTANT LDESC-STRINGS <PLTABLE "dancing" "sipping sherry" "watching you"
|
||||
"looking at you with suspicion" 0 "walking along" "sobbing quietly"
|
||||
"poised to attack" "waiting patiently" "eating with relish" "preparing dinner"
|
||||
"listening to you" "lounging and chatting" "asleep" 0 "listening"
|
||||
"preparing to leave" "deep in thought" "out cold" "ignoring you" "searching"
|
||||
"playing the piano" "following you" "brushing her hair" "looking sleepy">>
|
||||
<DEFINE-ROUTINE PERSON-F>
|
||||
<DEFINE-ROUTINE CARRY-CHECK>
|
||||
<DEFINE-ROUTINE TRANSIT-TEST>
|
||||
<DEFINE-ROUTINE COM-CHECK>
|
||||
<DEFINE-ROUTINE COMMON-ASK-ABOUT>
|
||||
<DEFINE-ROUTINE COMMON-OTHER>
|
|
@ -0,0 +1,549 @@
|
|||
|
||||
|
||||
.FUNCT PLAYER-F:ANY:0:1,ARG,L
|
||||
EQUAL? ARG,M-WINNER /?CCL3
|
||||
EQUAL? PRSO,PLAYER \?CCL6
|
||||
EQUAL? PRSA,V?THANK,V?SORRY,V?HELLO \?CCL9
|
||||
ICALL1 HAR-HAR
|
||||
RTRUE
|
||||
?CCL9: EQUAL? PRSA,V?ALARM \?CCL11
|
||||
PRINT YOU-ARE
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL11: EQUAL? PRSA,V?FIND \?CCL13
|
||||
PRINTI "You're right here, "
|
||||
ICALL1 TELL-LOCATION
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL13: EQUAL? PRSA,V?FOLLOW \?CCL15
|
||||
PRINTR "I'd like to, but like most computers I don't have legs."
|
||||
?CCL15: EQUAL? PRSA,V?MUNG,V?KILL \?CCL17
|
||||
ICALL2 JIGS-UP,STR?185
|
||||
RTRUE
|
||||
?CCL17: EQUAL? PRSA,V?LISTEN \?CCL20
|
||||
PRINTR "Yes?"
|
||||
?CCL20: EQUAL? PRSA,V?MOVE \?CCL22
|
||||
ICALL1 V-WALK-AROUND
|
||||
RTRUE
|
||||
?CCL22: EQUAL? PRSA,V?PULL-TOGETHER \?CCL24
|
||||
PRINT ZEN
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL24: EQUAL? PRSA,V?SEARCH \?CCL26
|
||||
ICALL1 V-INVENTORY
|
||||
RTRUE
|
||||
?CCL26: EQUAL? PRSA,V?TELL \FALSE
|
||||
ICALL1 FUCKING-CLEAR
|
||||
PRINTR "Talking to yourself is a sign of impending mental collapse."
|
||||
?CCL6: EQUAL? PRSI,PLAYER \FALSE
|
||||
EQUAL? PRSA,V?GIVE \FALSE
|
||||
IN? PRSO,PLAYER \?CCL36
|
||||
EQUAL? PRSO,BABEL-FISH /?CCL36
|
||||
ICALL1 PRE-TAKE
|
||||
RTRUE
|
||||
?CCL36: ICALL PERFORM,V?TAKE,PRSO
|
||||
RTRUE
|
||||
?CCL3: ZERO? PRSI /?CCL40
|
||||
EQUAL? PRSA,V?SEARCH-FOR /?CCL40
|
||||
FSET? PRSI,SECRETBIT \?CCL40
|
||||
FSET? PRSI,SEENBIT /?CCL40
|
||||
ICALL2 NOT-FOUND,PRSI
|
||||
RTRUE
|
||||
?CCL40: ZERO? PRSO /?CCL46
|
||||
EQUAL? PRSA,V?WALK,V?FIND /?CCL46
|
||||
FSET? PRSO,SECRETBIT \?CCL46
|
||||
FSET? PRSO,SEENBIT /?CCL46
|
||||
ICALL2 NOT-FOUND,PRSO
|
||||
RTRUE
|
||||
?CCL46: LOC PLAYER >L
|
||||
EQUAL? L,HERE /FALSE
|
||||
ZERO? P-WALK-DIR /?CCL55
|
||||
CALL1 TOO-BAD-SIT-HIDE
|
||||
RSTACK
|
||||
?CCL55: EQUAL? PRSO,FALSE-VALUE,ROOMS,L /FALSE
|
||||
EQUAL? PRSA,V?FIND /?CTR58
|
||||
EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH,V?WALK-TO \?CCL59
|
||||
?CTR58: EQUAL? PRSO,SLEEP-GLOBAL /FALSE
|
||||
CALL1 TOO-BAD-SIT-HIDE
|
||||
RSTACK
|
||||
?CCL59: CALL1 SPEAKING-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
CALL1 GAME-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
CALL1 REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?SMILE /FALSE
|
||||
EQUAL? PRSA,V?SHOOT,V?NOD,V?LOOK-ON /FALSE
|
||||
EQUAL? PRSA,V?LISTEN,V?FAINT,V?AIM /FALSE
|
||||
CALL2 HELD?,PRSO
|
||||
ZERO? STACK \FALSE
|
||||
CALL HELD?,PRSO,GLOBAL-OBJECTS
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?EXAMINE /FALSE
|
||||
CALL HELD?,PRSO,L
|
||||
ZERO? STACK \?CCL83
|
||||
CALL1 TOO-BAD-SIT-HIDE
|
||||
RSTACK
|
||||
?CCL83: ZERO? PRSI /FALSE
|
||||
CALL2 HELD?,PRSI
|
||||
ZERO? STACK \FALSE
|
||||
CALL HELD?,PRSI,GLOBAL-OBJECTS
|
||||
ZERO? STACK \FALSE
|
||||
CALL HELD?,PRSI,L
|
||||
ZERO? STACK \FALSE
|
||||
CALL1 TOO-BAD-SIT-HIDE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT TOO-BAD-SIT-HIDE:ANY:0:0
|
||||
MOVE WINNER,HERE
|
||||
ICALL2 FIRST-YOU,STR?186
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT FUCKING-CLEAR:ANY:0:0
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
RETURN 2
|
||||
|
||||
|
||||
.FUNCT MARVIN-F:ANY:0:1,ARG,OBJ,X
|
||||
EQUAL? ARG,M-WINNER \?CCL3
|
||||
CALL2 GRAB-ATTENTION,MARVIN
|
||||
ZERO? STACK \?CCL6
|
||||
RETURN 2
|
||||
?CCL6: CALL2 COM-CHECK,MARVIN >X
|
||||
ZERO? X /?CCL10
|
||||
EQUAL? X,M-FATAL /FALSE
|
||||
EQUAL? X,M-OTHER \TRUE
|
||||
RETURN 2
|
||||
?CCL10: ICALL1 FUCKING-CLEAR
|
||||
PRINTR """I think you ought to know I'm feeling very depressed."""
|
||||
?CCL3: CALL2 ASKING-ABOUT?,MARVIN >OBJ
|
||||
ZERO? OBJ /?CCL19
|
||||
CALL GRAB-ATTENTION,MARVIN,OBJ
|
||||
ZERO? STACK \?CCL22
|
||||
RETURN 2
|
||||
?CCL22: EQUAL? OBJ,OBJECT-OF-GAME \?CCL26
|
||||
PRINTR """Being clever doesn't always make you happy, you know. Look at me, brain the size of a planet, how many points do you think I've got? Minus thirty zillion at the last count."""
|
||||
?CCL26: CALL COMMON-ASK-ABOUT,MARVIN,OBJ >X
|
||||
ZERO? X /?CCL28
|
||||
EQUAL? X,M-FATAL /FALSE
|
||||
RTRUE
|
||||
?CCL28: CALL TELL-DUNNO,MARVIN,OBJ
|
||||
RSTACK
|
||||
?CCL19: EQUAL? PRSA,V?SHAKE,V?ALARM \?CCL33
|
||||
GETP MARVIN,P?LDESC
|
||||
EQUAL? STACK,14 \?CCL33
|
||||
PRINTR "Rather like trying to wake the dead."
|
||||
?CCL33: CALL PERSON-F,MARVIN,ARG
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT ASKING-ABOUT?:ANY:1:1,WHO,DR
|
||||
EQUAL? PRSA,V?SHOW,V?ASK-ABOUT \FALSE
|
||||
EQUAL? WHO,PRSO \FALSE
|
||||
RETURN PRSI
|
||||
|
||||
|
||||
.FUNCT FORD-F:ANY:0:1,ARG,OBJ,X
|
||||
EQUAL? ARG,M-WINNER \?CCL3
|
||||
CALL2 GRAB-ATTENTION,FORD
|
||||
ZERO? STACK \?CCL6
|
||||
RETURN 2
|
||||
?CCL6: CALL2 COM-CHECK,FORD >X
|
||||
ZERO? X /?CCL10
|
||||
EQUAL? X,M-FATAL /FALSE
|
||||
EQUAL? X,M-OTHER \TRUE
|
||||
RETURN 2
|
||||
?CCL10: ICALL1 FUCKING-CLEAR
|
||||
PRINTI "Ford, busy scanning the sky"
|
||||
EQUAL? HERE,PUB \?CND18
|
||||
PRINTI " through the window"
|
||||
?CND18: PRINTR ", ignores you."
|
||||
?CCL3: CALL2 ASKING-ABOUT?,FORD >OBJ
|
||||
ZERO? OBJ /?CCL21
|
||||
CALL GRAB-ATTENTION,FORD,OBJ
|
||||
ZERO? STACK \?CCL24
|
||||
RETURN 2
|
||||
?CCL24: EQUAL? OBJ,THIRD-PLANET \?CCL28
|
||||
PRINTR "Ford explains that the Earth has been demolished. To cheer you up, he points out that there are an awful lot of little planets like that around, and the Earth wasn't even a particularly nice one."
|
||||
?CCL28: CALL COMMON-ASK-ABOUT,FORD,OBJ >X
|
||||
ZERO? X /?CCL30
|
||||
EQUAL? X,M-FATAL /FALSE
|
||||
RTRUE
|
||||
?CCL30: CALL TELL-DUNNO,FORD,OBJ
|
||||
RSTACK
|
||||
?CCL21: EQUAL? PRSA,V?SHAKE,V?ALARM \?CCL35
|
||||
GETP FORD,P?LDESC
|
||||
EQUAL? STACK,14 \?CCL35
|
||||
PRINTR "Rather like trying to wake the dead."
|
||||
?CCL35: CALL PERSON-F,FORD,ARG
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT TELL-DUNNO:ANY:2:2,PER,OBJ
|
||||
PRINTR """You know as much as I do."""
|
||||
|
||||
|
||||
.FUNCT ZAPHOD-F:ANY:0:1,ARG,OBJ,X
|
||||
EQUAL? ARG,M-WINNER \?CCL3
|
||||
CALL2 GRAB-ATTENTION,ZAPHOD
|
||||
ZERO? STACK \?CCL6
|
||||
RETURN 2
|
||||
?CCL6: CALL2 COM-CHECK,ZAPHOD >X
|
||||
ZERO? X /?CCL10
|
||||
EQUAL? X,M-FATAL /FALSE
|
||||
EQUAL? X,M-OTHER \TRUE
|
||||
RETURN 2
|
||||
?CCL10: ICALL1 FUCKING-CLEAR
|
||||
PRINTR """Shut up, Earthman."""
|
||||
?CCL3: CALL2 ASKING-ABOUT?,ZAPHOD >OBJ
|
||||
ZERO? OBJ /?CCL19
|
||||
CALL GRAB-ATTENTION,ZAPHOD,OBJ
|
||||
ZERO? STACK \?CCL22
|
||||
RETURN 2
|
||||
?CCL22: CALL COMMON-ASK-ABOUT,ZAPHOD,OBJ >X
|
||||
ZERO? X /?CCL26
|
||||
EQUAL? X,M-FATAL /FALSE
|
||||
RTRUE
|
||||
?CCL26: CALL TELL-DUNNO,ZAPHOD,OBJ
|
||||
RSTACK
|
||||
?CCL19: EQUAL? PRSA,V?EXAMINE \?CCL31
|
||||
PRINTR "Zaphod has two heads."
|
||||
?CCL31: CALL PERSON-F,ZAPHOD,ARG
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT TRILLIAN-F:ANY:0:1,ARG,OBJ,X
|
||||
EQUAL? ARG,M-WINNER \?CCL3
|
||||
CALL2 GRAB-ATTENTION,TRILLIAN
|
||||
ZERO? STACK \?CCL6
|
||||
RETURN 2
|
||||
?CCL6: CALL2 COM-CHECK,TRILLIAN >X
|
||||
ZERO? X /?CCL10
|
||||
EQUAL? X,M-FATAL /FALSE
|
||||
EQUAL? X,M-OTHER \TRUE
|
||||
RETURN 2
|
||||
?CCL10: ICALL1 FUCKING-CLEAR
|
||||
PRINTD TRILLIAN
|
||||
PRINTR " smiles disinterestedly at you and looks away."
|
||||
?CCL3: CALL2 ASKING-ABOUT?,TRILLIAN >OBJ
|
||||
ZERO? OBJ /?CCL19
|
||||
CALL GRAB-ATTENTION,TRILLIAN,OBJ
|
||||
ZERO? STACK \?CCL22
|
||||
RETURN 2
|
||||
?CCL22: CALL COMMON-ASK-ABOUT,TRILLIAN,OBJ >X
|
||||
ZERO? X /?CCL26
|
||||
EQUAL? X,M-FATAL /FALSE
|
||||
RTRUE
|
||||
?CCL26: CALL TELL-DUNNO,TRILLIAN,OBJ
|
||||
RSTACK
|
||||
?CCL19: CALL PERSON-F,TRILLIAN,ARG
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT MARVIN-D:ANY:0:1,ARG
|
||||
ICALL2 DESCRIBE-PERSON,MARVIN
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT FORD-D:ANY:0:1,X
|
||||
GETP FORD,P?LDESC
|
||||
EQUAL? STACK,14 \?CCL3
|
||||
PRINTR "Ford is in the corner, snoring loudly."
|
||||
?CCL3: ICALL2 DESCRIBE-PERSON,FORD
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT ZAPHOD-D:ANY:0:1,ARG
|
||||
ICALL2 DESCRIBE-PERSON,ZAPHOD
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT TRILLIAN-D:ANY:0:1,ARG
|
||||
ICALL2 DESCRIBE-PERSON,TRILLIAN
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DESCRIBE-PERSON:ANY:1:1,PER,STR
|
||||
GETP PER,P?LDESC >STR
|
||||
ZERO? STR /?CND1
|
||||
GETP PER,P?CHARACTER
|
||||
PUT TOUCHED-LDESCS,STACK,STR
|
||||
RFALSE
|
||||
?CND1: ICALL2 START-SENTENCE,PER
|
||||
PRINTI " is "
|
||||
GETPT PER,P?WEST >STR
|
||||
ZERO? STR /?CCL6
|
||||
GET STR,NEXITSTR >STR
|
||||
ZERO? STR /?CCL6
|
||||
PRINT STR
|
||||
JUMP ?CND4
|
||||
?CCL6: PRINTI "looking bored"
|
||||
?CND4: PRINTC 46
|
||||
EQUAL? STR,6 \?CCL11
|
||||
PRINTC 32
|
||||
RTRUE
|
||||
?CCL11: CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PERSON-F:ANY:2:2,PER,ARG,OBJ,X,L,C,N
|
||||
LOC PER >L
|
||||
GETP PER,P?CHARACTER >C
|
||||
EQUAL? PRSA,V?SHAKE,V?ALARM \?CCL3
|
||||
EQUAL? PRSO,PER \FALSE
|
||||
CALL UNSNOOZE,PER,TRUE-VALUE
|
||||
ZERO? STACK /?CCL9
|
||||
ICALL HE-SHE-IT,PER,1
|
||||
PRINTR " gasps to see you so close!"
|
||||
?CCL9: ICALL HE-SHE-IT,PER,1,STR?61
|
||||
PRINTI " still "
|
||||
GETP PER,P?LDESC >X
|
||||
ZERO? X /?CCL12
|
||||
GET LDESC-STRINGS,X
|
||||
PRINT STACK
|
||||
JUMP ?CND10
|
||||
?CCL12: GETPT PER,P?WEST >X
|
||||
ZERO? X /?CND10
|
||||
GET X,NEXITSTR
|
||||
PRINT STACK
|
||||
?CND10: PRINTR "."
|
||||
?CCL3: EQUAL? PRSA,V?GIVE \?CCL15
|
||||
EQUAL? PRSI,PER \FALSE
|
||||
CALL2 HELD?,PRSO
|
||||
ZERO? STACK /FALSE
|
||||
CALL2 GRAB-ATTENTION,PER
|
||||
ZERO? STACK \FALSE
|
||||
RETURN 2
|
||||
?CCL15: EQUAL? PRSA,V?LAMP-OFF \?CCL26
|
||||
GETP PER,P?LINE
|
||||
ZERO? STACK /?CCL29
|
||||
PRINTR "Seems you've already done that."
|
||||
?CCL29: CALL1 WONT-HELP
|
||||
RSTACK
|
||||
?CCL26: EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH,V?MUNG \?CCL31
|
||||
EQUAL? PER,PRSO \FALSE
|
||||
FSET? PER,PERSONBIT \FALSE
|
||||
FSET? PER,MUNGBIT /FALSE
|
||||
GETP PER,P?LINE
|
||||
ADD 1,STACK
|
||||
PUTP PER,P?LINE,STACK
|
||||
GETP PER,P?LDESC
|
||||
EQUAL? STACK,4 /?CND38
|
||||
PUTP PER,P?LDESC,20
|
||||
?CND38: ICALL HE-SHE-IT,PER,1
|
||||
PRINTR " pushes you away and mutters, ""I don't think that's called for."""
|
||||
?CCL31: EQUAL? PRSA,V?SHOW \?CCL41
|
||||
EQUAL? PER,PRSO \FALSE
|
||||
CALL2 GRAB-ATTENTION,PER
|
||||
ZERO? STACK \?CCL47
|
||||
RETURN 2
|
||||
?CCL47: ICALL PERFORM,V?TELL-ABOUT,PRSO,PRSI
|
||||
RTRUE
|
||||
?CCL41: EQUAL? PRSA,V?SMILE \?CCL52
|
||||
EQUAL? PER,PRSO \FALSE
|
||||
CALL2 GRAB-ATTENTION,PER
|
||||
ZERO? STACK \?CCL58
|
||||
RETURN 2
|
||||
?CCL58: ICALL HE-SHE-IT,PRSO,1,STR?217
|
||||
PRINTR " back at you."
|
||||
?CCL52: EQUAL? PRSA,V?TELL-ABOUT \?CCL62
|
||||
EQUAL? PER,PRSO \FALSE
|
||||
CALL2 GRAB-ATTENTION,PER
|
||||
ZERO? STACK \?CND66
|
||||
RETURN 2
|
||||
?CND66: PUTP PER,P?LDESC,12
|
||||
PRINTR """I don't know what you mean."""
|
||||
?CCL62: EQUAL? PRSA,V?THROW-AT \?CCL71
|
||||
EQUAL? PER,PRSI \FALSE
|
||||
FSET? PER,PERSONBIT \FALSE
|
||||
FSET? PER,MUNGBIT /FALSE
|
||||
MOVE PRSO,PRSI
|
||||
ICALL HE-SHE-IT,PER,1
|
||||
PRINTI " catches"
|
||||
ICALL2 PRINT-THE,PRSO
|
||||
PRINTI " with"
|
||||
ICALL HIM-HER-IT,PER,0,TRUE-VALUE
|
||||
PRINTC 32
|
||||
PRINTI "righ"
|
||||
PRINTR "t hand."
|
||||
?CCL71: CALL2 COMMON-OTHER,PER
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT CARRY-CHECK:ANY:1:1,PER
|
||||
FIRST? PER \FALSE
|
||||
ICALL HE-SHE-IT,PER,1,STR?61
|
||||
PRINTI " holding"
|
||||
ICALL2 PRINT-CONTENTS,PER
|
||||
PRINTR "."
|
||||
|
||||
|
||||
.FUNCT TRANSIT-TEST:ANY:1:1,PER
|
||||
EQUAL? PRSA,V?WALK-TO,V?WALK,V?THROUGH /TRUE
|
||||
EQUAL? PRSA,V?TAKE-TO,V?LEAVE,V?DISEMBARK /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT COM-CHECK:ANY:1:1,PER,N
|
||||
GETP PER,P?LINE >N
|
||||
EQUAL? PRSA,V?$CALL \?CCL3
|
||||
ICALL1 DONT-UNDERSTAND
|
||||
RETURN M-OTHER
|
||||
?CCL3: CALL2 TRANSIT-TEST,PER
|
||||
ZERO? STACK /?CCL5
|
||||
RETURN 2
|
||||
?CCL5: EQUAL? PRSA,V?SORRY,V?HELLO,V?ALARM \?CCL9
|
||||
EQUAL? PRSO,ROOMS /?CTR11
|
||||
EQUAL? PRSO,PER \FALSE
|
||||
?CTR11: SET 'WINNER,PLAYER
|
||||
ICALL PERFORM,PRSA,PER
|
||||
RTRUE
|
||||
?CCL9: LESS? 0,N \?CCL16
|
||||
PRINTI """I'm too "
|
||||
EQUAL? N,1 \?CCL19
|
||||
PRINTI "peeved"
|
||||
JUMP ?CND17
|
||||
?CCL19: PRINTI "angry"
|
||||
?CND17: PRINTR " with you now."""
|
||||
?CCL16: EQUAL? PRSA,V?YES,V?THANK,V?NO \?CCL21
|
||||
RETURN 2
|
||||
?CCL21: EQUAL? PRSA,V?WALK-TO,V?FOLLOW \?CCL25
|
||||
EQUAL? PRSA,V?WALK-TO \?CCL28
|
||||
EQUAL? PRSO,SLEEP-GLOBAL \?CCL28
|
||||
RETURN 2
|
||||
?CCL28: PRINTR """I will go where I please, thank you very much."""
|
||||
?CCL25: EQUAL? PRSA,V?INVENTORY \?CCL34
|
||||
CALL2 CARRY-CHECK,PER
|
||||
ZERO? STACK \TRUE
|
||||
ICALL HE-SHE-IT,PER,1,STR?61
|
||||
PRINTR "n't holding anything."
|
||||
?CCL34: EQUAL? PRSA,V?LISTEN \?CCL38
|
||||
EQUAL? PRSO,PLAYER /?CTR40
|
||||
IN? PRSO,GLOBAL-OBJECTS /FALSE
|
||||
?CTR40: PRINTR """I'm trying to!"""
|
||||
?CCL38: EQUAL? PRSA,V?RUB \?CND1
|
||||
ICALL1 FACE-RED
|
||||
RTRUE
|
||||
?CND1: EQUAL? PRSA,V?WALK \?CCL47
|
||||
EQUAL? PRSO,P?OUT \?CCL47
|
||||
RETURN 2
|
||||
?CCL47: EQUAL? PRSA,V?KISS \?CCL54
|
||||
ICALL2 UNSNOOZE,PER
|
||||
PRINTR """I really don't think this is the proper time or place."""
|
||||
?CCL54: EQUAL? PRSA,V?TAKE \?CCL56
|
||||
IN? PRSO,PLAYER \FALSE
|
||||
SET 'WINNER,PLAYER
|
||||
ICALL PERFORM,V?GIVE,PRSO,PER
|
||||
RTRUE
|
||||
?CCL56: EQUAL? PRSA,V?READ,V?LOOK-INSIDE,V?EXAMINE \?CCL61
|
||||
IN? PRSO,PLAYER \FALSE
|
||||
SET 'WINNER,PLAYER
|
||||
ICALL PERFORM,V?SHOW,PER,PRSO
|
||||
RTRUE
|
||||
?CCL61: EQUAL? PRSA,V?THROW-AT,V?GIVE \?CCL66
|
||||
FSET? PRSI,PERSONBIT \?CCL66
|
||||
SET 'WINNER,PRSI
|
||||
ICALL PERFORM,V?ASK-FOR,PER,PRSO
|
||||
RTRUE
|
||||
?CCL66: EQUAL? PRSA,V?SGIVE \?CCL70
|
||||
FSET? PRSO,PERSONBIT \?CCL70
|
||||
SET 'WINNER,PRSO
|
||||
ICALL PERFORM,V?ASK-FOR,PER,PRSI
|
||||
RTRUE
|
||||
?CCL70: EQUAL? PRSA,V?HELP \?CCL74
|
||||
EQUAL? PRSO,FALSE-VALUE,PLAYER \?PRG78
|
||||
SET 'WINNER,PLAYER
|
||||
ICALL PERFORM,V?ASK,PER
|
||||
RTRUE
|
||||
?PRG78: RETURN 2
|
||||
?CCL74: EQUAL? PRSA,V?SSHOW,V?SHOW,V?FIND \?CCL81
|
||||
EQUAL? PRSA,V?SHOW \?CND82
|
||||
SET 'PRSA,V?SSHOW
|
||||
SET 'N,PRSI
|
||||
SET 'PRSI,PRSO
|
||||
SET 'PRSO,N
|
||||
?CND82: IN? PRSO,ROOMS \?CCL86
|
||||
SET 'WINNER,PLAYER
|
||||
ICALL PERFORM,V?WALK-TO,PRSO
|
||||
RTRUE
|
||||
?CCL86: IN? PRSO,PER \?CCL88
|
||||
CALL1 ITAKE
|
||||
EQUAL? STACK,TRUE-VALUE \TRUE
|
||||
ICALL HE-SHE-IT,PER,1
|
||||
PRINTI " fumbles in"
|
||||
ICALL HIM-HER-IT,PER,0,TRUE-VALUE
|
||||
PRINTI " pocket and produces"
|
||||
ICALL2 HIM-HER-IT,PRSO
|
||||
PRINTR "."
|
||||
?CCL88: EQUAL? PRSA,V?FIND \FALSE
|
||||
RETURN 2
|
||||
?CCL81: EQUAL? PRSA,V?TELL \?CCL96
|
||||
EQUAL? PRSO,PLAYER \FALSE
|
||||
SET 'WINNER,PLAYER
|
||||
ICALL PERFORM,V?ASK,PER
|
||||
RTRUE
|
||||
?CCL96: EQUAL? PRSA,V?TELL-ABOUT \?CCL101
|
||||
FSET? PRSO,PERSONBIT \FALSE
|
||||
SET 'WINNER,PLAYER
|
||||
ICALL PERFORM,V?ASK-ABOUT,PER,PRSI
|
||||
RTRUE
|
||||
?CCL101: EQUAL? PRSA,V?WAIT-FOR,V?STOP \?CCL106
|
||||
EQUAL? PRSO,ROOMS /?CCL109
|
||||
EQUAL? PRSO,PLAYER,GLOBAL-HERE,HERE \FALSE
|
||||
?CCL109: EQUAL? PER,FOLLOWER \?CCL114
|
||||
SET 'FOLLOWER,0
|
||||
PRINTR """As you wish."""
|
||||
?CCL114: SET 'WINNER,PLAYER
|
||||
ICALL PERFORM,V?$CALL,PER
|
||||
RTRUE
|
||||
?CCL106: EQUAL? PRSA,V?TALK-ABOUT \FALSE
|
||||
SET 'WINNER,PLAYER
|
||||
ICALL PERFORM,V?ASK-ABOUT,PER,PRSO
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT COMMON-ASK-ABOUT:ANY:2:2,PER,OBJ
|
||||
EQUAL? OBJ,PER \?CCL3
|
||||
PRINTR """I have no secrets. Anyone can see what I am."""
|
||||
?CCL3: EQUAL? OBJ,PLAYER \?CCL5
|
||||
PRINTR """You're Arthur Dent, the next-to-last Earthling."""
|
||||
?CCL5: FSET? OBJ,PERSONBIT /FALSE
|
||||
EQUAL? OBJ,OBJECT-OF-GAME \?CCL9
|
||||
PRINTR """Oh...you're trying to figure that out also? The manual's not much help, is it? By the way, do you know your score? I don't. My computer doesn't have a status line."""
|
||||
?CCL9: IN? OBJ,PER \FALSE
|
||||
PRINTR """I have it right here."""
|
||||
|
||||
|
||||
.FUNCT COMMON-OTHER:ANY:1:1,PER,X,N
|
||||
EQUAL? PRSA,V?ASK /FALSE
|
||||
EQUAL? PRSA,V?EXAMINE \?CCL5
|
||||
GETP PER,P?TEXT
|
||||
PRINT STACK
|
||||
CRLF
|
||||
IN? PER,HERE \?CND6
|
||||
FIRST? PER >N \?CND6
|
||||
FSET? N,NDESCBIT /?CND6
|
||||
CALL2 CARRY-CHECK,PER
|
||||
ZERO? STACK /?CND6
|
||||
SET 'X,TRUE-VALUE
|
||||
?CND6: FSET? PER,MUNGBIT \TRUE
|
||||
ZERO? X /?CND15
|
||||
PRINTI "And"
|
||||
?CND15: ZERO? X /?PRT17
|
||||
PUSH 0
|
||||
JUMP ?PRE19
|
||||
?PRT17: PUSH 1
|
||||
?PRE19: ICALL HE-SHE-IT,PER,STACK,STR?61
|
||||
PRINTC 32
|
||||
GETP PER,P?LDESC
|
||||
GET LDESC-STRINGS,STACK
|
||||
PRINT STACK
|
||||
PRINTR "."
|
||||
?CCL5: EQUAL? PRSO,PER \FALSE
|
||||
EQUAL? PRSA,V?SHOW \FALSE
|
||||
ICALL PERFORM,V?ASK-ABOUT,PRSO,PRSI
|
||||
RTRUE
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,662 @@
|
|||
"PEOPLE for MILLIWAYS
|
||||
Copyright (C) 1986 Infocom, Inc. All rights reserved."
|
||||
|
||||
"Constants used as table offsets for each character, including the player:"
|
||||
<CONSTANT PLAYER-C 0>
|
||||
<CONSTANT MARVIN-C 1>
|
||||
<CONSTANT FORD-C 2>
|
||||
<CONSTANT ZAPHOD-C 3>
|
||||
<CONSTANT TRILLIAN-C 4>
|
||||
<CONSTANT CHARACTER-MAX 4>
|
||||
|
||||
<CONSTANT BODY-PARTS-OWNERS
|
||||
<TABLE (LENGTH PURE) PLAYER MARVIN FORD ZAPHOD TRILLIAN>>
|
||||
|
||||
<OBJECT PLAYER
|
||||
(LOC RAMP)
|
||||
(DESC "yourself")
|
||||
(SYNONYM ;"I" ME MYSELF SELF)
|
||||
(FLAGS NDESCBIT NARTICLEBIT SEARCHBIT PERSONBIT SEENBIT TOUCHBIT
|
||||
;TRANSBIT OPENBIT ;"see GET-OBJECT")
|
||||
(CHARACTER 0)
|
||||
(ACTION PLAYER-F)>
|
||||
|
||||
<CONSTANT ME PLAYER>
|
||||
|
||||
<ROUTINE PLAYER-F ("OPTIONAL" (ARG <>) "AUX" (L <>))
|
||||
<COND (<NOT <==? .ARG ,M-WINNER>>
|
||||
<COND (<DOBJ? PLAYER>
|
||||
<COND (<VERB? ;DANCE ;GOODBYE HELLO SORRY THANK>
|
||||
<HAR-HAR>
|
||||
<RTRUE>)
|
||||
(<VERB? ALARM>
|
||||
<TELL ,YOU-ARE CR>
|
||||
<RTRUE>)
|
||||
;(<VERB? EXAMINE>
|
||||
<TELL "You are wearing">
|
||||
<COND (<ZERO? ,NOW-WEARING> <TELL " nothing">)
|
||||
(T <TELL the ,NOW-WEARING>)>
|
||||
<SET L <FIRST? ,PLAYER>>
|
||||
<REPEAT ()
|
||||
<COND (<ZERO? .L>
|
||||
<RETURN>)
|
||||
(<AND <FSET? .L ,WORNBIT>
|
||||
<NOT <==? .L ,NOW-WEARING>>>
|
||||
<TELL " and" the .L>)>
|
||||
<SET L <NEXT? .L>>>
|
||||
<TELL "." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? FIND>
|
||||
<TELL "You're right here, ">
|
||||
<TELL-LOCATION>
|
||||
<CRLF>
|
||||
<RTRUE>)
|
||||
(<VERB? FOLLOW>
|
||||
<TELL
|
||||
"I'd like to, but like most computers I don't have legs." CR>
|
||||
<RTRUE>)
|
||||
(<OR <VERB? KILL MUNG>
|
||||
;<AND <VERB? SHOOT>
|
||||
<IOBJ? BLASTER>>>
|
||||
<JIGS-UP "Done.">
|
||||
<RTRUE>)
|
||||
(<VERB? LISTEN>
|
||||
<TELL "Yes?" CR>
|
||||
<RTRUE>)
|
||||
(<VERB? MOVE>
|
||||
<V-WALK-AROUND>
|
||||
<RTRUE>)
|
||||
(<VERB? PULL-TOGETHER>
|
||||
<TELL ,ZEN CR>
|
||||
<RTRUE>)
|
||||
(<VERB? SEARCH>
|
||||
<V-INVENTORY>
|
||||
<RTRUE>)
|
||||
(<VERB? TELL>
|
||||
<FUCKING-CLEAR>
|
||||
<TELL
|
||||
"Talking to yourself is a sign of impending mental collapse." CR>
|
||||
<RTRUE>)>)
|
||||
(<IOBJ? PLAYER>
|
||||
<COND (<VERB? GIVE>
|
||||
<COND (<AND <IN? ,PRSO ,PLAYER>
|
||||
<NOT <DOBJ? BABEL-FISH>>>
|
||||
<PRE-TAKE>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<PERFORM ,V?TAKE ,PRSO>
|
||||
<RTRUE>)>)>)
|
||||
(T <RFALSE>)>)
|
||||
;(<DIVESTMENT? ,NOW-WEARING>
|
||||
<COND (<NO-CHANGING?> <RTRUE>)
|
||||
(T
|
||||
<COND (<AND <NOT <ZERO? ,NOW-WEARING>>
|
||||
<NOT <VERB? DISEMBARK REMOVE>>>
|
||||
<FIRST-YOU "remove" ,NOW-WEARING>
|
||||
<FCLEAR ,NOW-WEARING ,WORNBIT>
|
||||
<SETG NOW-WEARING <>>)>
|
||||
<RFALSE>)>)
|
||||
(<AND <T? ,PRSI>
|
||||
<NOT <VERB? SEARCH-FOR>>
|
||||
<FSET? ,PRSI ,SECRETBIT>
|
||||
<NOT <FSET? ,PRSI ,SEENBIT>>>
|
||||
<NOT-FOUND ,PRSI>
|
||||
<RTRUE>)
|
||||
(<AND <T? ,PRSO>
|
||||
<NOT <VERB? FIND WALK>>
|
||||
<FSET? ,PRSO ,SECRETBIT>
|
||||
<NOT <FSET? ,PRSO ,SEENBIT>>>
|
||||
<NOT-FOUND ,PRSO>
|
||||
<RTRUE>)
|
||||
;(<AND <T? ,AWAITING-REPLY>
|
||||
<VERB? FOLLOW THROUGH WALK WALK-TO>>
|
||||
<SETG CLOCK-WAIT T>
|
||||
<PLEASE-ANSWER>
|
||||
<RTRUE>)
|
||||
(<AND <EQUAL? <SET L <LOC ,PLAYER>> ,HERE ;,CAR>
|
||||
;<NOT ,PLAYER-SEATED>
|
||||
;<NOT ,PLAYER-HIDING>>
|
||||
<RFALSE>)
|
||||
(<T? ,P-WALK-DIR> <TOO-BAD-SIT-HIDE>)
|
||||
(<EQUAL? ,PRSO <> ,ROOMS .L>
|
||||
<RFALSE>)
|
||||
(<VERB? WALK-TO SEARCH SEARCH-FOR FIND>
|
||||
<COND (<DOBJ? SLEEP-GLOBAL> <RFALSE>)
|
||||
(T <TOO-BAD-SIT-HIDE>)>)
|
||||
(<SPEAKING-VERB?> <RFALSE>)
|
||||
(<GAME-VERB?> <RFALSE>)
|
||||
(<REMOTE-VERB?> <RFALSE>)
|
||||
(<VERB? AIM FAINT LISTEN LOOK-ON NOD SHOOT SMILE>
|
||||
<RFALSE>)
|
||||
(<HELD? ,PRSO> <RFALSE>)
|
||||
(<HELD? ,PRSO ,GLOBAL-OBJECTS> <RFALSE>)
|
||||
(<VERB? EXAMINE> <RFALSE>)
|
||||
(<NOT <HELD? ,PRSO .L ;,PLAYER-SEATED>> <TOO-BAD-SIT-HIDE>)
|
||||
(<NOT ,PRSI> <RFALSE>)
|
||||
(<HELD? ,PRSI> <RFALSE>)
|
||||
(<HELD? ,PRSI ,GLOBAL-OBJECTS> <RFALSE>)
|
||||
(<NOT <HELD? ,PRSI .L ;,PLAYER-SEATED>> <TOO-BAD-SIT-HIDE>)>>
|
||||
|
||||
<ROUTINE TOO-BAD-SIT-HIDE ()
|
||||
<MOVE ,WINNER ,HERE>
|
||||
<FIRST-YOU "stand up">
|
||||
<RFALSE>>
|
||||
|
||||
<ROUTINE FUCKING-CLEAR ()
|
||||
<SETG P-CONT <>>
|
||||
;<SETG QUOTE-FLAG <>>
|
||||
<RFATAL>>
|
||||
|
||||
<CONSTANT YOU-ARE "You already are!">
|
||||
|
||||
;<ROUTINE PLEASE-ANSWER ("AUX" (P <GETB ,QUESTIONERS ,AWAITING-REPLY>))
|
||||
<TELL D .P " says, \"">
|
||||
<COND (<EQUAL? .P ,BUTLER ,DOCTOR>
|
||||
<TELL "Pardon me, "TN", but">)
|
||||
(T <TELL "Wait a mo'.">)>
|
||||
<TELL " I asked you a question.\"" CR>>
|
||||
|
||||
<OBJECT MARVIN
|
||||
(LOC RAMP)
|
||||
(DESC "Marvin")
|
||||
(TEXT "Marvin, the Paranoid Android, looks very depressed.")
|
||||
(ADJECTIVE DEPRESSED PARANOID)
|
||||
(SYNONYM MARVIN MARV ROBOT ANDROID)
|
||||
(FLAGS NARTICLEBIT PERSONBIT)
|
||||
(LDESC 0)
|
||||
(WEST SORRY "sulking")
|
||||
(LINE 0) ;"unfriendliness"
|
||||
(CHARACTER 1)
|
||||
(DESCFCN MARVIN-D)
|
||||
(ACTION MARVIN-F)>
|
||||
|
||||
<CONSTANT M-OTHER 42>
|
||||
|
||||
<ROUTINE MARVIN-F ("OPTIONAL" (ARG <>) "AUX" OBJ X)
|
||||
<COND (<==? .ARG ,M-WINNER>
|
||||
<COND (<NOT <GRAB-ATTENTION ,MARVIN>> <RFATAL>)
|
||||
(<SET X <COM-CHECK ,MARVIN>>
|
||||
<COND (<==? .X ,M-FATAL> <RFALSE>)
|
||||
(<==? .X ,M-OTHER> <RFATAL>)
|
||||
(T <RTRUE>)>)
|
||||
(T
|
||||
<FUCKING-CLEAR>
|
||||
<TELL
|
||||
"\"I think you ought to know I'm feeling very depressed.\"" CR>)>)
|
||||
(<SET OBJ <ASKING-ABOUT? ,MARVIN>>
|
||||
<COND (<NOT <GRAB-ATTENTION ,MARVIN .OBJ>>
|
||||
<RFATAL>)
|
||||
(<EQUAL? .OBJ ,OBJECT-OF-GAME>
|
||||
<TELL
|
||||
"\"Being clever doesn't always make you happy, you know. Look at me, brain
|
||||
the size of a planet, how many points do you think I've got? Minus thirty
|
||||
zillion at the last count.\"" CR>)
|
||||
(<SET X <COMMON-ASK-ABOUT ,MARVIN .OBJ>>
|
||||
<COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>)
|
||||
(T <TELL-DUNNO ,MARVIN .OBJ>)>)
|
||||
(<AND <VERB? ALARM SHAKE>
|
||||
<EQUAL? <GETP ,MARVIN ,P?LDESC> 14 ;"asleep">>
|
||||
<TELL "Rather like trying to wake the dead." CR>)
|
||||
(T <PERSON-F ,MARVIN .ARG>)>>
|
||||
|
||||
<ADJ-SYNONYM MR MISTER>
|
||||
<ADJ-SYNONYM MS MISS>
|
||||
|
||||
<OBJECT FORD
|
||||
(LOC RAMP)
|
||||
(DESC "Ford Prefect")
|
||||
(TEXT "Ford is a Betelgeusan who could pass for an Earthling.")
|
||||
(ADJECTIVE FORD MR)
|
||||
(SYNONYM FORD PREFECT)
|
||||
(FLAGS PERSONBIT CONTBIT SEARCHBIT OPENBIT NARTICLEBIT)
|
||||
(LDESC 0)
|
||||
(WEST SORRY "deep in thought")
|
||||
(LINE 0) ;"unfriendliness"
|
||||
(CHARACTER 2)
|
||||
(DESCFCN FORD-D)
|
||||
(ACTION FORD-F)>
|
||||
|
||||
<ROUTINE ASKING-ABOUT? (WHO "AUX" DR)
|
||||
<COND (<VERB? ASK-ABOUT ;CONFRONT SHOW>
|
||||
<COND (<EQUAL? .WHO ,PRSO>
|
||||
<RETURN ,PRSI>)>)
|
||||
;(<VERB? FIND ;WHAT>
|
||||
<COND (<EQUAL? .WHO ,WINNER>
|
||||
<RETURN ,PRSO>)>)
|
||||
(T <RFALSE>)>>
|
||||
|
||||
<ROUTINE FORD-F ("OPTIONAL" (ARG <>) "AUX" OBJ X)
|
||||
<COND (<==? .ARG ,M-WINNER>
|
||||
<COND (<NOT <GRAB-ATTENTION ,FORD>> <RFATAL>)
|
||||
(<SET X <COM-CHECK ,FORD>>
|
||||
<COND (<==? .X ,M-FATAL> <RFALSE>)
|
||||
(<==? .X ,M-OTHER> <RFATAL>)
|
||||
(T <RTRUE>)>)
|
||||
(T
|
||||
<FUCKING-CLEAR>
|
||||
<TELL "Ford, busy scanning the sky">
|
||||
<COND (<EQUAL? ,HERE ,PUB>
|
||||
<TELL " through the window">)>
|
||||
<TELL ", ignores you." CR>)>)
|
||||
(<SET OBJ <ASKING-ABOUT? ,FORD>>
|
||||
<COND (<NOT <GRAB-ATTENTION ,FORD .OBJ>>
|
||||
<RFATAL>)
|
||||
(<EQUAL? .OBJ ,THIRD-PLANET>
|
||||
<TELL
|
||||
"Ford explains that the Earth has been demolished. To cheer you up, he points
|
||||
out that there are an awful lot of little planets like that around, and the
|
||||
Earth wasn't even a particularly nice one." CR>)
|
||||
(<SET X <COMMON-ASK-ABOUT ,FORD .OBJ>>
|
||||
<COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>)
|
||||
(T <TELL-DUNNO ,FORD .OBJ>)>)
|
||||
(<AND <VERB? ALARM SHAKE>
|
||||
<EQUAL? <GETP ,FORD ,P?LDESC> 14 ;"asleep">>
|
||||
<TELL "Rather like trying to wake the dead." CR>)
|
||||
(T <PERSON-F ,FORD .ARG>)>>
|
||||
|
||||
<ROUTINE TELL-DUNNO (PER OBJ)
|
||||
<COND ;(<FSET? .OBJ ,PERSONBIT>
|
||||
<TELL "\"I don't indulge much in idle gossip, you know.\"" CR>)
|
||||
(T
|
||||
<TELL "\"You know as much as I do.\"" CR>)>>
|
||||
|
||||
<CONSTANT PRESIDENT " President of the Galaxy">
|
||||
|
||||
<OBJECT ZAPHOD
|
||||
(LOC RAMP)
|
||||
(DESC "Zaphod Beeblebrox")
|
||||
(TEXT "Zaphod looks completely normal, except for his two heads.")
|
||||
(ADJECTIVE ZAPHOD PRESIDENT MR)
|
||||
(SYNONYM BEEBLEBROX ZAPHOD PRESIDENT)
|
||||
(FLAGS NARTICLEBIT PERSONBIT ;NDESCBIT)
|
||||
(LDESC 0)
|
||||
(WEST SORRY "admiring himself")
|
||||
(LINE 0) ;"unfriendliness"
|
||||
(CHARACTER 3)
|
||||
(DESCFCN ZAPHOD-D)
|
||||
(ACTION ZAPHOD-F)>
|
||||
|
||||
<ROUTINE ZAPHOD-F ("OPTIONAL" (ARG <>) "AUX" OBJ X)
|
||||
<COND (<==? .ARG ,M-WINNER>
|
||||
<COND (<NOT <GRAB-ATTENTION ,ZAPHOD>> <RFATAL>)
|
||||
(<SET X <COM-CHECK ,ZAPHOD>>
|
||||
<COND (<==? .X ,M-FATAL> <RFALSE>)
|
||||
(<==? .X ,M-OTHER> <RFATAL>)
|
||||
(T <RTRUE>)>)
|
||||
(T
|
||||
<FUCKING-CLEAR>
|
||||
<TELL "\"Shut up, Earthman.\"" CR>)>)
|
||||
(<SET OBJ <ASKING-ABOUT? ,ZAPHOD>>
|
||||
<COND (<NOT <GRAB-ATTENTION ,ZAPHOD .OBJ>>
|
||||
<RFATAL>)
|
||||
(<SET X <COMMON-ASK-ABOUT ,ZAPHOD .OBJ>>
|
||||
<COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>)
|
||||
(T <TELL-DUNNO ,ZAPHOD .OBJ>)>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL "Zaphod has two heads." CR>)
|
||||
(T <PERSON-F ,ZAPHOD .ARG>)>>
|
||||
|
||||
<OBJECT TRILLIAN
|
||||
(LOC RAMP)
|
||||
(DESC "Trillian")
|
||||
(TEXT "Tricia MacMillan is more attractive than most astrophysicists.")
|
||||
(ADJECTIVE TRICIA DARK-HAIR DARK HAIRED MS)
|
||||
(SYNONYM TRILLIAN MCMILLAN WOMAN TRICIA)
|
||||
(FLAGS NARTICLEBIT PERSONBIT ;NDESCBIT CONTBIT OPENBIT FEMALE)
|
||||
(LDESC 0)
|
||||
(WEST SORRY "looking at you with pity")
|
||||
(LINE 0) ;"unfriendliness"
|
||||
(CHARACTER 4)
|
||||
(DESCFCN TRILLIAN-D)
|
||||
(ACTION TRILLIAN-F)>
|
||||
|
||||
<ROUTINE TRILLIAN-F ("OPTIONAL" (ARG <>) "AUX" OBJ X)
|
||||
<COND (<==? .ARG ,M-WINNER>
|
||||
<COND (<NOT <GRAB-ATTENTION ,TRILLIAN>> <RFATAL>)
|
||||
(<SET X <COM-CHECK ,TRILLIAN>>
|
||||
<COND (<==? .X ,M-FATAL> <RFALSE>)
|
||||
(<==? .X ,M-OTHER> <RFATAL>)
|
||||
(T <RTRUE>)>)
|
||||
(T
|
||||
<FUCKING-CLEAR>
|
||||
<TELL
|
||||
D ,TRILLIAN " smiles disinterestedly at you and looks away." CR>)>)
|
||||
(<SET OBJ <ASKING-ABOUT? ,TRILLIAN>>
|
||||
<COND (<NOT <GRAB-ATTENTION ,TRILLIAN .OBJ>>
|
||||
<RFATAL>)
|
||||
(<SET X <COMMON-ASK-ABOUT ,TRILLIAN .OBJ>>
|
||||
<COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>)
|
||||
(T <TELL-DUNNO ,TRILLIAN .OBJ>)>)
|
||||
(T <PERSON-F ,TRILLIAN .ARG>)>>
|
||||
|
||||
<CONSTANT CHARACTER-TABLE
|
||||
<PTABLE PLAYER MARVIN FORD ZAPHOD TRILLIAN ;4>>
|
||||
|
||||
<CONSTANT FOLLOW-LOC <TABLE 0 0 0 0 0>>
|
||||
|
||||
<CONSTANT TOUCHED-LDESCS <TABLE 0 0 0 0 0>>
|
||||
|
||||
;<ROUTINE WHY-ME ()
|
||||
<COND (<PROB 33>
|
||||
<TELL "\"You could do that " 'PLAYER ", you know.\"" CR>)
|
||||
(<PROB 50>
|
||||
<TELL "\"If you think that will help, do it!\"" CR>)
|
||||
(T <TELL "\"I think you can do that better " 'PLAYER ".\"" CR>)>>
|
||||
|
||||
<ROUTINE MARVIN-D ("OPTIONAL" (ARG <>))
|
||||
<DESCRIBE-PERSON ,MARVIN>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE FORD-D ("OPTIONAL" X)
|
||||
<COND (<EQUAL? <GETP ,FORD ,P?LDESC> 14 ;"asleep">
|
||||
<TELL "Ford is in the corner, snoring loudly." CR>)
|
||||
(T
|
||||
<DESCRIBE-PERSON ,FORD>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE ZAPHOD-D ("OPTIONAL" (ARG <>))
|
||||
<DESCRIBE-PERSON ,ZAPHOD>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE TRILLIAN-D ("OPTIONAL" (ARG <>))
|
||||
<DESCRIBE-PERSON ,TRILLIAN>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE DESCRIBE-PERSON (PER "AUX" (STR <>))
|
||||
<SET STR <GETP .PER ,P?LDESC>>
|
||||
<COND (<AND .STR ;<NOT <==? .STR 6 ;"walking along">>>
|
||||
<PUT ,TOUCHED-LDESCS <GETP .PER ,P?CHARACTER> .STR>
|
||||
<RFALSE>)>
|
||||
<TELL The .PER " is ">
|
||||
<COND (<AND <SET STR <GETPT .PER ,P?WEST>>
|
||||
<SET STR <GET .STR ,NEXITSTR>>>
|
||||
<TELL .STR>)
|
||||
(T
|
||||
<TELL "looking bored">)>
|
||||
<TELL ".">
|
||||
<COND (<==? .STR 6 ;"walking along"> <PRINTC 32>)
|
||||
(T <CRLF>)>
|
||||
<RTRUE>>
|
||||
|
||||
<CONSTANT LDESC-STRINGS
|
||||
<PLTABLE "dancing"
|
||||
"sipping sherry"
|
||||
;3 "watching you" ;"talking quietly"
|
||||
"looking at you with suspicion"
|
||||
0 ;"gazing out the window"
|
||||
;6 "walking along"
|
||||
"sobbing quietly"
|
||||
"poised to attack"
|
||||
;9 "waiting patiently"
|
||||
"eating with relish"
|
||||
"preparing dinner"
|
||||
;12 "listening to you"
|
||||
"lounging and chatting"
|
||||
"asleep"
|
||||
;15 0 ;"reading a note"
|
||||
"listening"
|
||||
"preparing to leave"
|
||||
;18 "deep in thought"
|
||||
"out cold"
|
||||
"ignoring you"
|
||||
;21 "searching"
|
||||
"playing the piano"
|
||||
"following you"
|
||||
;24 "brushing her hair"
|
||||
"looking sleepy">>
|
||||
|
||||
;<ROUTINE TELL-ABOUT-OBJECT (PER OBJ GL "AUX" C)
|
||||
<COND (<T? <GET .GL ,PLAYER-C>>
|
||||
<SET C <GETP .PER ,P?CHARACTER>>
|
||||
<COND (<ZERO? <GET .GL .C>>
|
||||
<PUT .GL .C T>
|
||||
<RETURN <GOOD-SHOW .PER .OBJ>>)
|
||||
(T <TELL"\"I know that you found a " D .OBJ ".\"" CR>)>)>>
|
||||
|
||||
<ROUTINE PERSON-F (PER ARG "AUX" OBJ X L C N)
|
||||
<SET L <LOC .PER>>
|
||||
<SET C <GETP .PER ,P?CHARACTER>>
|
||||
<COND (<VERB? ALARM SHAKE>
|
||||
<COND (<==? ,PRSO .PER>
|
||||
<COND (<UNSNOOZE .PER T>
|
||||
<TELL He .PER " gasps to see you so close!" CR>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL He+verb .PER "is" " still ">
|
||||
<COND (<SET X <GETP .PER ,P?LDESC>>
|
||||
<TELL <GET ,LDESC-STRINGS .X>>)
|
||||
(<SET X <GETPT .PER ,P?WEST>>
|
||||
<TELL <GET .X ,NEXITSTR>>)>
|
||||
<TELL "." CR>)>)>)
|
||||
(<VERB? GIVE>
|
||||
<COND (<AND <EQUAL? ,PRSI .PER> <HELD? ,PRSO>>
|
||||
<COND (<NOT <GRAB-ATTENTION .PER>> <RFATAL>)>
|
||||
<RFALSE>)>)
|
||||
(<VERB? LAMP-OFF>
|
||||
<COND (<T? <GETP .PER ,P?LINE>>
|
||||
<TELL "Seems you've already done that." CR>)
|
||||
(T <WONT-HELP>)>)
|
||||
(<VERB? MUNG SEARCH SEARCH-FOR>
|
||||
<COND (<AND <==? .PER ,PRSO>
|
||||
<FSET? .PER ,PERSONBIT>
|
||||
<NOT <FSET? .PER ,MUNGBIT>>>
|
||||
<PUTP .PER ,P?LINE <+ 1 <GETP .PER ,P?LINE>>>
|
||||
<COND (<NOT <EQUAL? <GETP .PER ,P?LDESC>
|
||||
4 ;"looking at you with suspicion">>
|
||||
<PUTP .PER ,P?LDESC 20 ;"ignoring you">)>
|
||||
<TELL
|
||||
He .PER " pushes you away and mutters, \"I don't think that's
|
||||
called for.\"" CR>
|
||||
<RTRUE>)>)
|
||||
(<VERB? SHOW>
|
||||
<COND (<==? .PER ,PRSO>
|
||||
<COND (<AND ;<NOT <EQUAL? ,PRSI ,PASSAGE>>
|
||||
<NOT <GRAB-ATTENTION .PER>>>
|
||||
<RFATAL>)
|
||||
(T
|
||||
<PERFORM ,V?TELL-ABOUT ,PRSO ,PRSI>
|
||||
<RTRUE>)>)>)
|
||||
(<VERB? SMILE>
|
||||
<COND (<==? .PER ,PRSO>
|
||||
<COND (<NOT <GRAB-ATTENTION .PER>>
|
||||
<RFATAL>)
|
||||
(T
|
||||
<TELL He+verb ,PRSO "smile" " back at you." CR>
|
||||
<RTRUE>)>)>)
|
||||
(<VERB? TELL-ABOUT>
|
||||
<COND (<==? .PER ,PRSO>
|
||||
<COND (<NOT <GRAB-ATTENTION .PER>>
|
||||
<RFATAL>)>
|
||||
<PUTP .PER ,P?LDESC 12 ;"listening to you">
|
||||
;<COND (<SECRET-PASSAGE-OR-DOOR? ,PRSI>
|
||||
<TELL-ABOUT-OBJECT ,PRSO ,PASSAGE ,FOUND-PASSAGES>
|
||||
<RTRUE>)>
|
||||
<TELL "\"I don't know what you mean.\"" CR>)>)
|
||||
(<VERB? THROW-AT>
|
||||
<COND (<AND <==? .PER ,PRSI>
|
||||
<FSET? .PER ,PERSONBIT>
|
||||
<NOT <FSET? .PER ,MUNGBIT>>>
|
||||
<MOVE ,PRSO ,PRSI>
|
||||
<TELL He .PER " catches" the ,PRSO " with" his .PER !\ >
|
||||
<COND ;(<EQUAL? .PER ,DEB ,DOCTOR> <TELL "lef">)
|
||||
(T <TELL "righ">)>
|
||||
<TELL "t hand." CR>
|
||||
<RTRUE>)>)
|
||||
;(<SET OBJ <ASKING-ABOUT? .PER>>
|
||||
<COND (<NOT <GRAB-ATTENTION .PER>>
|
||||
<RFATAL>)
|
||||
;(<SET X <COMMON-ASK-ABOUT .PER .OBJ>>
|
||||
<COND (<==? .X ,M-FATAL> <RFALSE>) (T <RTRUE>)>)
|
||||
(T <DONT-KNOW .PER .OBJ>)>)
|
||||
(T <COMMON-OTHER .PER>)>>
|
||||
|
||||
"People Functions"
|
||||
|
||||
<ROUTINE CARRY-CHECK (PER)
|
||||
<COND (<FIRST? .PER>
|
||||
<TELL He+verb .PER "is" " holding">
|
||||
<PRINT-CONTENTS .PER>
|
||||
<TELL "." CR>)>>
|
||||
|
||||
<ROUTINE TRANSIT-TEST (PER)
|
||||
<COND (<OR <VERB? DISEMBARK LEAVE TAKE-TO THROUGH WALK WALK-TO>
|
||||
;<AND <VERB? FOLLOW>
|
||||
<DOBJ? PLAYER>>>
|
||||
T ;<WILLING? .PER>)>>
|
||||
|
||||
<ROUTINE COM-CHECK (PER "AUX" N)
|
||||
<SET N <GETP .PER ,P?LINE>>
|
||||
<COND (<VERB? $CALL> ;"e.g. TAMARA, LOVE ME"
|
||||
<DONT-UNDERSTAND>
|
||||
<RETURN ,M-OTHER>)
|
||||
(<TRANSIT-TEST .PER>
|
||||
<RFATAL>)
|
||||
(<VERB? ALARM HELLO SORRY>
|
||||
<COND (<OR <DOBJ? ROOMS> <==? ,PRSO .PER>>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,PRSA .PER>
|
||||
<RTRUE>)
|
||||
(T <RFALSE>)>)
|
||||
(<L? 0 .N>
|
||||
<TELL "\"I'm too ">
|
||||
<COND (<1? .N> <TELL "peeved">) (T <TELL "angry">)>
|
||||
<TELL " with you now.\"" CR>
|
||||
<RTRUE>)
|
||||
(<VERB? NO THANK YES>
|
||||
<RFATAL> ;"let thru to next handler")
|
||||
(<VERB? FOLLOW WALK-TO>
|
||||
<COND (<AND <VERB? WALK-TO>
|
||||
<DOBJ? SLEEP-GLOBAL ;BED>>
|
||||
<RFATAL>)
|
||||
(T
|
||||
<TELL
|
||||
"\"I will go where I please, thank you very much.\"" CR>
|
||||
<RTRUE>)>)
|
||||
(<VERB? INVENTORY>
|
||||
<COND (<NOT <CARRY-CHECK .PER>>
|
||||
<TELL He+verb .PER "is" "n't holding anything." CR>)>
|
||||
<RTRUE>)
|
||||
(<VERB? LISTEN>
|
||||
<COND (<OR <DOBJ? PLAYER>
|
||||
<NOT <IN? ,PRSO ,GLOBAL-OBJECTS>>>
|
||||
<TELL "\"I'm trying to!\"" CR>
|
||||
<RTRUE>)
|
||||
(T <RFALSE>)>)
|
||||
(<VERB? RUB>
|
||||
<FACE-RED>
|
||||
<RTRUE>)>
|
||||
<COND ;(<AND <VERB? DANCE> <DOBJ? PLAYER>>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,PRSA .PER>
|
||||
<RTRUE>)
|
||||
(<OR ;<VERB? DANCE>
|
||||
<AND <VERB? WALK>
|
||||
<DOBJ? P?OUT>>>
|
||||
<RFATAL> ;"let thru to next handler")
|
||||
(<VERB? KISS>
|
||||
<UNSNOOZE .PER>
|
||||
<TELL
|
||||
"\"I really don't think this is the proper time or place.\"" CR>)
|
||||
;(<VERB? WALK-TO>
|
||||
<COND (<DOBJ? HERE GLOBAL-HERE>
|
||||
<TELL "\"I am here!\"" CR>)>)
|
||||
(<VERB? TAKE ;"GET SEND SEND-TO BRING">
|
||||
<COND (<IN? ,PRSO ,PLAYER>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?GIVE ,PRSO .PER>
|
||||
<RTRUE>)>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE READ>
|
||||
<COND (<IN? ,PRSO ,PLAYER>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?SHOW .PER ,PRSO>
|
||||
<RTRUE>)>)
|
||||
(<AND <VERB? GIVE THROW-AT> <FSET? ,PRSI ,PERSONBIT>>
|
||||
<SETG WINNER ,PRSI>
|
||||
<PERFORM ,V?ASK-FOR .PER ,PRSO>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? SGIVE> <FSET? ,PRSO ,PERSONBIT>>
|
||||
<SETG WINNER ,PRSO>
|
||||
<PERFORM ,V?ASK-FOR .PER ,PRSI>
|
||||
<RTRUE>)
|
||||
(<VERB? HELP>
|
||||
<COND (<EQUAL? ,PRSO <> ,PLAYER>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?ASK .PER>
|
||||
<RTRUE>)
|
||||
(T <RFATAL>)>)
|
||||
(<VERB? FIND SHOW SSHOW>
|
||||
<COND (<VERB? SHOW>
|
||||
<SETG PRSA ,V?SSHOW>
|
||||
<SET N ,PRSI>
|
||||
<SETG PRSI ,PRSO>
|
||||
<SETG PRSO .N>)>
|
||||
<COND (<IN? ,PRSO ,ROOMS> ;"SHOW ME MY ROOM"
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?WALK-TO ,PRSO>
|
||||
<RTRUE>)
|
||||
(<IN? ,PRSO .PER>
|
||||
<COND (<==? <ITAKE> T>
|
||||
<TELL
|
||||
He .PER " fumbles in" his .PER " pocket and produces" him ,PRSO "." CR>)>
|
||||
<RTRUE>)
|
||||
(<VERB? FIND>
|
||||
;<SETG WINNER ,PLAYER>
|
||||
;<PERFORM ,PRSA ,PRSO>
|
||||
<RFATAL>)>)
|
||||
(<VERB? TELL>
|
||||
<COND (<DOBJ? PLAYER>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?ASK .PER>
|
||||
<RTRUE>)>)
|
||||
(<VERB? TELL-ABOUT>
|
||||
<COND (<FSET? ,PRSO ,PERSONBIT>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?ASK-ABOUT .PER ,PRSI>
|
||||
;<SETG WINNER .PER>
|
||||
<RTRUE>)>)
|
||||
(<VERB? STOP WAIT-FOR>
|
||||
<COND (<DOBJ? HERE GLOBAL-HERE PLAYER ROOMS>
|
||||
<COND (<==? .PER ,FOLLOWER>
|
||||
<SETG FOLLOWER 0>
|
||||
<TELL "\"As you wish.\"" CR>)
|
||||
(T
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?$CALL .PER>
|
||||
<RTRUE>)>)>)
|
||||
(<VERB? ;WHAT TALK-ABOUT>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?ASK-ABOUT .PER ,PRSO>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE COMMON-ASK-ABOUT (PER OBJ)
|
||||
<COND (<EQUAL? .OBJ .PER>
|
||||
<TELL "\"I have no secrets. Anyone can see what I am.\"" CR>)
|
||||
(<EQUAL? .OBJ ,PLAYER>
|
||||
<TELL "\"You're Arthur Dent, the next-to-last Earthling.\"" CR>)
|
||||
(<FSET? .OBJ ,PERSONBIT>
|
||||
<RFALSE>)
|
||||
(<EQUAL? .OBJ ,OBJECT-OF-GAME>
|
||||
<TELL
|
||||
"\"Oh...you're trying to figure that out also? The
|
||||
manual's not much help, is it? By the way, do you know your score? I don't.
|
||||
My computer doesn't have a status line.\"" CR>)
|
||||
(<IN? .OBJ .PER>
|
||||
<TELL "\"I have it right here.\"" CR>)>>
|
||||
|
||||
<ROUTINE COMMON-OTHER (PER "AUX" (X <>) N)
|
||||
<COND (<VERB? ASK> <RFALSE>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL <GETP .PER ,P?TEXT> CR>
|
||||
<COND (<AND <IN? .PER ,HERE>
|
||||
<SET N <FIRST? .PER>>
|
||||
<NOT <FSET? .N ,NDESCBIT>>>
|
||||
<COND (<CARRY-CHECK .PER>
|
||||
<SET X T>)>)>
|
||||
<COND (<FSET? .PER ,MUNGBIT>
|
||||
<COND (<NOT <ZERO? .X>> <TELL "And">)>
|
||||
<HE-SHE-IT .PER <NOT .X> "is">
|
||||
<TELL !\ <GET ,LDESC-STRINGS <GETP .PER ,P?LDESC>> "." CR>)>
|
||||
<RTRUE>)
|
||||
(<AND <EQUAL? ,PRSO .PER> <VERB? SHOW>>
|
||||
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSI>
|
||||
<RTRUE>)>>
|
|
@ -0,0 +1,29 @@
|
|||
|
||||
<OBJECT ROOMS (DESC "that") (FLAGS NARTICLEBIT)>
|
||||
<DEFINE-ROUTINE DOOR-ROOM>
|
||||
<DEFINE-ROUTINE FIND-IN>
|
||||
<DEFINE-ROUTINE FIND-FLAG-NOT>
|
||||
<DEFINE-ROUTINE FIND-FLAG-LG>
|
||||
<DEFINE-ROUTINE FIND-FLAG-HERE>
|
||||
<DEFINE-ROUTINE FIND-FLAG-HERE-NOT>
|
||||
<DEFINE-ROUTINE UNIMPORTANT-THING-F>
|
||||
<OBJECT WINDOW (LOC LOCAL-GLOBALS) (DESC "window") (SYNONYM WINDOW WINDSHIELD
|
||||
WINDSCREEN DOOR) (FLAGS SEENBIT NDESCBIT) (ACTION WINDOW-F)>
|
||||
<DEFINE-ROUTINE WINDOW-F>
|
||||
<ROOM PUB (LOC ROOMS) (SYNONYM ALCOHOL) (DESC "restaurant") (FLAGS RLANDBIT
|
||||
ONBIT OUTSIDE) (GLOBAL WINDOW PUB-FURNISHINGS) (THINGS <> PEOPLE
|
||||
UNIMPORTANT-THING-F) (ACTION PUB-F)>
|
||||
<DEFINE-ROUTINE PUB-F>
|
||||
<OBJECT PUB-FURNISHINGS (LOC LOCAL-GLOBALS) (DESC "it") (ADJECTIVE USUAL SOGGY)
|
||||
(SYNONYM BEERMAT GLASSES BOTTLE GLASS) (FLAGS NDESCBIT NARTICLEBIT) (ACTION
|
||||
UNIMPORTANT-THING-F)>
|
||||
<OBJECT BEER (DESC "lots of beer") (SYNONYM LOTS BITTER PINT BEER) (FLAGS
|
||||
DRINKBIT NARTICLEBIT NDESCBIT) (ACTION BEER-F)>
|
||||
<GLOBAL DRUNK-LEVEL 0>
|
||||
<DEFINE-ROUTINE BEER-F>
|
||||
<OBJECT SANDWICH (LOC PUB) (DESC "cheese sandwich") (ADJECTIVE CHEESE
|
||||
UNINVITING) (SYNONYM PLATE SANDWICH) (FLAGS NDESCBIT EATBIT TRYTAKEBIT) (SIZE
|
||||
10) (ACTION SANDWICH-F)>
|
||||
<GLOBAL SANDWICH-BOUGHT:FLAG <>>
|
||||
<DEFINE-ROUTINE SANDWICH-F>
|
||||
<CONSTANT HANDS-OFF "The barman snaps \"Hands off until you pay for it!\"">
|
|
@ -0,0 +1,156 @@
|
|||
|
||||
|
||||
.FUNCT DOOR-ROOM:ANY:2:2,RM,DR,P,TBL
|
||||
?PRG1: NEXTP RM,P >P
|
||||
ZERO? P /FALSE
|
||||
LESS? P,LOW-DIRECTION /FALSE
|
||||
GETPT RM,P >TBL
|
||||
PTSIZE TBL
|
||||
EQUAL? DEXIT,STACK \?PRG1
|
||||
GET TBL,DEXITOBJ
|
||||
EQUAL? DR,STACK \?PRG1
|
||||
GET TBL,REXIT
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT FIND-IN:ANY:2:3,RM,FLAG,EXCLUDED,O
|
||||
FIRST? RM >O /?PRG2
|
||||
?PRG2: ZERO? O /FALSE
|
||||
FSET? O,FLAG \?CCL8
|
||||
FSET? O,INVISIBLE /?CCL8
|
||||
EQUAL? O,EXCLUDED /?CCL8
|
||||
RETURN O
|
||||
?CCL8: NEXT? O >O /?PRG2
|
||||
JUMP ?PRG2
|
||||
|
||||
|
||||
.FUNCT FIND-FLAG-NOT:ANY:2:2,RM,FLAG,O
|
||||
FIRST? RM >O /?PRG2
|
||||
?PRG2: ZERO? O /FALSE
|
||||
FSET? O,FLAG /?CCL8
|
||||
FSET? O,INVISIBLE /?CCL8
|
||||
RETURN O
|
||||
?CCL8: NEXT? O >O /?PRG2
|
||||
JUMP ?PRG2
|
||||
|
||||
|
||||
.FUNCT FIND-FLAG-LG:ANY:2:3,RM,FLAG,FLAG2,TBL,O,CNT,SIZE
|
||||
GETPT RM,P?GLOBAL >TBL
|
||||
ZERO? TBL /FALSE
|
||||
PTSIZE TBL
|
||||
DIV STACK,2
|
||||
SUB STACK,1 >SIZE
|
||||
?PRG4: GET TBL,CNT >O
|
||||
FSET? O,FLAG \?CCL8
|
||||
FSET? O,INVISIBLE /?CCL8
|
||||
ZERO? FLAG2 /?CTR7
|
||||
FSET? O,FLAG2 \?CCL8
|
||||
?CTR7: RETURN O
|
||||
?CCL8: IGRTR? 'CNT,SIZE \?PRG4
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT FIND-FLAG-HERE:ANY:1:3,FLAG,NOT1,NOT2,O
|
||||
FIRST? HERE >O /?PRG2
|
||||
?PRG2: ZERO? O /FALSE
|
||||
FSET? O,FLAG \?CCL8
|
||||
FSET? O,INVISIBLE /?CCL8
|
||||
EQUAL? O,NOT1,NOT2 /?CCL8
|
||||
RETURN O
|
||||
?CCL8: NEXT? O >O /?PRG2
|
||||
JUMP ?PRG2
|
||||
|
||||
|
||||
.FUNCT FIND-FLAG-HERE-NOT:ANY:2:3,FLAG,NFLAG,NOT2,O
|
||||
FIRST? HERE >O /?PRG2
|
||||
?PRG2: ZERO? O /FALSE
|
||||
FSET? O,FLAG \?CCL8
|
||||
FSET? O,NFLAG /?CCL8
|
||||
FSET? O,INVISIBLE /?CCL8
|
||||
EQUAL? O,NOT2 /?CCL8
|
||||
RETURN O
|
||||
?CCL8: NEXT? O >O /?PRG2
|
||||
JUMP ?PRG2
|
||||
|
||||
|
||||
.FUNCT UNIMPORTANT-THING-F:ANY:0:0
|
||||
EQUAL? PRSA,V?ASK-ABOUT \?CCL3
|
||||
EQUAL? PRSO,GUIDE /FALSE
|
||||
?CCL3: PRINTR "That's not important; leave it alone."
|
||||
|
||||
|
||||
.FUNCT WINDOW-F:ANY:0:0
|
||||
EQUAL? PRSA,V?UNLOCK /?CTR2
|
||||
EQUAL? PRSA,V?LOCK,V?CLOSE,V?OPEN \?CCL3
|
||||
?CTR2: EQUAL? PRSA,V?OPEN \?CCL8
|
||||
PRINTR "The night air is too damp and chilly."
|
||||
?CCL8: ICALL ALREADY,WINDOW,STR?98
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?THROUGH,V?LEAVE,V?DISEMBARK \?CCL10
|
||||
PRINTR "It's closed tight against the mist."
|
||||
?CCL10: EQUAL? PRSA,V?LOOK-OUTSIDE,V?LOOK-THROUGH,V?LOOK-INSIDE \FALSE
|
||||
PRINTR "All you can see are grey shapes in the moonlight."
|
||||
|
||||
|
||||
.FUNCT PUB-F:ANY:1:1,RARG
|
||||
EQUAL? RARG,M-LOOK \FALSE
|
||||
PRINTR "Milliways is pleasant and cheerful and full of pleasant and cheerful people who don't know they've got about twelve minutes to live and are therefore having a spot of lunch."
|
||||
|
||||
|
||||
.FUNCT BEER-F:ANY:0:0
|
||||
EQUAL? PRSA,V?TAKE,V?RUB,V?SMELL /?PRD5
|
||||
EQUAL? PRSA,V?COUNT,V?ENJOY,V?DRINK \?CCL3
|
||||
?PRD5: FSET? BEER,NDESCBIT \?CCL3
|
||||
PRINTR "You'd better buy some first."
|
||||
?CCL3: EQUAL? PRSA,V?COUNT \?CCL9
|
||||
PRINTR "Lots."
|
||||
?CCL9: EQUAL? PRSA,V?TAKE \?CCL11
|
||||
PRINTR "Just drink it!"
|
||||
?CCL11: EQUAL? PRSA,V?ENJOY,V?DRINK \?CCL14
|
||||
ADD SCORE,5 >SCORE
|
||||
INC 'DRUNK-LEVEL
|
||||
EQUAL? DRUNK-LEVEL,4 \?CCL17
|
||||
PRINTI "You can hear the muffled noise of your home being demolished, and the taste of the beer sours in your mouth."
|
||||
CRLF
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL17: EQUAL? DRUNK-LEVEL,3 \?CCL19
|
||||
PRINTR "There is a distant crash which Ford explains is nothing to worry about, probably just your house being knocked down."
|
||||
?CCL19: EQUAL? DRUNK-LEVEL,2 \?CCL21
|
||||
PRINTR "It is really very pleasant stuff, with a very good dry, nutty flavour, some light froth on top, and a deep colour. It is at exactly room temperature. You reflect that the world cannot be all bad when there are such pleasures in it.
|
||||
|
||||
Ford mentions that the world is going to end in about twelve minutes."
|
||||
?CCL21: EQUAL? DRUNK-LEVEL,1 \FALSE
|
||||
PRINTR "It's very good beer, brewed by a small local company. You particularly like its flavour, which is why you woke up feeling so wretched this morning. You were at somebody's birthday party here in the Pub last night.
|
||||
|
||||
You begin to relax and enjoy yourself, so when Ford mentions that he's from a small planet in the vicinity of Betelgeuse, not from Guildford as he usually claims, you take it in your stride, and say ""Oh yes, which part?"""
|
||||
?CCL14: EQUAL? PRSA,V?BUY \FALSE
|
||||
PRINTD FORD
|
||||
PRINTR " has already bought an enormous quantity for you!"
|
||||
|
||||
|
||||
.FUNCT SANDWICH-F:ANY:0:0
|
||||
EQUAL? PRSA,V?BUY \?CCL3
|
||||
ZERO? SANDWICH-BOUGHT \?CCL3
|
||||
MOVE SANDWICH,PLAYER
|
||||
FSET SANDWICH,TAKEBIT
|
||||
FCLEAR SANDWICH,TRYTAKEBIT
|
||||
FCLEAR SANDWICH,NDESCBIT
|
||||
SET 'SANDWICH-BOUGHT,TRUE-VALUE
|
||||
PRINTI "The barman gives you a "
|
||||
PRINTD SANDWICH
|
||||
PRINTR ". The bread is like the stuff that stereos come packed in, the cheese would be great for rubbing out spelling mistakes, and margarine and pickle have performed an unedifying chemical reaction to produce something that shouldn't be, but is, turquoise. Since it is clearly unfit for human consumption you are grateful to be charged only a pound for it."
|
||||
?CCL3: EQUAL? PRSA,V?BUY \?CCL7
|
||||
PRINTR "You already did."
|
||||
?CCL7: EQUAL? PRSA,V?ENJOY,V?EAT,V?TAKE \?CCL9
|
||||
FSET? SANDWICH,TRYTAKEBIT \?CCL9
|
||||
EQUAL? HERE,PUB \?CCL9
|
||||
PRINT HANDS-OFF
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL9: EQUAL? PRSA,V?ENJOY,V?EAT \FALSE
|
||||
MOVE SANDWICH,LOCAL-GLOBALS
|
||||
SUB SCORE,30 >SCORE
|
||||
PRINTR "It is one of the least rewarding taste experiences you can recall."
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,391 @@
|
|||
"PLACES for MILLIWAYS
|
||||
Copyright (C) 1988 Infocom, Inc. All rights reserved."
|
||||
|
||||
"The usual globals"
|
||||
|
||||
<OBJECT ROOMS
|
||||
(DESC "that")
|
||||
(FLAGS NARTICLEBIT)>
|
||||
|
||||
;<ROUTINE NULL-F ("OPTIONAL" A1 A2)
|
||||
<RFALSE>>
|
||||
|
||||
<ROUTINE DOOR-ROOM (RM DR "AUX" (P 0) TBL)
|
||||
<REPEAT ()
|
||||
<COND (<OR <0? <SET P <NEXTP .RM .P>>>
|
||||
<L? .P ,LOW-DIRECTION>>
|
||||
<RFALSE>)
|
||||
(<AND <==? ,DEXIT <PTSIZE <SET TBL <GETPT .RM .P>>>>
|
||||
<==? .DR <GET/B .TBL ,DEXITOBJ>>>
|
||||
<RETURN <GET/B .TBL ,REXIT>>)>>>
|
||||
|
||||
<ROUTINE FIND-IN (RM FLAG "OPTIONAL" (EXCLUDED <>) "AUX" O)
|
||||
<SET O <FIRST? .RM>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RFALSE>)
|
||||
(<AND <FSET? .O .FLAG>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<NOT <==? .O .EXCLUDED>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
<ROUTINE FIND-FLAG-NOT (RM FLAG ;"OPTIONAL" ;(EXCLUDED <>) "AUX" O)
|
||||
<SET O <FIRST? .RM>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RFALSE>)
|
||||
(<AND <NOT <FSET? .O .FLAG>>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
;<NOT <==? .O .EXCLUDED>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
<ROUTINE FIND-FLAG-LG (RM FLAG "OPTIONAL" (FLAG2 0) "AUX" TBL O (CNT 0) SIZE)
|
||||
<COND (<SET TBL <GETPT .RM ,P?GLOBAL>>
|
||||
<SET SIZE <RMGL-SIZE .TBL>>
|
||||
<REPEAT ()
|
||||
<SET O <GET/B .TBL .CNT>>
|
||||
<COND (<AND <FSET? .O .FLAG>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<OR <0? .FLAG2> <FSET? .O .FLAG2>>>
|
||||
<RETURN .O>)
|
||||
(<IGRTR? CNT .SIZE> <RFALSE>)>>)>>
|
||||
|
||||
<ROUTINE FIND-FLAG-HERE (FLAG "OPTIONAL" (NOT1 <>) (NOT2 <>) "AUX" O)
|
||||
<SET O <FIRST? ,HERE>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RFALSE>)
|
||||
(<AND <FSET? .O .FLAG>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<NOT <EQUAL? .O .NOT1 .NOT2>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
;<ROUTINE FIND-FLAG-HERE-BOTH (FLAG FLAG2 "OPTIONAL" (NOT2 <>) "AUX" O)
|
||||
<SET O <FIRST? ,HERE>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RFALSE>)
|
||||
(<AND <FSET? .O .FLAG>
|
||||
<FSET? .O .FLAG2>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<NOT <EQUAL? .O .NOT2>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
<ROUTINE FIND-FLAG-HERE-NOT (FLAG NFLAG "OPTIONAL" (NOT2 <>) "AUX" O)
|
||||
<SET O <FIRST? ,HERE>>
|
||||
<REPEAT ()
|
||||
<COND (<NOT .O> <RFALSE>)
|
||||
(<AND <FSET? .O .FLAG>
|
||||
<NOT <FSET? .O .NFLAG>>
|
||||
<NOT <FSET? .O ,INVISIBLE>>
|
||||
<NOT <EQUAL? .O .NOT2>>>
|
||||
<RETURN .O>)
|
||||
(T <SET O <NEXT? .O>>)>>>
|
||||
|
||||
;<ROUTINE OPEN-CLOSE (DR "OPTIONAL" (SAY-NAME T) X)
|
||||
<COND (.SAY-NAME
|
||||
<TELL The .DR>)>
|
||||
<TELL " creaks ">
|
||||
<COND (<FSET? .DR ,OPENBIT>
|
||||
<FCLEAR .DR ,OPENBIT>
|
||||
<THIS-IS-IT .DR>
|
||||
<TELL "closed.|">
|
||||
<REMOVE-CAREFULLY>
|
||||
<RTRUE>)
|
||||
(<SET X <DOOR-ROOM ,HERE .DR>>
|
||||
<FSET .DR ,OPENBIT>
|
||||
<THIS-IS-IT .X>
|
||||
<TELL "open, revealing">
|
||||
<COND (T ;<FSET? ,HERE ,SECRETBIT>
|
||||
<TELL the .X>)>
|
||||
<FSET .DR ,SEENBIT>
|
||||
<FSET .X ,SEENBIT>
|
||||
<TELL "!" CR>)>>
|
||||
|
||||
;<ROUTINE OUTSIDE? (RM) <GLOBAL-IN? ,SKY .RM>>
|
||||
|
||||
<ROUTINE UNIMPORTANT-THING-F ()
|
||||
<COND (<AND <VERB? ASK-ABOUT>
|
||||
<EQUAL? ,PRSO ,GUIDE>>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<TELL "That's not important; leave it alone." CR>)>>
|
||||
|
||||
;<OBJECT CAR-WINDOW
|
||||
(LOC CAR ;LOCAL-GLOBALS)
|
||||
(DESC "car window")
|
||||
(ADJECTIVE CAR)
|
||||
(SYNONYM WINDOW WINDSHIELD WINDSCREEN DOOR)
|
||||
;(GENERIC GENERIC-WINDOW)
|
||||
(FLAGS SEENBIT NDESCBIT)
|
||||
(ACTION WINDOW-F)>
|
||||
|
||||
<OBJECT WINDOW
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC ;"room " "window")
|
||||
;(ADJECTIVE ROOM)
|
||||
(SYNONYM WINDOW WINDSHIELD WINDSCREEN DOOR)
|
||||
;(GENERIC GENERIC-WINDOW)
|
||||
(FLAGS SEENBIT NDESCBIT)
|
||||
(ACTION WINDOW-F)>
|
||||
|
||||
<ROUTINE WINDOW-F ()
|
||||
<COND (<VERB? OPEN CLOSE LOCK UNLOCK>
|
||||
<COND (<VERB? OPEN>
|
||||
<TELL "The night air is too damp and chilly." CR>)
|
||||
(T ;<VERB? CLOSE>
|
||||
<ALREADY ,WINDOW "closed">
|
||||
<RTRUE>)>)
|
||||
(<VERB? DISEMBARK ;"CLIMB OUT" LEAVE THROUGH>
|
||||
<TELL "It's closed tight against the mist." CR>)
|
||||
(<VERB? LOOK-INSIDE LOOK-THROUGH LOOK-OUTSIDE>
|
||||
<TELL "All you can see are grey shapes in the moonlight." CR>)>>
|
||||
|
||||
;<ROOM RAMP
|
||||
(DESC "Ramp")
|
||||
(LOC ROOMS)
|
||||
;(ADJECTIVE LEGENDARY)
|
||||
;(SYNONYM PLANET MAGRATHEA)
|
||||
(LDESC
|
||||
"The wind moans. Dust drifts across the surface of the alien world. Zaphod,
|
||||
Ford, and Trillian appear and urge you forward.")
|
||||
(FLAGS RLANDBIT ONBIT)
|
||||
(THINGS RAMP DOOR NULL-F)
|
||||
(IN TO HATCHWAY IF HATCH IS OPEN)
|
||||
(UP TO HATCHWAY IF HATCH IS OPEN)
|
||||
;(ACTION RAMP-F)>
|
||||
|
||||
;<ROUTINE RAMP-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-END>
|
||||
<TELL CR
|
||||
"Slowly, nervously, you step downwards, the cold thin air rasping in your
|
||||
lungs. You set one single foot on the ancient dust -- and almost instantly
|
||||
the most incredible adventure starts which you'll have to buy the next game
|
||||
to find out about." CR CR>
|
||||
<V-SCORE>
|
||||
<TELL CR
|
||||
"By the way, there WAS a causal relationship between your taking the "
|
||||
D ,TOOTHBRUSH " and the tree collapsing at the very beginning of the game.
|
||||
We apologise for this slight inaccuracy." CR>
|
||||
<FINISH>)>>
|
||||
|
||||
;<ROOM HATCHWAY
|
||||
(LOC ROOMS)
|
||||
;(SYNONYM GPP PERSONALITY)
|
||||
;(ADJECTIVE GENUINE PEOPLE)
|
||||
(DESC "Hatchway")
|
||||
;(UP TO AFT-CORRIDOR)
|
||||
(DOWN TO RAMP IF HATCH IS OPEN)
|
||||
(OUT TO RAMP IF HATCH IS OPEN)
|
||||
;(EAST PER ACCESS-SPACE-ENTER-F)
|
||||
(FLAGS ONBIT RLANDBIT)
|
||||
(GLOBAL STAIRS HEART-OF-GOLD)
|
||||
(ACTION HATCHWAY-F)>
|
||||
|
||||
;<ROUTINE HATCHWAY-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL
|
||||
"You are at the bottom of a gangway. A hatch below you is ">
|
||||
<COND (<FSET? ,HATCH ,OPENBIT>
|
||||
<TELL "open">)
|
||||
(T
|
||||
<TELL "closed">)>
|
||||
<TELL
|
||||
". There could be a small access space to starboard, but it's not implemented
|
||||
yet." CR>)>>
|
||||
|
||||
;<OBJECT PUB-OBJECT
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "restaurant")
|
||||
(SYNONYM RESTAURANT MILLIWAYS)
|
||||
(ACTION PUB-OBJECT-F)>
|
||||
|
||||
;<ROUTINE PUB-OBJECT-F ()
|
||||
<COND (<VERB? WALK-TO THROUGH>
|
||||
<COND (<EQUAL? ,HERE ,PUB>
|
||||
<TELL ,LOOK-AROUND CR>)
|
||||
(T
|
||||
<V-WALK-AROUND>)>)
|
||||
(<VERB? LEAVE DISEMBARK>
|
||||
<COND (<EQUAL? ,HERE ,PUB>
|
||||
<DO-WALK ,P?EAST>)
|
||||
(T
|
||||
<TELL ,LOOK-AROUND CR>)>)>>
|
||||
|
||||
;<CONSTANT LOOK-AROUND "Look around you.">
|
||||
|
||||
<ROOM PUB
|
||||
(LOC ROOMS)
|
||||
(SYNONYM ALCOHOL)
|
||||
(DESC "restaurant")
|
||||
(FLAGS RLANDBIT ONBIT OUTSIDE)
|
||||
(GLOBAL ;PUB-OBJECT WINDOW PUB-FURNISHINGS)
|
||||
(THINGS <> PEOPLE UNIMPORTANT-THING-F)
|
||||
(ACTION PUB-F)>
|
||||
|
||||
<ROUTINE PUB-F (RARG)
|
||||
<COND (<EQUAL? .RARG ,M-LOOK>
|
||||
<TELL
|
||||
"Milliways is pleasant and cheerful and full of pleasant and cheerful
|
||||
people who don't know they've got about twelve minutes to live and are
|
||||
therefore having a spot of lunch." CR>)>>
|
||||
|
||||
;<OBJECT BAR
|
||||
(LOC PUB)
|
||||
(DESC "bar")
|
||||
(SYNONYM BAR COUNTER)
|
||||
(FLAGS NDESCBIT CONTBIT SURFACEBIT OPENBIT)
|
||||
(CAPACITY 60)
|
||||
;(ACTION BAR-F)>
|
||||
|
||||
;<OBJECT MUSIC
|
||||
(LOC PUB)
|
||||
(DESC "music")
|
||||
(SYNONYM MUSIC SONG SONGS)
|
||||
(FLAGS NARTICLEBIT NDESCBIT)
|
||||
;(ACTION MUSIC-F)>
|
||||
|
||||
;<ROUTINE MUSIC-F ()
|
||||
<COND (<VERB? LISTEN ENJOY>
|
||||
<PERFORM ,V?LISTEN ,JUKEBOX>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT PUB-FURNISHINGS
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "it")
|
||||
(ADJECTIVE USUAL SOGGY)
|
||||
(SYNONYM BEERMAT GLASSES BOTTLE GLASS)
|
||||
(FLAGS NDESCBIT NARTICLEBIT)
|
||||
(ACTION UNIMPORTANT-THING-F)>
|
||||
|
||||
;<OBJECT BARMAN
|
||||
(LOC PUB)
|
||||
(DESC "waiter")
|
||||
(LDESC "There is a barman serving at the bar.")
|
||||
(SYNONYM BARMAN BARTENDER WAITER)
|
||||
(FLAGS PERSONBIT)
|
||||
(ACTION BARMAN-F)>
|
||||
|
||||
;<ROUTINE BARMAN-F ()
|
||||
<COND (<EQUAL? ,BARMAN ,WINNER>
|
||||
<COND (<AND <VERB? TELL-ABOUT>
|
||||
<EQUAL? ,PRSO ,PLAYER>>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?ASK-ABOUT ,BARMAN ,PRSI>
|
||||
<SETG WINNER ,BARMAN>
|
||||
<RTRUE>)
|
||||
(<VERB? HELLO>
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?HELLO ,BARMAN>
|
||||
<SETG WINNER ,BARMAN>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? GIVE>
|
||||
<EQUAL? ,PRSO ,PLAYER>
|
||||
<EQUAL? ,PRSI ,SANDWICH ,BEER>>
|
||||
<PERFORM ,V?BUY ,PRSI>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL
|
||||
"The barman ignores you and keeps polishing the other end of the bar." CR>)>)
|
||||
(<AND <VERB? ASK-FOR>
|
||||
<EQUAL? ,PRSI ,SANDWICH ,BEER>>
|
||||
<PERFORM ,V?BUY ,PRSI>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT BEER
|
||||
;(LOC PUB)
|
||||
(DESC "lots of beer")
|
||||
(SYNONYM LOTS BITTER PINT BEER)
|
||||
(FLAGS DRINKBIT NARTICLEBIT NDESCBIT)
|
||||
(ACTION BEER-F)>
|
||||
|
||||
<GLOBAL DRUNK-LEVEL 0>
|
||||
|
||||
<ROUTINE BEER-F ()
|
||||
<COND (<AND <VERB? DRINK ENJOY COUNT SMELL RUB TAKE>
|
||||
<FSET? ,BEER ,NDESCBIT>>
|
||||
<TELL "You'd better buy some first." CR>)
|
||||
(<VERB? COUNT>
|
||||
<TELL "Lots." CR>)
|
||||
(<VERB? TAKE>
|
||||
<TELL "Just drink it!" CR>)
|
||||
(T
|
||||
<COND (<VERB? DRINK ENJOY>
|
||||
<SETG SCORE <+ ,SCORE 5>>
|
||||
<SETG DRUNK-LEVEL <+ ,DRUNK-LEVEL 1>>
|
||||
<COND (<EQUAL? ,DRUNK-LEVEL 4>
|
||||
<TELL
|
||||
"You can hear the muffled noise of your home being demolished, and the
|
||||
taste of the beer sours in your mouth." CR CR>
|
||||
;<PERFORM ,V?GET-DRUNK ,ROOMS>
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,DRUNK-LEVEL 3>
|
||||
;<QUEUE I-FORD -1>
|
||||
;<SETG HOUSE-DEMOLISHED T>
|
||||
;<SETG PROSSER-LYING <>>
|
||||
<TELL
|
||||
"There is a distant crash which Ford explains is nothing to worry about,
|
||||
probably just your house being knocked down." CR>)
|
||||
(<EQUAL? ,DRUNK-LEVEL 2>
|
||||
<TELL
|
||||
"It is really very pleasant stuff, with a very good dry, nutty flavour, some
|
||||
light froth on top, and a deep colour. It is at exactly room temperature. You
|
||||
reflect that the world cannot be all bad when there are such pleasures in it.|
|
||||
|
|
||||
Ford mentions that the world is going to end in about twelve minutes." CR>)
|
||||
(<EQUAL? ,DRUNK-LEVEL 1>
|
||||
<TELL
|
||||
"It's very good beer, brewed by a small local company. You particularly like
|
||||
its flavour, which is why you woke up feeling so wretched this morning. You
|
||||
were at somebody's birthday party here in the Pub last night.|
|
||||
|
|
||||
You begin to relax and enjoy yourself, so when Ford mentions that he's from a
|
||||
small planet in the vicinity of Betelgeuse, not from Guildford as he usually
|
||||
claims, you take it in your stride, and say \"Oh yes, which part?\"" CR>)>)
|
||||
(<VERB? BUY>
|
||||
<COND ;(<FSET? ,BEER ,NDESCBIT>
|
||||
<PERFORM ,V?BUY ,PEANUTS>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL
|
||||
D ,FORD " has already bought an enormous quantity for you!" CR>)>)>)>>
|
||||
|
||||
<OBJECT SANDWICH
|
||||
(LOC PUB)
|
||||
(DESC "cheese sandwich")
|
||||
(ADJECTIVE CHEESE UNINVITING)
|
||||
(SYNONYM PLATE SANDWICH)
|
||||
(FLAGS NDESCBIT EATBIT TRYTAKEBIT)
|
||||
(SIZE 10)
|
||||
(ACTION SANDWICH-F)>
|
||||
|
||||
<GLOBAL SANDWICH-BOUGHT:FLAG <>>
|
||||
<ROUTINE SANDWICH-F ()
|
||||
<COND (<AND <VERB? BUY>
|
||||
<NOT ,SANDWICH-BOUGHT>>
|
||||
<MOVE ,SANDWICH ,PLAYER>
|
||||
<FSET ,SANDWICH ,TAKEBIT>
|
||||
<FCLEAR ,SANDWICH ,TRYTAKEBIT>
|
||||
<FCLEAR ,SANDWICH ,NDESCBIT>
|
||||
<SETG SANDWICH-BOUGHT T>
|
||||
<TELL
|
||||
"The barman gives you a " D ,SANDWICH ". The bread is like the stuff that
|
||||
stereos come packed in, the cheese would be great for rubbing out spelling
|
||||
mistakes, and margarine and pickle have performed an unedifying chemical
|
||||
reaction to produce something that shouldn't be, but is, turquoise. Since
|
||||
it is clearly unfit for human consumption you are grateful to be charged
|
||||
only a pound for it." CR>)
|
||||
(<VERB? BUY>
|
||||
<TELL "You already did." CR>)
|
||||
(<AND <VERB? TAKE EAT ENJOY>
|
||||
<FSET? ,SANDWICH ,TRYTAKEBIT>
|
||||
<EQUAL? ,HERE ,PUB>>
|
||||
<TELL ,HANDS-OFF CR>)
|
||||
(<VERB? EAT ENJOY>
|
||||
<MOVE ,SANDWICH ,LOCAL-GLOBALS>
|
||||
<SETG SCORE <- ,SCORE 30>>
|
||||
<COND (T
|
||||
<TELL
|
||||
"It is one of the least rewarding taste experiences you can recall." CR>)>)>>
|
||||
|
||||
<CONSTANT HANDS-OFF "The barman snaps \"Hands off until you pay for it!\"">
|
|
@ -0,0 +1,92 @@
|
|||
<FLAGS-AND-DEFAULTS (("IN-ZILCH" T)("P-DEBUGGING-PARSER" T)) ()>
|
||||
|
||||
<ZZPACKAGE "PMEM">
|
||||
<ENTRY PMEM PMEM-ALLOC PMEM-TYPE? PMEM-RESET PM-TYPE MAKE-PM-TYPE
|
||||
PMEM-WORDS-USED PDEFS-INTERNAL-OBLIST PMEM-STORE-WARN PMEM-STORE-LENGTH>
|
||||
<INCLUDE "BASEDEFS" "PBITDEFS">
|
||||
<USE "NEWSTRUC">
|
||||
<SET-DEFSTRUCT-FILE-DEFAULTS>
|
||||
<FILE-FLAGS MDL-ZIL?>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<DEFSTRUCT PMEM (TABLE 'CONSTRUCTOR ('PRINTTYPE PRINT-PMEM) 'NODECL ('NTH ZGET)
|
||||
('PUT ZPUT) ('START-OFFSET 0)) (PM-HEADER <OR FIX FALSE>) (PM-LENGTH <OR FIX
|
||||
FALSE> 'OFFSET 0 'NTH GETB 'PUT PUTB) (PM-TYPE-CODE <OR FIX FALSE> 'OFFSET 1 '
|
||||
NTH GETB 'PUT PUTB)>
|
||||
<CONSTANT PM-HEADER-LEN 1>
|
||||
<DEFSTRUCT PM-TYPE VECTOR (PMT-NAME ATOM) (PMT-CODE FIX) (PMT-LENGTH <OR FIX
|
||||
FALSE>) (PMT-ARGS <VECTOR [REST PM-ARG]> [])>
|
||||
<DEFSTRUCT PM-ARG VECTOR (PMA-NAME ATOM) (PMA-OFFS FIX) (PMA-TYPE ANY) (
|
||||
PMA-DEFAULT ANY)>
|
||||
<GDECL (PM-TYPE-COUNT) FIX (PM-LIST) LIST>
|
||||
<CONSTANT PMEM-STORE-LENGTH:FIX 180>
|
||||
<CONSTANT PMEM-STORE:TABLE <ITABLE ,PMEM-STORE-LENGTH>>
|
||||
<GLOBAL PMEM-STORE-POINTER PMEM-STORE>
|
||||
<GLOBAL PMEM-STORE-WORDS:NUMBER PMEM-STORE-LENGTH>
|
||||
<GLOBAL PMEM-STORE-WARN:NUMBER 50>
|
||||
<DEFINE-ROUTINE PMEM?>
|
||||
<DEFINE20 PM-TYPE (NAME:ATOM LENGTH:<OR FIX FALSE> "ARGS" STUFF "AUX" ATM CODE
|
||||
TYPE-OBJ (OCT ,PM-HEADER-LEN) ARGS) <SET ATM <PARSE <STRING "PM-TYPE-" <SPNAME
|
||||
.NAME>> 10 ,PDEFS-INTERNAL-OBLIST>> <COND (<NOT <GASSIGNED? PM-TYPE-COUNT>> <
|
||||
SETG PM-TYPE-COUNT 0> <SETG PM-LIST (T)>)> <SET CODE <SETG PM-TYPE-COUNT <+ ,
|
||||
PM-TYPE-COUNT 1>>> <SET TYPE-OBJ <MAKE-PM-TYPE 'PMT-NAME .ATM 'PMT-CODE .CODE '
|
||||
PMT-LENGTH .LENGTH>> <EVAL <FORM CONSTANT <PARSE <STRING "PMEM-TYPE-" <SPNAME .
|
||||
NAME>> 10 ,PDEFS-INTERNAL-OBLIST> .CODE>> <PUTREST <REST ,PM-LIST <- <LENGTH ,
|
||||
PM-LIST> 1>> (.TYPE-OBJ)> <SETG .ATM .TYPE-OBJ> <SET ARGS <MAPF ,VECTOR <
|
||||
FUNCTION (ARG:<OR LIST ATOM> "AUX" NATM OFFS (TYPE ANY) (DEFAULT <>) NNATM) <
|
||||
COND (<TYPE? .ARG LIST> <SET NATM <1 .ARG>> <SET ARG <REST .ARG>>) (T <SET NATM
|
||||
.ARG> <SET ARG ()>)> <SET NATM <PARSE <STRING <SPNAME .NAME> "-" <SPNAME .NATM>
|
||||
> 10 ,PDEFS-INTERNAL-OBLIST>> <SET NNATM <PARSE <STRING <SPNAME .NAME> "-" <
|
||||
SPNAME .NATM> "-OFFSET"> 10 ,PDEFS-INTERNAL-OBLIST>> <EVAL <FORM DEFMAC .NATM (
|
||||
''OBJ "OPT" ''NEW) <FORM COND (<FORM ASSIGNED? NEW> <FORM FORM ZPUT '.OBJ .OCT
|
||||
'.NEW>) (T <FORM FORM ZGET '.OBJ .OCT>)>>> <SETG .NNATM <SET OFFS .OCT>> <SET
|
||||
OCT <+ .OCT 1>> <COND (<EMPTY? .ARG>) (T <SET TYPE <1 .ARG>> <COND (<NOT <
|
||||
LENGTH? .ARG 1>> <COND (<AND <TYPE? <SET DEFAULT <2 .ARG>> FORM> <EMPTY? .
|
||||
DEFAULT>> <SET DEFAULT <>>)>)> <COND (<AND <NOT <MATCH-KEY .DEFAULT NONE>> <NOT
|
||||
<TYPE? .DEFAULT FORM>>> <COND (<NOT <DECL? .DEFAULT .TYPE>> <COND (<DECL? .
|
||||
DEFAULT <FORM OR FALSE .TYPE>> <SET TYPE <FORM OR FALSE .TYPE>>) (T <ERROR
|
||||
DEFAULT-DOESNT-MATCH-DECL .TYPE .DEFAULT PM-TYPE>)>)>)>)> <MAKE-PM-ARG '
|
||||
PMA-NAME .NATM 'PMA-OFFS .OFFS 'PMA-TYPE .TYPE 'PMA-DEFAULT .DEFAULT>> .STUFF>>
|
||||
<PMT-ARGS .TYPE-OBJ .ARGS>>
|
||||
<DEFINE20 GET-PM-TYPE (TYPE:ATOM "AUX" TEMP) <COND (<AND <GASSIGNED? .TYPE> <
|
||||
TYPE? ,.TYPE PM-TYPE>> ,.TYPE) (T <SET TEMP <PARSE <STRING "PM-TYPE-" <SPNAME .
|
||||
TYPE>> 10 ,PDEFS-INTERNAL-OBLIST>> <COND (<AND <GASSIGNED? .TEMP> <TYPE? ,.TEMP
|
||||
PM-TYPE>> ,.TEMP) (T <ERROR NOT-A-PMEM-TYPE!-ERRORS .TYPE>)>)>>
|
||||
<DEFMAC PMEM-TYPE? ('PMEM 'TYPE "OPT" 'TYPE2 "AUX" (ATM <>) (ATM2 <>)) <SET
|
||||
TYPE <GET-PM-TYPE .TYPE>> <COND (<ASSIGNED? TYPE2> <SET TYPE2 <GET-PM-TYPE .
|
||||
TYPE2>>) (T <SET TYPE2 <>>)> <COND (<NOT .TYPE2> <FORM ==? <FORM PM-TYPE-CODE .
|
||||
PMEM> <PMT-CODE .TYPE>>) (T <FORM OR <FORM ==? <FORM PM-TYPE .PMEM> <PMT-CODE .
|
||||
TYPE>> <FORM ==? <FORM PM-TYPE .PMEM> <PMT-CODE .TYPE2>>>)>>
|
||||
<DEFINE20 PRINT-PMEM (PMEM:PMEM "OPT" (OUTCHAN:CHANNEL .OUTCHAN) "AUX" (CODE <
|
||||
PM-TYPE-CODE .PMEM>) (OBJ:PM-TYPE <NTH ,PM-LIST <+ .CODE 1>>)) <PRINT-MANY .
|
||||
OUTCHAN PRINC "#" <PMT-NAME .OBJ> " ["> <REPEAT ((CT <PM-LENGTH .PMEM>) (N 1))
|
||||
<COND (<L? <SET CT <- .CT 1>> 0> <RETURN>)> <PRIN1 <ZGET .PMEM .N>> <PRINC !\ >
|
||||
<SET N <+ .N 1>>> <PRINC !\]> .PMEM>
|
||||
<GLOBAL PMEM-WORDS-USED 0>
|
||||
<GDECL (PMEM-WORDS-USED) FIX>
|
||||
<DEFINE-ROUTINE PMEM-RESET>
|
||||
<DEFINE20 MATCH-KEY (FOO BAR) <AND <TYPE? .FOO ATOM> <TYPE? .BAR ATOM> <=? <
|
||||
SPNAME .FOO> <SPNAME .BAR>>>>
|
||||
<DEFMAC PMEM-ALLOC PA (TYPNAM:ATOM "ARGS" STUFF "AUX" TEMP NT:PM-TYPE BASE
|
||||
LENARG ATM BL) <SET NT <GET-PM-TYPE .TYPNAM>> <COND (<SET TEMP <MEMQ LENGTH .
|
||||
STUFF>> <SET LENARG <2 .TEMP>>) (<NOT <SET LENARG <PMT-LENGTH .NT>>> <ERROR
|
||||
BAD-PMEM-LENGTH-ARG!-ERRORS .TYPNAM PMEM-ALLOC>)> <SET BASE <FORM BIND ((
|
||||
NEW-OBJECT <FORM DO-PMEM-ALLOC <PMT-CODE .NT> .LENARG>))>> <SET BL <REST .BASE>
|
||||
> <REPEAT ((ARGS <PMT-ARGS .NT>) (INIT <CHTYPE <STACK <IVECTOR <* 2 <+ <LENGTH
|
||||
.ARGS> ,PM-HEADER-LEN>> NONE>> TABLE>) THIS-ARG OFFS:FIX FRM) <COND (<EMPTY? .
|
||||
STUFF> <MAPF <> <FUNCTION (ARG:PM-ARG "AUX" (IVAL <ZGET .INIT <PMA-OFFS .ARG>>)
|
||||
) <COND (<AND <MATCH-KEY .IVAL NONE> <MATCH-KEY <PMA-DEFAULT .ARG> NONE>> <
|
||||
ERROR NO-VALUE-FOR-MANDATORY-SLOT!-ERRORS .TYPNAM PMEM-ALLOC>) (<MATCH-KEY .
|
||||
IVAL NONE> <COND (<AND <PMA-DEFAULT .ARG> <N==? <PMA-DEFAULT .ARG> '<>> <N==? <
|
||||
PMA-DEFAULT .ARG> 0>> <SET BL <REST <PUTREST .BL (<FORM <PMA-NAME .ARG> '.
|
||||
NEW-OBJECT <PMA-DEFAULT .ARG>>)>>>)>)>> .ARGS> <RETURN>)> <COND (<OR <NOT <
|
||||
TYPE? <SET ATM <1 .STUFF>> ATOM>> <AND <OR <NOT <GASSIGNED? .ATM>> <NOT <TYPE?
|
||||
,.ATM FIX MACRO>>> <SET ATM <PARSE <STRING <SPNAME .TYPNAM> "-" <SPNAME .ATM>>
|
||||
10 ,PDEFS-INTERNAL-OBLIST>> <OR <NOT <GASSIGNED? .ATM>> <NOT <TYPE? ,.ATM FIX
|
||||
MACRO>>>>> <COND (<N==? <1 .STUFF> LENGTH> <ERROR BAD-PMEM-ARG!-ERRORS .STUFF
|
||||
PMEM-ALLOC>)>) (T <SET FRM <EXPAND <FORM .ATM .INIT T>>> <ZPUT .INIT <3 .FRM:
|
||||
FORM> T> <COND (<AND <2 .STUFF> <N==? <2 .STUFF> '<>> <N==? <2 .STUFF> 0>> <SET
|
||||
BL <REST <PUTREST .BL (<FORM .ATM '.NEW-OBJECT <2 .STUFF>>)>>>)>)> <SET STUFF <
|
||||
REST .STUFF 2>>> <PUTREST .BL ('.NEW-OBJECT)> .BASE>
|
||||
<DEFINE-ROUTINE DO-PMEM-ALLOC>
|
||||
<END-SEGMENT>
|
||||
<ENDPACKAGE>
|
|
@ -0,0 +1,45 @@
|
|||
|
||||
.SEGMENT "0"
|
||||
|
||||
|
||||
.FUNCT PMEM?:ANY:1:1,PTR
|
||||
LESS? PTR,PMEM-STORE /FALSE
|
||||
LESS? PTR,PMEM-STORE+180 /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT PMEM-RESET:ANY:0:0
|
||||
GRTR? PMEM-WORDS-USED,0 \?CND1
|
||||
SET 'PMEM-WORDS-USED,0
|
||||
SUB PMEM-STORE-LENGTH,PMEM-STORE-WORDS
|
||||
MUL 2,STACK
|
||||
COPYT PMEM-STORE,0,STACK
|
||||
?CND1: SET 'PMEM-STORE-WORDS,PMEM-STORE-LENGTH
|
||||
SET 'PMEM-STORE-POINTER,PMEM-STORE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DO-PMEM-ALLOC:ANY:2:2,TYPE,LENGTH,STOR,LEFT,NEW
|
||||
SET 'STOR,PMEM-STORE-POINTER
|
||||
SET 'LEFT,PMEM-STORE-WORDS
|
||||
IGRTR? 'LENGTH,LEFT \?CND1
|
||||
ICALL2 P-NO-MEM-ROUTINE,TYPE
|
||||
?CND1: ADD PMEM-WORDS-USED,LENGTH >PMEM-WORDS-USED
|
||||
SUB LEFT,LENGTH >PMEM-STORE-WORDS
|
||||
GRTR? PMEM-STORE-WARN,PMEM-STORE-WORDS \?CND3
|
||||
SET 'PMEM-STORE-WARN,PMEM-STORE-WORDS
|
||||
PRINTI "[Debugging info: "
|
||||
PRINTI "PMEM: "
|
||||
PRINTN PMEM-STORE-WARN
|
||||
PRINTI " left!]
|
||||
"
|
||||
?CND3: MUL LENGTH,2
|
||||
ADD STOR,STACK >PMEM-STORE-POINTER
|
||||
DEC 'LENGTH
|
||||
PUTB STOR,0,LENGTH
|
||||
PUTB STOR,1,TYPE
|
||||
RETURN STOR
|
||||
|
||||
.ENDSEG
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,73 @@
|
|||
<FLAGS-AND-DEFAULTS (("P-ZORK0" %<>)("ONE-BYTE-PARTS-OF-SPEECH" %<>)(
|
||||
"WORD-FLAGS-IN-TABLE" T)("IN-ZILCH" T)("P-APOSTROPHE-BREAKS-WORDS" T)(
|
||||
"P-BE-VERB" T)) (("SETUP-ORPHAN" "DEFS" #WORD *00651007407*) ("PRINT-INTQUOTE"
|
||||
"DEFS" #WORD *00651007407*))>
|
||||
|
||||
<ZZPACKAGE "PARSER">
|
||||
<RENTRY PRINT-LEXV TELL-CTHE TELL-THE>
|
||||
<INCLUDE "BASEDEFS" "PBITDEFS" "PDEFS">
|
||||
<USE "PMEM" "PSTACK" "REDS">
|
||||
<FILE-FLAGS MDL-ZIL? CLEAN-STACK?>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<DEFAULTS-DEFINED CANT-FIND-OBJECT CANT-USE-MULTIPLE DONT-UNDERSTAND
|
||||
PRINT-INTQUOTE PRINT-LEXV REFRESH SETUP-ORPHAN SETUP-ORPHAN-NP TOO-MANY-NOUNS
|
||||
WHICH-LIST? WHICH-PRINT WINNER-SAYS-WHICH? YES?>
|
||||
<DEFINE-ROUTINE TOO-MANY-NEW>
|
||||
<DEFINE-ROUTINE NAKED-OOPS>
|
||||
<DEFINE-ROUTINE CANT-OOPS>
|
||||
<DEFINE-ROUTINE CANT-AGAIN>
|
||||
<DEFAULT-DEFINITION CANT-USE-MULTIPLE <ROUTINE CANT-USE-MULTIPLE>>
|
||||
<DEFINE-ROUTINE MAKE-ROOM-FOR-TOKENS>
|
||||
<DEFINE-ROUTINE REPLACE-ONE-TOKEN>
|
||||
<DEFAULT-DEFINITION REFRESH <ROUTINE V-$REFRESH>>
|
||||
<DEFAULT-DEFINITION PRINT-INTQUOTE <DEFINE PRINT-INTQUOTE ("AUX" (NP <GET-NP ,
|
||||
INTQUOTE>)) <PRINT-LEXV -1 <ZREST <NP-LEXBEG .NP> ,LEXV-ELEMENT-SIZE-BYTES> <+
|
||||
-1 </ <- <NP-LEXEND .NP> <NP-LEXBEG .NP>> ,LEXV-ELEMENT-SIZE-BYTES>>>>>
|
||||
<DEFAULT-DEFINITION PRINT-LEXV <ROUTINE PRINT-LEXV>>
|
||||
<DEFINE-ROUTINE COPY-INPUT>
|
||||
<COND (<NOT <OR <CHECK-VERSION? XZIP> <CHECK-VERSION? YZIP>>> <DEFINE
|
||||
COPY-INBUF (SRC DEST "AUX" CNT:FIX) <SET CNT <- <GETB .SRC 0> 1>> <REPEAT () <
|
||||
PUTB .DEST .CNT <GETB .SRC .CNT>> <COND (<L? <SET CNT <- .CNT 1>> 0> <RETURN>)>
|
||||
>> <DEFINE COPY-LEXV (SRC DEST "OPT" (MAX:FIX ,LEXV-LENGTH) "AUX" (CTR:FIX 1))
|
||||
<PUTB .DEST 0 <GETB .SRC 0>> <PUTB .DEST 1 <GETB .SRC 1>> <SET DEST <ZREST .
|
||||
DEST <* ,P-LEXSTART:FIX 2>>> <SET SRC <ZREST .SRC <* ,P-LEXSTART:FIX 2>>> <
|
||||
REPEAT () <ZPUT .DEST 0 <ZGET .SRC 0>> <PUTB .DEST 2 <GETB .SRC 2>> <PUTB .DEST
|
||||
3 <GETB .SRC 3>> <COND (<G? <SET CTR <+ .CTR 1>> .MAX> <RETURN>)> <SET DEST <
|
||||
ZREST .DEST <* 2 ,P-LEXELEN:FIX>>> <SET SRC <ZREST .SRC <* 2 ,P-LEXELEN:FIX>>>>
|
||||
>)>
|
||||
<END-SEGMENT>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<ADD-WORD NO.WORD ADJ>
|
||||
<DEFINE-ROUTINE BUFFER-PRINT>
|
||||
<DEFINE-ROUTINE CAPITALIZE>
|
||||
<DEFINE-ROUTINE PRINT-PARSER-FAILURE>
|
||||
<DEFINE-ROUTINE NAKED-ADJECTIVE?>
|
||||
<DEFINE-ROUTINE CHANGE-AND-TO-THEN?>
|
||||
<DEFAULT-DEFINITION DONT-UNDERSTAND <ROUTINE DONT-UNDERSTAND>>
|
||||
<DEFINE-ROUTINE MISSING>
|
||||
<DEFAULT-DEFINITION CANT-FIND-OBJECT <ROUTINE CANT-FIND-OBJECT> <ROUTINE
|
||||
NP-CANT-SEE>>
|
||||
<DEFAULT-DEFINITION WINNER-SAYS-WHICH? <ROUTINE WINNER-SAYS-WHICH?>>
|
||||
<DEFAULT-DEFINITION WHICH-LIST? <ROUTINE WHICH-LIST?>>
|
||||
<DEFAULT-DEFINITION WHICH-PRINT <ROUTINE WHICH-PRINT>>
|
||||
<DEFINE-ROUTINE NP-PRINT>
|
||||
<DEFINE-ROUTINE ADJS-PRINT>
|
||||
<DEFAULT-DEFINITION TOO-MANY-NOUNS <ROUTINE TOO-MANY-NOUNS>>
|
||||
<DEFINE-ROUTINE INBUF-ADD>
|
||||
<DEFINE-ROUTINE INBUF-PRINT>
|
||||
<DEFAULT-DEFINITION YES? <CONSTANT YES-INBUF <ITABLE 19 (BYTE LENGTH) 0>> <
|
||||
CONSTANT YES-LEXV <ITABLE 3 (LEXV) 0 0>> <ROUTINE YES?>>
|
||||
<DEFAULT-DEFINITION SETUP-ORPHAN <DEFINE SETUP-ORPHAN (STR "OPT" (A <>) (B <>))
|
||||
<DIROUT ,D-TABLE-ON ,O-INBUF> <TELL .STR> <COND (<T? .A> <COND (T <TELL D .A>)>
|
||||
<COND (<T? .B> <COND (T <TELL .B>)>)>)> <DIROUT ,D-TABLE-OFF> <PUTB ,O-INBUF 0
|
||||
,INBUF-LENGTH> <LEX ,O-INBUF ,O-LEXV> <COND (<ZERO? <SET A <GETB ,O-LEXV ,
|
||||
P-LEXWORDS>>> <>) (<INTBL? 0 <ZREST ,O-LEXV <* 2 ,P-LEXSTART>> .A 132> <>) (T <
|
||||
SETG P-OFLAG <+ 1 <* ,P-LEXELEN <GETB ,O-LEXV ,P-LEXWORDS>>>> <
|
||||
MAKE-ROOM-FOR-TOKENS 1 ,O-LEXV ,P-OFLAG> <ZPUT ,O-LEXV ,P-OFLAG ,W?NO.WORD> <
|
||||
SETG P-OFLAG <- 0 ,P-OFLAG>> <FIND-RES-COUNT ,ORPHAN-SR 0> <ZPUT ,OOPS-TABLE ,
|
||||
O-AGAIN <ZREST ,P-LEXV <* 2 ,P-LEXSTART>>> T)>>>
|
||||
<DEFAULT-DEFINITION SETUP-ORPHAN-NP <ROUTINE SETUP-ORPHAN-NP>>
|
||||
<DEFINE-ROUTINE INSERT-ADJS>
|
||||
<DEFINE-ROUTINE INSERT-ADJS-WD>
|
||||
<END-SEGMENT>
|
||||
<ENDPACKAGE>
|
|
@ -0,0 +1,45 @@
|
|||
|
||||
<ZZPACKAGE "PSTACK">
|
||||
<ENTRY ALLOCATE-PSTACK MAX-PSTACK-SIZE PUSH-PSTACK POP-PSTACK PEEK-PSTACK
|
||||
PSTACK FLUSH-PSTACK PSTACK-PTR CLEAR-PSTACK PSTACK-DATA PSTACK-EMPTY?>
|
||||
<USE "NEWSTRUC">
|
||||
<FILE-FLAGS>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<MSETG MAX-PSTACK-SIZE 21>
|
||||
<NEWTYPE PSTACK TABLE>
|
||||
<DEFMAC ALLOCATE-PSTACK () <ITABLE ,MAX-PSTACK-SIZE 0>>
|
||||
<DEFMAC PSTACK-PTR ('S "OPT" 'NEW) <COND (<ASSIGNED? NEW> <FORM ZPUT .S 0 .NEW>
|
||||
) (T <CHTYPE [<FORM ZGET .S 0> FIX] ADECL>)>>
|
||||
<DEFMAC PSTACK-EMPTY? ('PSTACK) <COND (<CHECK-VERSION? YZIP> <FORM EQUAL? <- ,
|
||||
MAX-PSTACK-SIZE 1> <FORM PSTACK-PTR .PSTACK>>) (T <FORM 0? <FORM PSTACK-PTR .
|
||||
PSTACK>>)>>
|
||||
<DEFMAC CLEAR-PSTACK ('S) <COND (<CHECK-VERSION? YZIP> <FORM PSTACK-PTR <CHTYPE
|
||||
[.S PSTACK] ADECL> <- ,MAX-PSTACK-SIZE 1>>) (T <FORM PSTACK-PTR <CHTYPE [.S
|
||||
PSTACK] ADECL> 0>)>>
|
||||
<DEFINE20 PRINT-PSTACK (S:PSTACK "OPT" (OUTCHAN:CHANNEL .OUTCHAN) "AUX" (P <
|
||||
PSTACK-PTR .S>)) <PRINT-MANY .OUTCHAN PRINC "#PSTACK [" .P " ["> <REPEAT ((D <
|
||||
ZREST .S 2>)) <COND (<L=? .P 0> <RETURN>)> <PRIN1 <ZGET .D 0>> <PRINC " "> <SET
|
||||
D <ZREST .D 2>> <SET P <- .P 1>>> <PRINC "]]">>
|
||||
<COND (<CHECK-VERSION? YZIP> <DEFMAC PUSH-PSTACK ('S 'OBJ) <FORM XPUSH .OBJ .S>
|
||||
>) (T <IF-P-DEBUGGING-PARSER <GLOBAL PSTACK-WARN:NUMBER 20>> <ROUTINE
|
||||
PUSH-PSTACK (S:PSTACK OBJ "AUX" TMP) <SET TMP <+ 1 <PSTACK-PTR .S>>> <COND (<
|
||||
L=? ,MAX-PSTACK-SIZE .TMP> <P-NO-MEM-ROUTINE> <RFALSE>)> <IF-P-DEBUGGING-PARSER
|
||||
<COND (<L? ,PSTACK-WARN .TMP> <SETG PSTACK-WARN .TMP> <PRINTI "[PSTACK: "> <
|
||||
PRINTN <- ,MAX-PSTACK-SIZE .TMP>> <PRINTI " left!]|">)>> <PSTACK-PTR .S .TMP> <
|
||||
ZPUT .S .TMP .OBJ> .S>)>
|
||||
<COND (<CHECK-VERSION? YZIP> <DEFMAC FLUSH-PSTACK ('S "OPT" ('N 1)) <FORM
|
||||
FSTACK .N .S>>) (T <ROUTINE FLUSH-PSTACK (S:PSTACK "OPT" (N:FIX 1)) <COND (<G?
|
||||
0 <SET N <- <PSTACK-PTR .S> .N>>> <SET N 0>)> <PSTACK-PTR .S .N> .S>)>
|
||||
<COND (<CHECK-VERSION? YZIP> <DEFMAC POP-PSTACK ('S "OPT" ('N 1)) <COND (<1? .N
|
||||
> <FORM POP .S>) (T <FORM FSTACK .N .S>)>>) (T <ROUTINE POP-PSTACK (S:PSTACK
|
||||
"OPT" (N:FIX 1) "AUX" (OBJ <PEEK-PSTACK .S>)) <COND (<NOT <0? .N>> <
|
||||
FLUSH-PSTACK .S .N>)> .OBJ>)>
|
||||
<COND (<CHECK-VERSION? YZIP> <ROUTINE PEEK-PSTACK (S "OPT" (OFFS 0) "AUX" (N 0)
|
||||
VAL) <REPEAT () <SET VAL <POP .S>> <PUSH .VAL> <SET N <ADD N 1>> <COND (<LESS?
|
||||
<SET OFFS <SUB OFFS 1>> 0> <RETURN>)>> <REPEAT () <COND (<LESS? <SET N <SUB N 1
|
||||
>> 0> <RETURN>) (T <XPUSH #ZLOCAL!-IZILCH STACK .S>)>> .VAL>) (T <ROUTINE
|
||||
PEEK-PSTACK (S:PSTACK "OPT" (OFFS:FIX 0)) <ZGET .S <- <PSTACK-PTR .S> .OFFS>>>)
|
||||
>
|
||||
<DEFINE-ROUTINE PEEK-PSTACK>
|
||||
<END-SEGMENT>
|
||||
<ENDPACKAGE>
|
|
@ -0,0 +1,18 @@
|
|||
|
||||
.SEGMENT "0"
|
||||
|
||||
|
||||
.FUNCT PEEK-PSTACK:ANY:1:2,S,OFFS,N,VAL
|
||||
?PRG1: POP S >VAL
|
||||
PUSH VAL
|
||||
INC 'N
|
||||
DLESS? 'OFFS,0 \?PRG1
|
||||
?PRG5: DLESS? 'N,0 /?REP6
|
||||
POP
|
||||
XPUSH STACK,S /?PRG5
|
||||
JUMP ?PRG5
|
||||
?REP6: RETURN VAL
|
||||
|
||||
.ENDSEG
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,83 @@
|
|||
<FLAGS-AND-DEFAULTS (("WORD-FLAGS-IN-TABLE" T)("IN-ZILCH" T)) ()>
|
||||
|
||||
<FILE-FLAGS MDL-ZIL?>
|
||||
<DEFAULTS-DEFINED PRINT-IS/ARE>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<OBJECT WHAT (LOC GLOBAL-OBJECTS) (DESC "what") (SYNONYM WHAT WHO) (FLAGS
|
||||
NOTHEBIT) (ACTION WHAT-F)>
|
||||
<DEFINE-ROUTINE WHAT-F>
|
||||
<DEFINE-ROUTINE TELL-Q-WORD>
|
||||
<DEFINE-ROUTINE TRY-QCONTEXT?>
|
||||
<DEFINE-ROUTINE PRE-BE>
|
||||
<SYNTAX BE OBJECT (MOBY) = V-BE PRE-BE>
|
||||
<SYNTAX BE OBJECT (MOBY) OBJECT (MOBY) = V-BE PRE-BE>
|
||||
<SYNTAX BE? OBJECT (MOBY) = V-BE?>
|
||||
<SYNTAX BE? OBJECT (MOBY) OBJECT (MOBY) = V-BE?>
|
||||
<DEFINE-ROUTINE V-BE>
|
||||
<DEFINE-ROUTINE RIGHT-PREP?>
|
||||
<DEFINE-ROUTINE V-BE?>
|
||||
<SYNTAX HOW OBJECT (MOBY) (FIND RLANDBIT) = V-HOW>
|
||||
<SYNTAX HOW OBJECT (MOBY) OBJECT (MOBY) = V-HOW>
|
||||
<SYNTAX WHAT OBJECT (MOBY) (FIND RLANDBIT) = V-WHAT>
|
||||
<SYNTAX WHAT OBJECT (MOBY) OBJECT (MOBY) = V-WHAT>
|
||||
<SYNTAX WHEN OBJECT (MOBY) (FIND RLANDBIT) = V-WHEN>
|
||||
<SYNTAX WHEN OBJECT (MOBY) OBJECT (MOBY) = V-WHEN>
|
||||
<SYNTAX WHERE OBJECT (MOBY) (FIND RLANDBIT) = V-WHERE PRE-WHERE>
|
||||
<SYNTAX WHERE OBJECT (MOBY) OBJECT (MOBY) = V-WHERE PRE-WHERE>
|
||||
<SYNTAX WHO OBJECT (MOBY) (FIND RLANDBIT) = V-WHO>
|
||||
<SYNTAX WHO OBJECT (MOBY) OBJECT (MOBY) = V-WHO>
|
||||
<SYNONYM WHO WHOM>
|
||||
<SYNTAX WHY OBJECT (MOBY) (FIND RLANDBIT) = V-WHY>
|
||||
<SYNTAX WHY OBJECT (MOBY) OBJECT (MOBY) = V-WHY>
|
||||
<SYNTAX WILL OBJECT (MOBY) = V-WILL?>
|
||||
<SYNTAX WOULD OBJECT (MOBY) = V-WOULD?>
|
||||
<DEFINE-ROUTINE V-WHO>
|
||||
<DEFINE-ROUTINE V-WHAT>
|
||||
<DEFINE-ROUTINE PRE-WHERE>
|
||||
<DEFINE-ROUTINE V-WHERE>
|
||||
<DEFINE-ROUTINE V-WHEN>
|
||||
<DEFINE-ROUTINE V-WHY>
|
||||
<DEFINE-ROUTINE V-HOW>
|
||||
<CONSTANT ADJ-TABLE <LTABLE <VOC "OUTSIDE" <>> OUTSIDE? <VOC "OPEN" ADJ> OPEN?
|
||||
<VOC "CLOSED" ADJ> Q-CLOSED? <VOC "LOCKED" ADJ> LOCKED? <VOC "UNLOCKED" ADJ>
|
||||
UNLOCKED? <VOC "DEAD" ADJ> DEAD? <VOC "ALIVE" ADJ> ALIVE? <VOC "QUIET" ADJ>
|
||||
QUIET?>>
|
||||
<DEFINE-ROUTINE QUIET?>
|
||||
<DEFINE-ROUTINE OUTSIDE?>
|
||||
<DEFINE-ROUTINE OPEN?>
|
||||
<DEFINE-ROUTINE Q-CLOSED?>
|
||||
<DEFINE-ROUTINE LOCKED?>
|
||||
<DEFINE-ROUTINE UNLOCKED?>
|
||||
<DEFINE-ROUTINE DEAD?>
|
||||
<DEFINE-ROUTINE ALIVE?>
|
||||
<DEFINE-ROUTINE PRSO-IS>
|
||||
<DEFAULT-DEFINITION PRINT-IS/ARE <ROUTINE PRINT-IS/ARE>>
|
||||
<DEFINE-ROUTINE IS-PRSO-ADJ?>
|
||||
<SYNTAX CAN OBJECT (MOBY) = V-CAN?>
|
||||
<SYNTAX COULD OBJECT (MOBY) = V-COULD?>
|
||||
<SYNTAX DO OBJECT (MOBY) = V-DO?>
|
||||
<SYNTAX MAY OBJECT (MOBY) = V-MAY?>
|
||||
<SYNTAX MIGHT OBJECT (MOBY) = V-MIGHT?>
|
||||
<SYNTAX MUST OBJECT (MOBY) = V-MUST?>
|
||||
<SYNTAX SHOULD OBJECT (MOBY) = V-SHOULD?>
|
||||
<DEFINE-ROUTINE V-STATEMENT>
|
||||
<CONSTANT WHO-KNOWS-STRING "It's not easy to tell ">
|
||||
<DEFINE-ROUTINE WHO-KNOWS>
|
||||
<DEFINE-ROUTINE ECHO-NOUNS>
|
||||
<DEFINE-ROUTINE V-CAN?>
|
||||
<DEFINE-ROUTINE V-MAY?>
|
||||
<DEFINE-ROUTINE V-DO?>
|
||||
<DEFINE-ROUTINE V-COULD?>
|
||||
<DEFINE-ROUTINE V-WOULD?>
|
||||
<DEFINE-ROUTINE V-SHOULD?>
|
||||
<DEFINE-ROUTINE V-MIGHT?>
|
||||
<DEFINE-ROUTINE V-WILL?>
|
||||
<DEFINE-ROUTINE V-MUST?>
|
||||
<CONSTANT QACTIONS <PLTABLE V-BE V-BE? 0 V-DISEMBARK V-DISEMBARK? 0 V-DROP
|
||||
V-DROP? PRE-DROP? V-TAKE V-TAKE? PRE-TAKE?>>
|
||||
<DEFINE-ROUTINE PRE-DROP?>
|
||||
<DEFINE-ROUTINE V-DROP?>
|
||||
<DEFINE-ROUTINE V-DISEMBARK?>
|
||||
<DEFINE-ROUTINE PRE-TAKE?>
|
||||
<DEFINE-ROUTINE V-TAKE?>
|
||||
<END-SEGMENT>
|
|
@ -0,0 +1,671 @@
|
|||
|
||||
.SEGMENT "0"
|
||||
|
||||
|
||||
.FUNCT WHAT-F:ANY:0:0,OBJ,TMP,NOT?,LOC?
|
||||
GET PARSE-RESULT,16
|
||||
BAND PARSE-NOT,STACK >NOT?
|
||||
GET PARSE-RESULT,9 >LOC?
|
||||
EQUAL? PRSA,V?BE? /FALSE
|
||||
GET PARSE-RESULT,10 >OBJ
|
||||
EQUAL? OBJ,W?WHO,W?WHAT,W?WHERE /FALSE
|
||||
GET PARSE-RESULT,10 >OBJ
|
||||
EQUAL? OBJ,W?WHY,W?WHEN,W?HOW /FALSE
|
||||
CALL1 EVERYWHERE-VERB?
|
||||
ZERO? STACK \?CCL9
|
||||
PRINTR "That's precisely the sort of question you'll have to answer for yourself."
|
||||
?CCL9: EQUAL? PRSI,INTPP \FALSE
|
||||
CALL1 P-PP-OBJ >OBJ
|
||||
ZERO? OBJ /FALSE
|
||||
ZERO? NOT? \FALSE
|
||||
CALL1 P-PP-PREP >TMP
|
||||
ZERO? TMP \?PEN17
|
||||
GET LOC?,1 >TMP
|
||||
?PEN17: EQUAL? TMP,W?BEHIND \?CCL22
|
||||
ICALL PERFORM,V?LOOK-BEHIND,OBJ
|
||||
RTRUE
|
||||
?CCL22: EQUAL? TMP,W?DOWN \?CCL24
|
||||
ICALL PERFORM,V?LOOK-DOWN,OBJ
|
||||
RTRUE
|
||||
?CCL24: EQUAL? TMP,W?IN,W?ON,W?THROUGH \?CCL26
|
||||
ICALL PERFORM,V?LOOK-INSIDE,OBJ
|
||||
RTRUE
|
||||
?CCL26: EQUAL? TMP,W?UNDER \FALSE
|
||||
ICALL PERFORM,V?LOOK-UNDER,OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT TELL-Q-WORD:ANY:0:0,WD
|
||||
EQUAL? PRSA,V?BE? \?CCL3
|
||||
PRINTI "if"
|
||||
RTRUE
|
||||
?CCL3: GET PARSE-RESULT,10 >WD
|
||||
EQUAL? WD,W?WHO,W?WHAT,W?WHERE /?CTR4
|
||||
GET PARSE-RESULT,10 >WD
|
||||
EQUAL? WD,W?WHY,W?WHEN,W?HOW \?CCL5
|
||||
?CTR4: PRINTB WD
|
||||
RTRUE
|
||||
?CCL5: PRINTI "whether"
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT TRY-QCONTEXT?:ANY:0:0,W,X,?TMP1
|
||||
ZERO? QCONTEXT /FALSE
|
||||
IN? QCONTEXT,HERE \FALSE
|
||||
EQUAL? QCONTEXT,WINNER /FALSE
|
||||
ADD WORD-FLAG-TABLE,2 >?TMP1
|
||||
GET WORD-FLAG-TABLE,0
|
||||
INTBL? P-PRSA-WORD,?TMP1,STACK,132 >X \?CCL12
|
||||
GET X,1
|
||||
JUMP ?CND10
|
||||
?CCL12: PUSH FALSE-VALUE
|
||||
?CND10: BTST STACK,512 /?CCL3
|
||||
EQUAL? QCONTEXT,PRSO /FALSE
|
||||
EQUAL? PRSA,V?ASK-ABOUT /FALSE
|
||||
EQUAL? PRSA,V?TELL-ABOUT \?CCL3
|
||||
EQUAL? PRSO,ME /FALSE
|
||||
?CCL3: SET 'W,WINNER
|
||||
SET 'WINNER,QCONTEXT
|
||||
ICALL PERFORM,PRSA,PRSO,PRSI
|
||||
SET 'WINNER,W
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PRE-BE:ANY:0:0
|
||||
CALL1 TRY-QCONTEXT?
|
||||
ZERO? STACK \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT V-BE:ANY:0:0,TMP,NOT?,ADJ?,LOC?,OBJ,PREP
|
||||
GET PARSE-RESULT,16
|
||||
BAND PARSE-NOT,STACK >NOT?
|
||||
GET PARSE-RESULT,11 >ADJ?
|
||||
GET PARSE-RESULT,9 >LOC?
|
||||
EQUAL? PRSA,V?HOW /?CTR2
|
||||
EQUAL? PRSA,V?WHEN,V?WHY,V?WHERE /?CTR2
|
||||
EQUAL? PRSA,V?WHAT,V?WHO,V?BE? /?CTR2
|
||||
GET PARSE-RESULT,10 >TMP
|
||||
EQUAL? TMP,W?WHO,W?WHAT,W?WHERE /?CTR2
|
||||
GET PARSE-RESULT,10 >TMP
|
||||
EQUAL? TMP,W?WHY,W?WHEN,W?HOW \?CCL3
|
||||
?CTR2: CALL1 TRY-QCONTEXT?
|
||||
ZERO? STACK \TRUE
|
||||
EQUAL? PRSI,INTADJ \?CCL13
|
||||
EQUAL? PRSO,ME,PLAYER \?CCL16
|
||||
EQUAL? PRSA,V?BE? \?CCL19
|
||||
PRINTI "You"
|
||||
JUMP ?CND17
|
||||
?CCL19: PRINT WHO-KNOWS-STRING
|
||||
ICALL1 TELL-Q-WORD
|
||||
PRINTI " you"
|
||||
?CND17: CALL2 IS-PRSO-ADJ?,ADJ?
|
||||
ZERO? STACK /?CCL22
|
||||
PRINTI " are "
|
||||
JUMP ?CND14
|
||||
?CCL22: PRINTI " aren't "
|
||||
JUMP ?CND14
|
||||
?CCL16: EQUAL? PRSA,V?BE? \?CCL25
|
||||
ICALL2 TELL-CTHE,PRSO
|
||||
JUMP ?CND23
|
||||
?CCL25: PRINT WHO-KNOWS-STRING
|
||||
ICALL1 TELL-Q-WORD
|
||||
PRINTC 32
|
||||
ICALL2 TELL-THE,PRSO
|
||||
?CND23: ICALL2 PRINT-IS/ARE,PRSO
|
||||
CALL2 IS-PRSO-ADJ?,ADJ?
|
||||
ZERO? STACK \?CND26
|
||||
PRINTI "n't"
|
||||
?CND26: PRINTC 32
|
||||
?CND14: PRINTB ADJ?
|
||||
PRINTR "."
|
||||
?CCL13: EQUAL? PRSI,INTPP \?CCL29
|
||||
CALL1 P-PP-PREP >PREP
|
||||
ZERO? PREP /?CCL32
|
||||
CALL1 P-PP-OBJ >OBJ
|
||||
ZERO? OBJ /?CCL32
|
||||
EQUAL? PRSA,V?BE? \?CCL37
|
||||
CALL RIGHT-PREP?,PREP,PRSO,OBJ
|
||||
ZERO? STACK \?PRF40
|
||||
PUSH 1
|
||||
JUMP ?PEN38
|
||||
?PRF40: PUSH 0
|
||||
?PEN38: ICALL PRSO-IS,STACK,TRUE-VALUE
|
||||
PRINTC 32
|
||||
PRINTB PREP
|
||||
PRINTC 32
|
||||
ICALL2 TELL-THE,OBJ
|
||||
PRINTR "."
|
||||
?CCL37: PRINT WHO-KNOWS-STRING
|
||||
ICALL1 TELL-Q-WORD
|
||||
ICALL2 PRSO-IS,NOT?
|
||||
PRINTC 32
|
||||
PRINTB PREP
|
||||
PRINTC 32
|
||||
ICALL2 TELL-THE,OBJ
|
||||
PRINTR "."
|
||||
?CCL32: PRINT WHO-KNOWS-STRING
|
||||
ICALL1 TELL-Q-WORD
|
||||
ICALL2 PRSO-IS,NOT?
|
||||
PRINTC 32
|
||||
GET LOC?,1
|
||||
PRINTB STACK
|
||||
PRINTC 32
|
||||
GET LOC?,2
|
||||
ICALL2 NP-PRINT,STACK
|
||||
PRINTR "."
|
||||
?CCL29: GET PARSE-RESULT,13
|
||||
ZERO? STACK /?CCL42
|
||||
CALL1 WHO-KNOWS
|
||||
RSTACK
|
||||
?CCL42: ZERO? PRSI \?CCL44
|
||||
GET PARSE-RESULT,10
|
||||
EQUAL? STACK,W?WHERE \?CCL44
|
||||
EQUAL? PRSO,FALSE-VALUE,ROOMS /?CCL49
|
||||
LOC PRSO >LOC?
|
||||
JUMP ?CND47
|
||||
?CCL49: SET 'LOC?,FALSE-VALUE
|
||||
?CND47: ZERO? LOC? \?CCL52
|
||||
PRINTR "That's an excellent question."
|
||||
?CCL52: IN? PRSO,HERE \?CCL54
|
||||
ICALL PRSO-IS,FALSE-VALUE,TRUE-VALUE
|
||||
PRINTR " here."
|
||||
?CCL54: EQUAL? LOC?,GENERIC-OBJECTS \?CCL56
|
||||
PRINTI "You don't know where "
|
||||
ICALL2 TELL-THE,PRSO
|
||||
ICALL2 PRINT-IS/ARE,PRSO
|
||||
PRINTR "."
|
||||
?CCL56: EQUAL? LOC?,GLOBAL-OBJECTS \?CCL58
|
||||
PRINTI "No doubt "
|
||||
ICALL2 TELL-THE,PRSO
|
||||
ICALL2 PRINT-IS/ARE,PRSO
|
||||
PRINTR " around here somewhere."
|
||||
?CCL58: EQUAL? LOC?,LOCAL-GLOBALS \?CCL60
|
||||
CALL GLOBAL-IN?,PRSO,HERE
|
||||
ZERO? STACK /?CCL60
|
||||
ICALL2 TELL-CTHE,PRSO
|
||||
ICALL2 PRINT-IS/ARE,PRSO
|
||||
PRINTR " nearby."
|
||||
?CCL60: FSET? LOC?,PERSONBIT \?CCL64
|
||||
ICALL2 TELL-CTHE,LOC?
|
||||
PRINTI " has "
|
||||
ICALL2 TELL-THE,PRSO
|
||||
PRINTR "."
|
||||
?CCL64: CALL2 META-LOC,PRSO
|
||||
EQUAL? STACK,HERE \?CCL66
|
||||
ICALL2 TELL-CTHE,PRSO
|
||||
ICALL2 PRINT-IS/ARE,PRSO
|
||||
PRINTI " in "
|
||||
ICALL2 TELL-THE,LOC?
|
||||
PRINTR "."
|
||||
?CCL66: IN? LOC?,ROOMS \?CCL68
|
||||
ICALL2 TELL-CTHE,PRSO
|
||||
ICALL2 PRINT-IS/ARE,PRSO
|
||||
PRINTI " probably "
|
||||
FSET? PRSO,TOUCHBIT \?CCL71
|
||||
PRINTI "still in the place called """
|
||||
PRINTD LOC?
|
||||
PRINTR "."""
|
||||
?CCL71: FSET? PRSO,PERSONBIT /?CND72
|
||||
PRINTI "lying "
|
||||
?CND72: PRINTR "around somewhere."
|
||||
?CCL68: PRINT WHO-KNOWS-STRING
|
||||
PRINTI "where "
|
||||
ICALL2 TELL-THE,PRSO
|
||||
ICALL2 PRINT-IS/ARE,PRSO
|
||||
PRINTR "."
|
||||
?CCL44: PRINT WHO-KNOWS-STRING
|
||||
ICALL1 TELL-Q-WORD
|
||||
EQUAL? PRSO,FALSE-VALUE,ROOMS /?CND74
|
||||
ICALL2 PRSO-IS,NOT?
|
||||
ZERO? PRSI /?CND74
|
||||
PRINTC 32
|
||||
ICALL2 PRINTA,PRSI
|
||||
?CND74: PRINTR "."
|
||||
?CCL3: EQUAL? PRSI,INTADJ \?CCL80
|
||||
CALL2 IS-PRSO-ADJ?,ADJ?
|
||||
ZERO? STACK /?CCL83
|
||||
ZERO? NOT? /?CCL86
|
||||
PRINTI "Wrong,"
|
||||
JUMP ?CND84
|
||||
?CCL86: PRINTI "Right,"
|
||||
?CND84: ICALL2 PRSO-IS,FALSE-VALUE
|
||||
JUMP ?CND81
|
||||
?CCL83: ZERO? NOT? /?CCL89
|
||||
PRINTI "Right,"
|
||||
JUMP ?CND87
|
||||
?CCL89: PRINTI "Wrong,"
|
||||
?CND87: ICALL2 PRSO-IS,TRUE-VALUE
|
||||
?CND81: PRINTC 32
|
||||
PRINTB ADJ?
|
||||
PRINTR "."
|
||||
?CCL80: EQUAL? PRSI,INTPP \?CCL91
|
||||
PRINTI "So, you say"
|
||||
ICALL2 PRSO-IS,NOT?
|
||||
PRINTC 32
|
||||
CALL1 P-PP-PREP >TMP
|
||||
ZERO? TMP /?CCL94
|
||||
PRINTB TMP
|
||||
JUMP ?CND92
|
||||
?CCL94: GET LOC?,1
|
||||
PRINTB STACK
|
||||
?CND92: PRINTC 32
|
||||
CALL1 P-PP-OBJ >TMP
|
||||
ZERO? TMP /?CCL97
|
||||
ICALL2 TELL-THE,TMP
|
||||
JUMP ?CND95
|
||||
?CCL97: GET LOC?,2
|
||||
ICALL2 NP-PRINT,STACK
|
||||
?CND95: PRINTR "."
|
||||
?CCL91: EQUAL? P-PRSA-WORD,W?BE \?CCL99
|
||||
EQUAL? PRSO,WINNER \?CCL102
|
||||
ICALL2 TELL-CTHE,PRSO
|
||||
PRINTI " is already "
|
||||
PRINTI "that"
|
||||
PRINTR "."
|
||||
?CCL102: PRINTR "That would take a bit of magic."
|
||||
?CCL99: PRINTI "So you think"
|
||||
ICALL2 PRSO-IS,NOT?
|
||||
ZERO? PRSI /?CND103
|
||||
PRINTC 32
|
||||
ICALL2 PRINTA,PRSI
|
||||
?CND103: PRINTR "."
|
||||
|
||||
|
||||
.FUNCT RIGHT-PREP?:ANY:3:3,PREP,OBJ,CONT
|
||||
IN? OBJ,CONT \FALSE
|
||||
EQUAL? PREP,W?IN,W?INSIDE \?CCL5
|
||||
CALL2 SEE-INSIDE?,CONT
|
||||
ZERO? STACK /FALSE
|
||||
RTRUE
|
||||
?CCL5: EQUAL? PREP,W?ON \FALSE
|
||||
FSET? CONT,SURFACEBIT /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT V-BE?:ANY:0:0
|
||||
CALL1 V-BE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-WHO:ANY:0:0
|
||||
EQUAL? PRSO,ROOMS \?CCL3
|
||||
CALL1 MORE-SPECIFIC
|
||||
RSTACK
|
||||
?CCL3: ZERO? PRSI \?CCL5
|
||||
PRINTI "You don't know anything special about "
|
||||
ICALL2 TELL-THE,PRSO
|
||||
PRINTR "."
|
||||
?CCL5: CALL1 V-BE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-WHAT:ANY:0:0
|
||||
CALL1 V-WHO
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT PRE-WHERE:ANY:0:0
|
||||
ZERO? PRSS \FALSE
|
||||
ZERO? PRSQ \FALSE
|
||||
ICALL PERFORM,V?FIND,PRSO,PRSI
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT V-WHERE:ANY:0:0
|
||||
EQUAL? PRSO,ROOMS \?CCL3
|
||||
CALL1 MORE-SPECIFIC
|
||||
RSTACK
|
||||
?CCL3: CALL1 V-BE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-WHEN:ANY:0:0
|
||||
EQUAL? PRSO,ROOMS \?CCL3
|
||||
CALL1 MORE-SPECIFIC
|
||||
RSTACK
|
||||
?CCL3: CALL1 V-BE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-WHY:ANY:0:0
|
||||
EQUAL? PRSO,ROOMS \?CCL3
|
||||
CALL1 MORE-SPECIFIC
|
||||
RSTACK
|
||||
?CCL3: CALL1 V-BE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-HOW:ANY:0:0
|
||||
EQUAL? PRSO,ROOMS \?CCL3
|
||||
CALL1 MORE-SPECIFIC
|
||||
RSTACK
|
||||
?CCL3: CALL1 V-BE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT QUIET?:ANY:1:1,OBJ
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT OUTSIDE?:ANY:1:1,OBJ
|
||||
FSET? HERE,OUTSIDE /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT OPEN?:ANY:1:1,OBJ
|
||||
FSET? OBJ,OPENABLE /?PRD3
|
||||
FSET? OBJ,DOORBIT \FALSE
|
||||
?PRD3: FSET? OBJ,OPENBIT /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT Q-CLOSED?:ANY:1:1,OBJ
|
||||
FSET? OBJ,OPENABLE /?PRD3
|
||||
FSET? OBJ,DOORBIT \FALSE
|
||||
?PRD3: FSET? OBJ,OPENBIT /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT LOCKED?:ANY:1:1,OBJ
|
||||
FSET? OBJ,DOORBIT \FALSE
|
||||
FSET? OBJ,LOCKED /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT UNLOCKED?:ANY:1:1,OBJ
|
||||
FSET? OBJ,DOORBIT \FALSE
|
||||
FSET? OBJ,LOCKED /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DEAD?:ANY:1:1,OBJ
|
||||
FSET? OBJ,PERSONBIT \TRUE
|
||||
FSET? OBJ,DEAD /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT ALIVE?:ANY:1:1,OBJ
|
||||
FSET? OBJ,PERSONBIT \FALSE
|
||||
FSET? OBJ,DEAD /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PRSO-IS:ANY:1:2,NOT?,CAP?
|
||||
EQUAL? PRSO,ME,PLAYER \?CCL3
|
||||
ZERO? CAP? /?CCL6
|
||||
PRINTI "You"
|
||||
JUMP ?CND4
|
||||
?CCL6: PRINTI " you"
|
||||
?CND4: PRINTI " are"
|
||||
ZERO? NOT? /FALSE
|
||||
PRINTI "n't"
|
||||
RTRUE
|
||||
?CCL3: ZERO? CAP? /?CCL12
|
||||
ICALL2 TELL-CTHE,PRSO
|
||||
JUMP ?CND10
|
||||
?CCL12: PRINTC 32
|
||||
ICALL2 TELL-THE,PRSO
|
||||
?CND10: ICALL2 PRINT-IS/ARE,PRSO
|
||||
ZERO? NOT? /FALSE
|
||||
PRINTI "n't"
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PRINT-IS/ARE:ANY:1:1,OBJ
|
||||
FSET? OBJ,PLURAL /?CTR2
|
||||
EQUAL? OBJ,ME,YOU \?CCL3
|
||||
?CTR2: PRINTI " are"
|
||||
RTRUE
|
||||
?CCL3: PRINTI " is"
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT IS-PRSO-ADJ?:ANY:1:1,ADJ,TMP
|
||||
GETPT PRSO,P?ADJECTIVE >TMP
|
||||
ZERO? TMP /?CCL3
|
||||
PTSIZE TMP
|
||||
DIV STACK,2
|
||||
INTBL? ADJ,TMP,STACK /TRUE
|
||||
?CCL3: GET ADJ-TABLE,0
|
||||
INTBL? ADJ,ADJ-TABLE,STACK >TMP \FALSE
|
||||
GET TMP,1
|
||||
CALL STACK,PRSO
|
||||
ZERO? STACK \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT V-STATEMENT:ANY:0:0
|
||||
CALL1 V-DO?
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT WHO-KNOWS:ANY:0:1,WD,OBJ,SUBJ,V,M,N,?TMP1
|
||||
ASSIGNED? 'WD /?CND1
|
||||
GET PARSE-RESULT,14 >WD
|
||||
?CND1: GET PARSE-RESULT,10
|
||||
EQUAL? STACK,W?WHO,W?WHAT \?CCL5
|
||||
GET P-PRSA-WORD,3
|
||||
GET STACK,2 >OBJ
|
||||
ZERO? OBJ /?CCL5
|
||||
CALL GET-SYNTAX,OBJ,1,0,TRUE-VALUE
|
||||
ZERO? STACK /?CCL5
|
||||
CALL DETERMINE-OBJ,FALSE-VALUE,1,TRUE-VALUE >OBJ
|
||||
ZERO? OBJ /?CCL5
|
||||
GET OBJ,3 >OBJ
|
||||
ZERO? OBJ /?CCL5
|
||||
PRINTI "Perhaps"
|
||||
JUMP ?CND3
|
||||
?CCL5: SET 'OBJ,FALSE-VALUE
|
||||
PRINT WHO-KNOWS-STRING
|
||||
ICALL1 TELL-Q-WORD
|
||||
?CND3: GET PARSE-RESULT,13 >SUBJ
|
||||
ZERO? SUBJ /?CCL13
|
||||
GET SUBJ,3 >SUBJ
|
||||
JUMP ?CND11
|
||||
?CCL13: EQUAL? PRSO,FALSE-VALUE,ROOMS /?CCL15
|
||||
SET 'SUBJ,PRSO
|
||||
?CND11: PRINTC 32
|
||||
EQUAL? SUBJ,ME,PLAYER \?CCL18
|
||||
PRINTI "you"
|
||||
JUMP ?CND16
|
||||
?CCL15: PRINTR "."
|
||||
?CCL18: ICALL2 TELL-THE,SUBJ
|
||||
?CND16: ZERO? WD /?CND19
|
||||
EQUAL? WD,W?DO,W?DOES,W?DID \?CCL22
|
||||
GET PARSE-RESULT,13
|
||||
ZERO? STACK \?CND19
|
||||
?CCL22: PRINTC 32
|
||||
PRINTB WD
|
||||
?CND19: GET PARSE-RESULT,13
|
||||
ZERO? STACK /?CND25
|
||||
PRINTC 32
|
||||
ZERO? WD /?CCL29
|
||||
EQUAL? WD,W?DID \?CCL32
|
||||
GETB VOCAB,0
|
||||
ADD 1,STACK
|
||||
ADD VOCAB,STACK >V
|
||||
GETB V,0
|
||||
BOR 128,STACK >M
|
||||
EQUAL? P-PRSA-WORD,W?GET \?CCL37
|
||||
PRINTI "got"
|
||||
JUMP ?CND30
|
||||
?CCL37: ADD V,9 >?TMP1
|
||||
ADD V,1
|
||||
GET STACK,0
|
||||
INTBL? P-PRSA-WORD,?TMP1,STACK,M >N \?CCL39
|
||||
GET N,1
|
||||
BTST STACK,PAST-TENSE \?CCL39
|
||||
PRINTB N
|
||||
JUMP ?CND30
|
||||
?CCL39: PRINTB P-PRSA-WORD
|
||||
PRINTI "ed"
|
||||
JUMP ?CND30
|
||||
?CCL32: PRINTB P-PRSA-WORD
|
||||
EQUAL? WD,W?DO,W?DOES \?CND30
|
||||
EQUAL? SUBJ,ME,PLAYER /?CND30
|
||||
FSET? SUBJ,PLURAL /?CND30
|
||||
PRINTC 115
|
||||
?CND30: ZERO? OBJ /?CCL49
|
||||
PRINTC 32
|
||||
EQUAL? OBJ,SUBJ \?CCL52
|
||||
FSET? OBJ,PERSONBIT /?CCL55
|
||||
PRINTI "it"
|
||||
JUMP ?CND53
|
||||
?CCL55: FSET? OBJ,FEMALE \?CCL57
|
||||
PRINTI "her"
|
||||
JUMP ?CND53
|
||||
?CCL57: PRINTI "him"
|
||||
?CND53: PRINTI "self"
|
||||
JUMP ?CND25
|
||||
?CCL52: ICALL2 TELL-THE,OBJ
|
||||
JUMP ?CND25
|
||||
?CCL49: ICALL1 ECHO-NOUNS
|
||||
JUMP ?CND25
|
||||
?CCL29: PRINTB P-PRSA-WORD
|
||||
?CND25: PRINTR "."
|
||||
|
||||
|
||||
.FUNCT ECHO-NOUNS:ANY:0:0,WD
|
||||
EQUAL? PRSO,0,WHAT,NOT-HERE-OBJECT /?CND1
|
||||
GET PARSE-RESULT,7 >WD
|
||||
ZERO? WD /?CND3
|
||||
PRINTC 32
|
||||
PRINTB WD
|
||||
?CND3: PRINTC 32
|
||||
ICALL2 TELL-THE,PRSO
|
||||
?CND1: EQUAL? PRSI,0,WHAT,NOT-HERE-OBJECT /FALSE
|
||||
GET PARSE-RESULT,8 >WD
|
||||
ZERO? WD /?CND8
|
||||
PRINTC 32
|
||||
PRINTB WD
|
||||
?CND8: PRINTC 32
|
||||
CALL2 TELL-THE,PRSI
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-CAN?:ANY:0:0
|
||||
CALL2 WHO-KNOWS,W?CAN
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-MAY?:ANY:0:0
|
||||
CALL2 WHO-KNOWS,W?MAY
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-DO?:ANY:0:0
|
||||
CALL1 TRY-QCONTEXT?
|
||||
ZERO? STACK \TRUE
|
||||
GET PARSE-RESULT,16
|
||||
BTST STACK,PARSE-QUESTION /?CCL5
|
||||
ZERO? PRSS \?CCL8
|
||||
ICALL1 MORE-SPECIFIC
|
||||
RTRUE
|
||||
?CCL8: PRINTI "So you think"
|
||||
EQUAL? PRSS,ME,PLAYER \?CCL11
|
||||
PRINTI " you "
|
||||
GET PARSE-RESULT,16
|
||||
BTST STACK,1 \?CND9
|
||||
PRINTI "don't "
|
||||
JUMP ?CND9
|
||||
?CCL11: PRINTC 32
|
||||
ICALL2 TELL-THE,PRSS
|
||||
PRINTC 32
|
||||
GET PARSE-RESULT,16
|
||||
BTST STACK,1 \?CND9
|
||||
PRINTI "doesn't "
|
||||
?CND9: PRINTB P-PRSA-WORD
|
||||
ICALL1 ECHO-NOUNS
|
||||
PRINTR "."
|
||||
?CCL5: CALL1 WHO-KNOWS
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-COULD?:ANY:0:0
|
||||
CALL2 WHO-KNOWS,W?COULD
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-WOULD?:ANY:0:0
|
||||
CALL2 WHO-KNOWS,W?WOULD
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-SHOULD?:ANY:0:0
|
||||
CALL2 WHO-KNOWS,W?SHOULD
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-MIGHT?:ANY:0:0
|
||||
CALL2 WHO-KNOWS,W?MIGHT
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-WILL?:ANY:0:0
|
||||
CALL2 WHO-KNOWS,W?WILL
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-MUST?:ANY:0:0
|
||||
CALL2 WHO-KNOWS,W?MUST
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT PRE-DROP?:ANY:0:0
|
||||
LOC PRSS
|
||||
EQUAL? PRSO,STACK \FALSE
|
||||
ICALL PERFORM,V?DISEMBARK,PRSO,PRSI
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT V-DROP?:ANY:0:0
|
||||
EQUAL? PRSO,ROOMS \FALSE
|
||||
PRINT STR?58
|
||||
PRINTR "hanging from anything."
|
||||
|
||||
|
||||
.FUNCT V-DISEMBARK?:ANY:0:0,AV
|
||||
LOC PRSS >AV
|
||||
EQUAL? PRSO,FALSE-VALUE,ROOMS \?CCL3
|
||||
ZERO? AV /?CCL6
|
||||
IN? AV,ROOMS /?CCL6
|
||||
ICALL PERFORM,PRSA,AV,PRSI
|
||||
RTRUE
|
||||
?CCL6: PRINT STR?58
|
||||
PRINTR "in anything."
|
||||
?CCL3: ZERO? AV /?CCL10
|
||||
IN? AV,ROOMS /?CCL10
|
||||
EQUAL? AV,PRSO /FALSE
|
||||
CALL HELD?,AV,PRSO
|
||||
ZERO? STACK \FALSE
|
||||
PRINT STR?59
|
||||
FSET? AV,SURFACEBIT \?CCL20
|
||||
PRINTI " on "
|
||||
JUMP ?CND18
|
||||
?CCL20: PRINTI " in "
|
||||
?CND18: ICALL2 TELL-THE,AV
|
||||
PRINTR "!"
|
||||
?CCL10: LOC PRSO
|
||||
ZERO? STACK /?CCL22
|
||||
ICALL PERFORM,V?TAKE,PRSO,PRSI
|
||||
RTRUE
|
||||
?CCL22: PRINT STR?60
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT PRE-TAKE?:ANY:0:0
|
||||
ZERO? PRSI \FALSE
|
||||
CALL1 PRE-TAKE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT V-TAKE?:ANY:0:0
|
||||
GET PARSE-RESULT,10
|
||||
ZERO? STACK \FALSE
|
||||
PRINTR "Seems reasonable."
|
||||
|
||||
.ENDSEG
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,91 @@
|
|||
<FLAGS-AND-DEFAULTS (("P-BE-VERB" T)("ONE-BYTE-PARTS-OF-SPEECH" %<>)(
|
||||
"WORD-FLAGS-IN-TABLE" T)("IN-ZILCH" T)("P-ZORK0" %<>)) (("DIR-VERB-PRSI?"
|
||||
"DEFS" #WORD *35522513507*))>
|
||||
|
||||
<ZZPACKAGE "REDS">
|
||||
<ENTRY RED-SP RED-ADV RED-PART RED-SV RED-SVN RED-SVPNPN RED-SVD RED-PERS
|
||||
RED-VP RED-NP RED-OF RED-QT RED-QN RED-NPP RED-PP RED-POSS RED-ADJ RED-ADJS
|
||||
RED-QUOTE>
|
||||
<ENTRY RED-O-ADJ RED-O-PP RED-O-NP NUMERIC-ADJ? DIR-VERB-WORD?>
|
||||
<INCLUDE "BASEDEFS" "FIND" "PBITDEFS" "PDEFS">
|
||||
<USE "NEWSTRUC" "PARSER" "PMEM" "PSTACK">
|
||||
<FILE-FLAGS MDL-ZIL?>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<DEFAULTS-DEFINED DIR-VERB-PRSI? DIR-VERB-WORD? NOT-HERE-VERB?>
|
||||
<DEFAULT-DEFINITION DIR-VERB-PRSI? <DEFINE DIR-VERB-PRSI? (NP) <AND <EQUAL? <
|
||||
PARSE-ACTION ,PARSE-RESULT> ,V?MOVE-DIR ,V?RIDE-DIR ,V?ROLL-DIR ,V?SET-DIR> <
|
||||
NOT <EQUAL? <NOUN-PHRASE-OBJ1 .NP> ,INTDIR ,LEFT-RIGHT>>>>>
|
||||
<DEFAULT-DEFINITION DIR-VERB-WORD? <DEFMAC DIR-VERB-WORD? ('WD) <FORM EQUAL? .
|
||||
WD ',W?WALK ',W?GO ',W?RUN>>>
|
||||
<DEFAULT-DEFINITION NOT-HERE-VERB? <DEFMAC NOT-HERE-VERB? ('V) <FORM EQUAL? .V
|
||||
',V?WALK-TO>>>
|
||||
<DEFMAC ABS ('NUM) <FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>) (T .NUM)>>
|
||||
<DEFINE-ROUTINE RED-FCN>
|
||||
<DEFINE-ROUTINE RED-PART>
|
||||
<DEFINE-ROUTINE GET-SYNTAX>
|
||||
<DEFINE-ROUTINE RED-SV>
|
||||
<DEFINE-ROUTINE ROOT-VERB>
|
||||
<DEFINE-ROUTINE RED-SVN>
|
||||
<DEFINE-ROUTINE SVN>
|
||||
<DEFINE-ROUTINE RED-SVPNPN>
|
||||
<DEFINE-ROUTINE RED-SVD>
|
||||
<DEFINE-ROUTINE RED-SP>
|
||||
<GLOBAL SEARCH-FLAGS:NUMBER 0>
|
||||
<DEFINE-ROUTINE IREDUCE-EXCEPTION>
|
||||
<DEFINE-ROUTINE REDUCE-EXCEPT-IT>
|
||||
<DEFINE-ROUTINE REDUCE-EXCEPTION>
|
||||
<CONSTANT P-NO-INSIDE "No inside">
|
||||
<CONSTANT P-NO-SURFACE "No surface">
|
||||
<CONSTANT P-NOTHING "Nothing">
|
||||
<CONSTANT PREP-BIT <ITABLE 3 0>>
|
||||
<DEFINE-ROUTINE REDUCE-LOCATION>
|
||||
<COND (<GASSIGNED? DO-TEST-PREP> <SETG TEST-PREP <TABLE ,DO-TEST-PREP>>)>
|
||||
<DEFINE-ROUTINE DETERMINE-OBJ>
|
||||
<DEFINE-ROUTINE CHECK-DIR-ADJS>
|
||||
<DEFINE-ROUTINE NUMERIC-ADJ?>
|
||||
<COMPILATION-FLAG-DEFAULT P-GENDERS T>
|
||||
<VOC "HIMSELF" NOUN>
|
||||
<VOC "HERSELF" NOUN>
|
||||
<DEFINE-ROUTINE DETERMINE-NP>
|
||||
<DEFINE-ROUTINE DET-NP-NOT-HERE?>
|
||||
<DEFINE-ROUTINE DET-NP-OWNEE?>
|
||||
<DEFINE-ROUTINE FIND-OWNERS>
|
||||
<DEFINE-ROUTINE READY-TO-DISAMBIGUATE?>
|
||||
<DEFINE-ROUTINE DETERMINE-NP-XFER>
|
||||
<DEFINE-ROUTINE DO-ORPHAN-TEST>
|
||||
<DEFINE-ROUTINE RED-O-ADJ>
|
||||
<DEFINE-ROUTINE RED-O-PP>
|
||||
<DEFINE-ROUTINE INSERT-NP>
|
||||
<DEFINE-ROUTINE TEST-SR>
|
||||
<DEFINE-ROUTINE TEST-O-SR>
|
||||
<DEFINE-ROUTINE RED-O-NP>
|
||||
<DEFINE-ROUTINE RED-PERS>
|
||||
<DEFINE-ROUTINE HACK-TELL>
|
||||
<DEFINE-ROUTINE HACK-TELL-1>
|
||||
<DEFINE-ROUTINE RED-VP>
|
||||
<DEFINE-ROUTINE RED-NP>
|
||||
<DEFINE-ROUTINE RED-OF>
|
||||
<DEFINE-ROUTINE RED-QT>
|
||||
<DEFINE-ROUTINE GET-QUANTITY-WORD>
|
||||
<DEFINE-ROUTINE GET-QUANTITY>
|
||||
<DEFINE-ROUTINE RED-QN>
|
||||
<DEFINE-ROUTINE RED-NPP>
|
||||
<DEFINE-ROUTINE RED-PP>
|
||||
<ADD-WORD MY ADJ>
|
||||
<ADD-WORD ME NOUN>
|
||||
<ADD-WORD YOUR ADJ>
|
||||
<ADD-WORD YOU NOUN>
|
||||
<ADD-WORD ITS ADJ>
|
||||
<ADD-WORD IT NOUN>
|
||||
<ADD-WORD HIS ADJ>
|
||||
<ADD-WORD HIM NOUN>
|
||||
<ADD-WORD THEIR ADJ>
|
||||
<ADD-WORD THEM NOUN>
|
||||
<DEFINE-ROUTINE RED-POSS>
|
||||
<CONSTANT LAST-OBJECT 0>
|
||||
<DEFINE-ROUTINE RED-ADJS>
|
||||
<DEFINE-ROUTINE RED-ADJ>
|
||||
<OBJECT INTQUOTE (LOC GLOBAL-OBJECTS) (DESC "quotation")>
|
||||
<DEFINE-ROUTINE RED-QUOTE>
|
||||
<END-SEGMENT>
|
||||
<ENDPACKAGE>
|
|
@ -0,0 +1,901 @@
|
|||
|
||||
State # 1:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 0, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 0, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: Apply RED-PERS to 0, new token is ?PERS
|
||||
-->State 12
|
||||
QUANT: Apply RED-PERS to 0, new token is ?PERS
|
||||
-->State 11
|
||||
ASKWORD: -->State 10
|
||||
ARTICLE: Apply RED-PERS to 0, new token is ?PERS
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PERS to 0, new token is ?PERS
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 5
|
||||
?PERS: -->State 6
|
||||
SP: -->State 7
|
||||
|
||||
State # 2:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 103
|
||||
NP: -->State 14
|
||||
|
||||
State # 3:
|
||||
NOUN: -->State 19
|
||||
|
||||
State # 4:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 5:
|
||||
COMMA: -->State 102
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 6:
|
||||
END-OF-INPUT, PARTICLE,
|
||||
PREP: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
TOBE, CANDO: Apply RED-FCN to 0, new token is ?QW1
|
||||
VERB: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
ADJ: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
-->State 12
|
||||
ADV: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
QUANT: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
-->State 11
|
||||
DIR: -->State 42
|
||||
QWORD: -->State 41
|
||||
ARTICLE: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
-->State 9
|
||||
QUOTE: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
-->State 8
|
||||
O?: -->State 35
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
?QW1: -->State 36
|
||||
NP: -->State 37
|
||||
?CANDO: -->State 38
|
||||
VP: -->State 39
|
||||
S: -->State 40
|
||||
|
||||
State # 7:
|
||||
END-OF-INPUT: DONE
|
||||
|
||||
State # 8:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-QUOTE to 1, new token is NP
|
||||
|
||||
State # 9:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 34
|
||||
NP: -->State 14
|
||||
|
||||
State # 10:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 21
|
||||
|
||||
State # 11:
|
||||
OFWORD, END-OF-INPUT, VERB,
|
||||
ADV, MISCWORD, TOBE, CANDO,
|
||||
COMMA, PARTICLE, PREP,
|
||||
APOSTR: Apply RED-QT to 1, new token is NP
|
||||
NOUN: Apply RED-QT to 1, new token is NP
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: Apply RED-QT to 1, new token is NP
|
||||
-->State 12
|
||||
QUANT: Apply RED-QT to 1, new token is NP
|
||||
-->State 11
|
||||
ARTICLE: Apply RED-QT to 1, new token is NP
|
||||
-->State 9
|
||||
QUOTE: Apply RED-QT to 1, new token is NP
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 20
|
||||
|
||||
State # 12:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 13:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: Apply RED-ADJ to 2, new token is ADJ*
|
||||
-->State 19
|
||||
|
||||
State # 14:
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 15:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 18
|
||||
|
||||
State # 16:
|
||||
MISCWORD: -->State 17
|
||||
|
||||
State # 17:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-POSS to 3, new token is POSSESSIVE
|
||||
|
||||
State # 18:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-OF to 3, new token is NP
|
||||
APOSTR: Apply RED-OF to 3, new token is NP
|
||||
-->State 16
|
||||
OFWORD: Apply RED-OF to 3, new token is NP
|
||||
-->State 15
|
||||
|
||||
State # 19:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-NP to 2, new token is NP
|
||||
|
||||
State # 20:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-QN to 2, new token is NP
|
||||
APOSTR: Apply RED-QN to 2, new token is NP
|
||||
-->State 16
|
||||
OFWORD: Apply RED-QN to 2, new token is NP
|
||||
-->State 15
|
||||
|
||||
State # 21:
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 24
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 22:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 2, new token is NPP
|
||||
|
||||
State # 23:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 32
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 31
|
||||
|
||||
State # 24:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 3, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 3, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: Apply RED-PERS to 3, new token is ?PERS
|
||||
-->State 12
|
||||
QUANT: Apply RED-PERS to 3, new token is ?PERS
|
||||
-->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: Apply RED-PERS to 3, new token is ?PERS
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PERS to 3, new token is ?PERS
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 25:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 26:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 3, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 27:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
COMMA: Apply RED-PP to 2, new token is PP
|
||||
-->State 25
|
||||
PARTICLE: Apply RED-PP to 2, new token is PP
|
||||
-->State 30
|
||||
PREP: Apply RED-PP to 2, new token is PP
|
||||
-->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 28:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 29:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
COMMA: Apply RED-PP to 3, new token is PP
|
||||
-->State 25
|
||||
PARTICLE: Apply RED-PP to 3, new token is PP
|
||||
-->State 30
|
||||
PREP: Apply RED-PP to 3, new token is PP
|
||||
-->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 30:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 31:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
COMMA: Apply RED-PP to 2, new token is PP
|
||||
-->State 25
|
||||
PARTICLE: Apply RED-PP to 2, new token is PP
|
||||
-->State 30
|
||||
PREP: Apply RED-PP to 2, new token is PP
|
||||
-->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 32:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 33
|
||||
|
||||
State # 33:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
COMMA: Apply RED-PP to 3, new token is PP
|
||||
-->State 25
|
||||
PARTICLE: Apply RED-PP to 3, new token is PP
|
||||
-->State 30
|
||||
PREP: Apply RED-PP to 3, new token is PP
|
||||
-->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 34:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: Apply RED-ADJ to 2, new token is ADJ*
|
||||
-->State 19
|
||||
|
||||
State # 35:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 99
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 96
|
||||
PP: -->State 97
|
||||
NP: -->State 98
|
||||
|
||||
State # 36:
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 78
|
||||
BE-FORM: -->State 77
|
||||
|
||||
State # 37:
|
||||
VERB, ADV: Apply RED-CANDO to 1, new token is ?CANDO
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 67
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
BE-FORM: -->State 66
|
||||
|
||||
State # 38:
|
||||
VERB: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: -->State 47
|
||||
?ADV: -->State 63
|
||||
|
||||
State # 39:
|
||||
END-OF-INPUT, ADV: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 12
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 11
|
||||
DIR: -->State 51
|
||||
PARTICLE: -->State 50
|
||||
ARTICLE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 48
|
||||
?PARTICLE: -->State 49
|
||||
|
||||
State # 40:
|
||||
ADV: -->State 47
|
||||
END-OF-INPUT: Apply RED-FCN to 0, new token is ?ADV
|
||||
?ADV: -->State 46
|
||||
|
||||
State # 41:
|
||||
TOBE: Apply RED-FCN to 1, new token is ?QW1
|
||||
-->State 44
|
||||
CANDO: Apply RED-FCN to 1, new token is ?QW1
|
||||
BE-FORM: -->State 43
|
||||
|
||||
State # 42:
|
||||
END-OF-INPUT, ADV: Apply RED-SD to 1, new token is S
|
||||
|
||||
State # 43:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 45
|
||||
|
||||
State # 44:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, MISCWORD, PARTICLE,
|
||||
PREP: Apply RED-BE-FORM to 1, new token is BE-FORM
|
||||
|
||||
State # 45:
|
||||
END-OF-INPUT, ADV: Apply RED-SQBN to 3, new token is S
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 46:
|
||||
END-OF-INPUT: Apply RED-SP to 3, new token is SP
|
||||
|
||||
State # 47:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, DIR,
|
||||
PARTICLE: Apply RED-FCN to 1, new token is ?ADV
|
||||
|
||||
State # 48:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 61
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
?PARTICLE: -->State 60
|
||||
|
||||
State # 49:
|
||||
END-OF-INPUT, ADV: Apply RED-SV to 2, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 54
|
||||
|
||||
State # 50:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
OFWORD: -->State 53
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 51:
|
||||
END-OF-INPUT, ADV: Apply RED-SVD to 2, new token is S
|
||||
|
||||
State # 52:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 53:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 54:
|
||||
END-OF-INPUT, ADV: Apply RED-SVN to 3, new token is S
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 12
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 11
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 57
|
||||
PREP: -->State 23
|
||||
ARTICLE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 22
|
||||
NP: -->State 4
|
||||
NPP: -->State 55
|
||||
?PARTICLE: -->State 56
|
||||
|
||||
State # 55:
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNN to 4, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 56:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 59
|
||||
|
||||
State # 57:
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 12
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 11
|
||||
PARTICLE: -->State 50
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 58:
|
||||
NOUN: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
-->State 12
|
||||
QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
-->State 11
|
||||
ARTICLE: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 59:
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNPN to 5, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 60:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 62
|
||||
|
||||
State # 61:
|
||||
END-OF-INPUT, ADV: Apply RED-SVNP to 3, new token is S
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 12
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 11
|
||||
PARTICLE: -->State 50
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 62:
|
||||
END-OF-INPUT, ADV: Apply RED-SVNPN to 4, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 63:
|
||||
VERB: -->State 64
|
||||
|
||||
State # 64:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
QUANT, DIR, PARTICLE: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: Apply RED-FCN to 0, new token is ?ADV
|
||||
-->State 47
|
||||
?ADV: -->State 65
|
||||
|
||||
State # 65:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, DIR, PARTICLE: Apply RED-VP to 4, new token is VP
|
||||
|
||||
State # 66:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: Apply RED-NOT to 0, new token is ?NOT
|
||||
-->State 69
|
||||
?NOT: -->State 70
|
||||
|
||||
State # 67:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
?NOT: -->State 68
|
||||
|
||||
State # 68:
|
||||
VERB, ADV: Apply RED-CANDO to 3, new token is ?CANDO
|
||||
|
||||
State # 69:
|
||||
ARTICLE, QUOTE, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
PARTICLE, PREP: Apply RED-NOT to 1, new token is ?NOT
|
||||
|
||||
State # 70:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 71
|
||||
|
||||
State # 71:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 75
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 73
|
||||
NP: -->State 4
|
||||
NPP: -->State 74
|
||||
|
||||
State # 72:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 1, new token is ?BE
|
||||
|
||||
State # 73:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBP to 5, new token is S
|
||||
|
||||
State # 74:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBN to 5, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 75:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBA to 5, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
PP: -->State 76
|
||||
NP: -->State 14
|
||||
|
||||
State # 76:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBAP to 6, new token is S
|
||||
|
||||
State # 77:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 84
|
||||
NP: -->State 85
|
||||
|
||||
State # 78:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 79
|
||||
NP: -->State 80
|
||||
|
||||
State # 79:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 83
|
||||
|
||||
State # 80:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 82
|
||||
|
||||
State # 81:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-NOT to 1, new token is NOT
|
||||
|
||||
State # 82:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
|
||||
State # 83:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 84:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 91
|
||||
|
||||
State # 85:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: Apply RED-NOT to 0, new token is ?NOT
|
||||
-->State 69
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 86
|
||||
|
||||
State # 86:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 87
|
||||
|
||||
State # 87:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 90
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 88
|
||||
NP: -->State 4
|
||||
NPP: -->State 89
|
||||
|
||||
State # 88:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 89:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 90:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 91:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?BE: -->State 92
|
||||
|
||||
State # 92:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 95
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 93
|
||||
NP: -->State 4
|
||||
NPP: -->State 94
|
||||
|
||||
State # 93:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 94:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 95:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 96:
|
||||
END-OF-INPUT, ADV: Apply RED-O-ADJ to 2, new token is S
|
||||
NOUN: -->State 19
|
||||
|
||||
State # 97:
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 2, new token is S
|
||||
|
||||
State # 98:
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 2, new token is S
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
PP: -->State 101
|
||||
|
||||
State # 99:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 100
|
||||
NPP: -->State 27
|
||||
|
||||
State # 100:
|
||||
COMMA, PARTICLE, PREP: Apply RED-NPP to 1, new token is NPP
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 3, new token is S
|
||||
Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 101:
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 3, new token is S
|
||||
|
||||
State # 102:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 2, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 2, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: Apply RED-PERS to 2, new token is ?PERS
|
||||
-->State 12
|
||||
QUANT: Apply RED-PERS to 2, new token is ?PERS
|
||||
-->State 11
|
||||
ARTICLE: Apply RED-PERS to 2, new token is ?PERS
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PERS to 2, new token is ?PERS
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 103:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: Apply RED-ADJ to 2, new token is ADJ*
|
||||
-->State 19
|
|
@ -0,0 +1,901 @@
|
|||
|
||||
State # 1:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 0, new token is ?PERS
|
||||
ADJ: Apply RED-PERS to 0, new token is ?PERS
|
||||
-->State 12
|
||||
NOUN: Apply RED-PERS to 0, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: Apply RED-PERS to 0, new token is ?PERS
|
||||
-->State 11
|
||||
ASKWORD: -->State 10
|
||||
ARTICLE: Apply RED-PERS to 0, new token is ?PERS
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PERS to 0, new token is ?PERS
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 5
|
||||
?PERS: -->State 6
|
||||
SP: -->State 7
|
||||
|
||||
State # 2:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 103
|
||||
NP: -->State 14
|
||||
|
||||
State # 3:
|
||||
NOUN: -->State 19
|
||||
|
||||
State # 4:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 5:
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 102
|
||||
PP: -->State 22
|
||||
|
||||
State # 6:
|
||||
END-OF-INPUT, PARTICLE,
|
||||
PREP: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
ADJ: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
-->State 12
|
||||
TOBE, CANDO: Apply RED-FCN to 0, new token is ?QW1
|
||||
VERB: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
ADV: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
QUANT: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
-->State 11
|
||||
DIR: -->State 42
|
||||
QWORD: -->State 41
|
||||
ARTICLE: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
-->State 9
|
||||
QUOTE: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
-->State 8
|
||||
O?: -->State 35
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
?QW1: -->State 36
|
||||
NP: -->State 37
|
||||
?CANDO: -->State 38
|
||||
VP: -->State 39
|
||||
S: -->State 40
|
||||
|
||||
State # 7:
|
||||
END-OF-INPUT: DONE
|
||||
|
||||
State # 8:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-QUOTE to 1, new token is NP
|
||||
|
||||
State # 9:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 34
|
||||
NP: -->State 14
|
||||
|
||||
State # 10:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 21
|
||||
|
||||
State # 11:
|
||||
OFWORD, END-OF-INPUT, VERB,
|
||||
ADV, MISCWORD, TOBE, CANDO,
|
||||
COMMA, PARTICLE, PREP,
|
||||
APOSTR: Apply RED-QT to 1, new token is NP
|
||||
ADJ: Apply RED-QT to 1, new token is NP
|
||||
-->State 12
|
||||
NOUN: Apply RED-QT to 1, new token is NP
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: Apply RED-QT to 1, new token is NP
|
||||
-->State 11
|
||||
ARTICLE: Apply RED-QT to 1, new token is NP
|
||||
-->State 9
|
||||
QUOTE: Apply RED-QT to 1, new token is NP
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 20
|
||||
|
||||
State # 12:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 13:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: Apply RED-ADJ to 2, new token is ADJ*
|
||||
-->State 19
|
||||
|
||||
State # 14:
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 15:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 18
|
||||
|
||||
State # 16:
|
||||
MISCWORD: -->State 17
|
||||
|
||||
State # 17:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-POSS to 3, new token is POSSESSIVE
|
||||
|
||||
State # 18:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-OF to 3, new token is NP
|
||||
APOSTR: Apply RED-OF to 3, new token is NP
|
||||
-->State 16
|
||||
OFWORD: Apply RED-OF to 3, new token is NP
|
||||
-->State 15
|
||||
|
||||
State # 19:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-NP to 2, new token is NP
|
||||
|
||||
State # 20:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-QN to 2, new token is NP
|
||||
APOSTR: Apply RED-QN to 2, new token is NP
|
||||
-->State 16
|
||||
OFWORD: Apply RED-QN to 2, new token is NP
|
||||
-->State 15
|
||||
|
||||
State # 21:
|
||||
PARTICLE: -->State 24
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 22:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 2, new token is NPP
|
||||
|
||||
State # 23:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 32
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 31
|
||||
|
||||
State # 24:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 3, new token is ?PERS
|
||||
ADJ: Apply RED-PERS to 3, new token is ?PERS
|
||||
-->State 12
|
||||
NOUN: Apply RED-PERS to 3, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: Apply RED-PERS to 3, new token is ?PERS
|
||||
-->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: Apply RED-PERS to 3, new token is ?PERS
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PERS to 3, new token is ?PERS
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 25:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 26:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 3, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 27:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
PARTICLE: Apply RED-PP to 2, new token is PP
|
||||
-->State 30
|
||||
PREP: Apply RED-PP to 2, new token is PP
|
||||
-->State 23
|
||||
COMMA: Apply RED-PP to 2, new token is PP
|
||||
-->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 28:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 29:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
PARTICLE: Apply RED-PP to 3, new token is PP
|
||||
-->State 30
|
||||
PREP: Apply RED-PP to 3, new token is PP
|
||||
-->State 23
|
||||
COMMA: Apply RED-PP to 3, new token is PP
|
||||
-->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 30:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 31:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
PARTICLE: Apply RED-PP to 2, new token is PP
|
||||
-->State 30
|
||||
PREP: Apply RED-PP to 2, new token is PP
|
||||
-->State 23
|
||||
COMMA: Apply RED-PP to 2, new token is PP
|
||||
-->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 32:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 33
|
||||
|
||||
State # 33:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
PARTICLE: Apply RED-PP to 3, new token is PP
|
||||
-->State 30
|
||||
PREP: Apply RED-PP to 3, new token is PP
|
||||
-->State 23
|
||||
COMMA: Apply RED-PP to 3, new token is PP
|
||||
-->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 34:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: Apply RED-ADJ to 2, new token is ADJ*
|
||||
-->State 19
|
||||
|
||||
State # 35:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 99
|
||||
PREP: -->State 23
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 96
|
||||
PP: -->State 97
|
||||
NP: -->State 98
|
||||
|
||||
State # 36:
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 78
|
||||
BE-FORM: -->State 77
|
||||
|
||||
State # 37:
|
||||
VERB, ADV: Apply RED-CANDO to 1, new token is ?CANDO
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 67
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
BE-FORM: -->State 66
|
||||
|
||||
State # 38:
|
||||
VERB: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: -->State 47
|
||||
?ADV: -->State 63
|
||||
|
||||
State # 39:
|
||||
ADJ: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 12
|
||||
PARTICLE: -->State 50
|
||||
END-OF-INPUT, ADV: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 11
|
||||
DIR: -->State 51
|
||||
ARTICLE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 48
|
||||
?PARTICLE: -->State 49
|
||||
|
||||
State # 40:
|
||||
ADV: -->State 47
|
||||
END-OF-INPUT: Apply RED-FCN to 0, new token is ?ADV
|
||||
?ADV: -->State 46
|
||||
|
||||
State # 41:
|
||||
TOBE: Apply RED-FCN to 1, new token is ?QW1
|
||||
-->State 44
|
||||
CANDO: Apply RED-FCN to 1, new token is ?QW1
|
||||
BE-FORM: -->State 43
|
||||
|
||||
State # 42:
|
||||
END-OF-INPUT, ADV: Apply RED-SD to 1, new token is S
|
||||
|
||||
State # 43:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 45
|
||||
|
||||
State # 44:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, MISCWORD, PARTICLE,
|
||||
PREP: Apply RED-BE-FORM to 1, new token is BE-FORM
|
||||
|
||||
State # 45:
|
||||
END-OF-INPUT, ADV: Apply RED-SQBN to 3, new token is S
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 46:
|
||||
END-OF-INPUT: Apply RED-SP to 3, new token is SP
|
||||
|
||||
State # 47:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, DIR,
|
||||
PARTICLE: Apply RED-FCN to 1, new token is ?ADV
|
||||
|
||||
State # 48:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 61
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
?PARTICLE: -->State 60
|
||||
|
||||
State # 49:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, ADV: Apply RED-SV to 2, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 54
|
||||
|
||||
State # 50:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
OFWORD: -->State 53
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 51:
|
||||
END-OF-INPUT, ADV: Apply RED-SVD to 2, new token is S
|
||||
|
||||
State # 52:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 53:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 54:
|
||||
ADJ: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 12
|
||||
PARTICLE: -->State 57
|
||||
END-OF-INPUT, ADV: Apply RED-SVN to 3, new token is S
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 11
|
||||
COMMA: -->State 25
|
||||
ARTICLE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 22
|
||||
NP: -->State 4
|
||||
NPP: -->State 55
|
||||
?PARTICLE: -->State 56
|
||||
|
||||
State # 55:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNN to 4, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 56:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 59
|
||||
|
||||
State # 57:
|
||||
ADJ: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 12
|
||||
PARTICLE: -->State 50
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 11
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 58:
|
||||
ADJ: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
-->State 12
|
||||
NOUN: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
-->State 11
|
||||
ARTICLE: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 59:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNPN to 5, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 60:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 62
|
||||
|
||||
State # 61:
|
||||
ADJ: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 12
|
||||
PARTICLE: -->State 50
|
||||
END-OF-INPUT, ADV: Apply RED-SVNP to 3, new token is S
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 11
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 62:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SVNPN to 4, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 63:
|
||||
VERB: -->State 64
|
||||
|
||||
State # 64:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
QUANT, DIR, PARTICLE: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: Apply RED-FCN to 0, new token is ?ADV
|
||||
-->State 47
|
||||
?ADV: -->State 65
|
||||
|
||||
State # 65:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, DIR, PARTICLE: Apply RED-VP to 4, new token is VP
|
||||
|
||||
State # 66:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: Apply RED-NOT to 0, new token is ?NOT
|
||||
-->State 69
|
||||
?NOT: -->State 70
|
||||
|
||||
State # 67:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
?NOT: -->State 68
|
||||
|
||||
State # 68:
|
||||
VERB, ADV: Apply RED-CANDO to 3, new token is ?CANDO
|
||||
|
||||
State # 69:
|
||||
ARTICLE, QUOTE, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
PARTICLE, PREP: Apply RED-NOT to 1, new token is ?NOT
|
||||
|
||||
State # 70:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 71
|
||||
|
||||
State # 71:
|
||||
ADJ: -->State 75
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 73
|
||||
NP: -->State 4
|
||||
NPP: -->State 74
|
||||
|
||||
State # 72:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 1, new token is ?BE
|
||||
|
||||
State # 73:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBP to 5, new token is S
|
||||
|
||||
State # 74:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SNBN to 5, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 75:
|
||||
ADJ: -->State 12
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SNBA to 5, new token is S
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
PP: -->State 76
|
||||
NP: -->State 14
|
||||
|
||||
State # 76:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBAP to 6, new token is S
|
||||
|
||||
State # 77:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 84
|
||||
NP: -->State 85
|
||||
|
||||
State # 78:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 79
|
||||
NP: -->State 80
|
||||
|
||||
State # 79:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 83
|
||||
|
||||
State # 80:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 82
|
||||
|
||||
State # 81:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-NOT to 1, new token is NOT
|
||||
|
||||
State # 82:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
|
||||
State # 83:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 84:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 91
|
||||
|
||||
State # 85:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: Apply RED-NOT to 0, new token is ?NOT
|
||||
-->State 69
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 86
|
||||
|
||||
State # 86:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 87
|
||||
|
||||
State # 87:
|
||||
ADJ: -->State 90
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 88
|
||||
NP: -->State 4
|
||||
NPP: -->State 89
|
||||
|
||||
State # 88:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 89:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 90:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 91:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?BE: -->State 92
|
||||
|
||||
State # 92:
|
||||
ADJ: -->State 95
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 93
|
||||
NP: -->State 4
|
||||
NPP: -->State 94
|
||||
|
||||
State # 93:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 94:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 95:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 96:
|
||||
END-OF-INPUT, ADV: Apply RED-O-ADJ to 2, new token is S
|
||||
NOUN: -->State 19
|
||||
|
||||
State # 97:
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 2, new token is S
|
||||
|
||||
State # 98:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 2, new token is S
|
||||
PREP: -->State 23
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
PP: -->State 101
|
||||
|
||||
State # 99:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 100
|
||||
NPP: -->State 27
|
||||
|
||||
State # 100:
|
||||
COMMA, PARTICLE, PREP: Apply RED-NPP to 1, new token is NPP
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 3, new token is S
|
||||
Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 101:
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 3, new token is S
|
||||
|
||||
State # 102:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 2, new token is ?PERS
|
||||
ADJ: Apply RED-PERS to 2, new token is ?PERS
|
||||
-->State 12
|
||||
NOUN: Apply RED-PERS to 2, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: Apply RED-PERS to 2, new token is ?PERS
|
||||
-->State 11
|
||||
ARTICLE: Apply RED-PERS to 2, new token is ?PERS
|
||||
-->State 9
|
||||
QUOTE: Apply RED-PERS to 2, new token is ?PERS
|
||||
-->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 103:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: Apply RED-ADJ to 2, new token is ADJ*
|
||||
-->State 19
|
|
@ -0,0 +1,901 @@
|
|||
|
||||
State # 1:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 0, new token is ?PERS
|
||||
ADJ: -->State 12
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 0, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
ASKWORD: -->State 10
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 5
|
||||
?PERS: -->State 6
|
||||
SP: -->State 7
|
||||
|
||||
State # 2:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 103
|
||||
NP: -->State 14
|
||||
|
||||
State # 3:
|
||||
NOUN: -->State 19
|
||||
|
||||
State # 4:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 5:
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 102
|
||||
PP: -->State 22
|
||||
|
||||
State # 6:
|
||||
END-OF-INPUT, PARTICLE,
|
||||
PREP: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
ADJ: -->State 12
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
TOBE, CANDO: Apply RED-FCN to 0, new token is ?QW1
|
||||
VERB: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
ADV: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
QUANT: -->State 11
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
DIR: -->State 42
|
||||
QWORD: -->State 41
|
||||
ARTICLE: -->State 9
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
QUOTE: -->State 8
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
O?: -->State 35
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
?QW1: -->State 36
|
||||
NP: -->State 37
|
||||
?CANDO: -->State 38
|
||||
VP: -->State 39
|
||||
S: -->State 40
|
||||
|
||||
State # 7:
|
||||
END-OF-INPUT: DONE
|
||||
|
||||
State # 8:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-QUOTE to 1, new token is NP
|
||||
|
||||
State # 9:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 34
|
||||
NP: -->State 14
|
||||
|
||||
State # 10:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 21
|
||||
|
||||
State # 11:
|
||||
OFWORD, END-OF-INPUT, VERB,
|
||||
ADV, MISCWORD, TOBE, CANDO,
|
||||
COMMA, PARTICLE, PREP,
|
||||
APOSTR: Apply RED-QT to 1, new token is NP
|
||||
ADJ: -->State 12
|
||||
Apply RED-QT to 1, new token is NP
|
||||
NOUN: Apply RED-QT to 1, new token is NP
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-QT to 1, new token is NP
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-QT to 1, new token is NP
|
||||
QUOTE: -->State 8
|
||||
Apply RED-QT to 1, new token is NP
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 20
|
||||
|
||||
State # 12:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 13:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: -->State 19
|
||||
Apply RED-ADJ to 2, new token is ADJ*
|
||||
|
||||
State # 14:
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 15:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 18
|
||||
|
||||
State # 16:
|
||||
MISCWORD: -->State 17
|
||||
|
||||
State # 17:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-POSS to 3, new token is POSSESSIVE
|
||||
|
||||
State # 18:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-OF to 3, new token is NP
|
||||
APOSTR: -->State 16
|
||||
Apply RED-OF to 3, new token is NP
|
||||
OFWORD: -->State 15
|
||||
Apply RED-OF to 3, new token is NP
|
||||
|
||||
State # 19:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-NP to 2, new token is NP
|
||||
|
||||
State # 20:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-QN to 2, new token is NP
|
||||
APOSTR: -->State 16
|
||||
Apply RED-QN to 2, new token is NP
|
||||
OFWORD: -->State 15
|
||||
Apply RED-QN to 2, new token is NP
|
||||
|
||||
State # 21:
|
||||
PARTICLE: -->State 24
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 22:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 2, new token is NPP
|
||||
|
||||
State # 23:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 32
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 31
|
||||
|
||||
State # 24:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 3, new token is ?PERS
|
||||
ADJ: -->State 12
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 3, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 25:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 26:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 3, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 27:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 2, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 28:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 29:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 3, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 30:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 31:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 2, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 32:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 33
|
||||
|
||||
State # 33:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 3, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 34:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: -->State 19
|
||||
Apply RED-ADJ to 2, new token is ADJ*
|
||||
|
||||
State # 35:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 99
|
||||
PREP: -->State 23
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 96
|
||||
PP: -->State 97
|
||||
NP: -->State 98
|
||||
|
||||
State # 36:
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 78
|
||||
BE-FORM: -->State 77
|
||||
|
||||
State # 37:
|
||||
VERB, ADV: Apply RED-CANDO to 1, new token is ?CANDO
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 67
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
BE-FORM: -->State 66
|
||||
|
||||
State # 38:
|
||||
VERB: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: -->State 47
|
||||
?ADV: -->State 63
|
||||
|
||||
State # 39:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
END-OF-INPUT, ADV: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
DIR: -->State 51
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 48
|
||||
?PARTICLE: -->State 49
|
||||
|
||||
State # 40:
|
||||
ADV: -->State 47
|
||||
END-OF-INPUT: Apply RED-FCN to 0, new token is ?ADV
|
||||
?ADV: -->State 46
|
||||
|
||||
State # 41:
|
||||
TOBE: -->State 44
|
||||
Apply RED-FCN to 1, new token is ?QW1
|
||||
CANDO: Apply RED-FCN to 1, new token is ?QW1
|
||||
BE-FORM: -->State 43
|
||||
|
||||
State # 42:
|
||||
END-OF-INPUT, ADV: Apply RED-SD to 1, new token is S
|
||||
|
||||
State # 43:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 45
|
||||
|
||||
State # 44:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, MISCWORD, PARTICLE,
|
||||
PREP: Apply RED-BE-FORM to 1, new token is BE-FORM
|
||||
|
||||
State # 45:
|
||||
END-OF-INPUT, ADV: Apply RED-SQBN to 3, new token is S
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 46:
|
||||
END-OF-INPUT: Apply RED-SP to 3, new token is SP
|
||||
|
||||
State # 47:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, DIR,
|
||||
PARTICLE: Apply RED-FCN to 1, new token is ?ADV
|
||||
|
||||
State # 48:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 61
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
?PARTICLE: -->State 60
|
||||
|
||||
State # 49:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, ADV: Apply RED-SV to 2, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 54
|
||||
|
||||
State # 50:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
OFWORD: -->State 53
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 51:
|
||||
END-OF-INPUT, ADV: Apply RED-SVD to 2, new token is S
|
||||
|
||||
State # 52:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 53:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 54:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 57
|
||||
END-OF-INPUT, ADV: Apply RED-SVN to 3, new token is S
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
COMMA: -->State 25
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 22
|
||||
NP: -->State 4
|
||||
NPP: -->State 55
|
||||
?PARTICLE: -->State 56
|
||||
|
||||
State # 55:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNN to 4, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 56:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 59
|
||||
|
||||
State # 57:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 58:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 59:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNPN to 5, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 60:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 62
|
||||
|
||||
State # 61:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
END-OF-INPUT, ADV: Apply RED-SVNP to 3, new token is S
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 62:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SVNPN to 4, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 63:
|
||||
VERB: -->State 64
|
||||
|
||||
State # 64:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
QUANT, DIR, PARTICLE: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: -->State 47
|
||||
Apply RED-FCN to 0, new token is ?ADV
|
||||
?ADV: -->State 65
|
||||
|
||||
State # 65:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, DIR, PARTICLE: Apply RED-VP to 4, new token is VP
|
||||
|
||||
State # 66:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
Apply RED-NOT to 0, new token is ?NOT
|
||||
?NOT: -->State 70
|
||||
|
||||
State # 67:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
?NOT: -->State 68
|
||||
|
||||
State # 68:
|
||||
VERB, ADV: Apply RED-CANDO to 3, new token is ?CANDO
|
||||
|
||||
State # 69:
|
||||
ARTICLE, QUOTE, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
PARTICLE, PREP: Apply RED-NOT to 1, new token is ?NOT
|
||||
|
||||
State # 70:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 71
|
||||
|
||||
State # 71:
|
||||
ADJ: -->State 75
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 73
|
||||
NP: -->State 4
|
||||
NPP: -->State 74
|
||||
|
||||
State # 72:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 1, new token is ?BE
|
||||
|
||||
State # 73:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBP to 5, new token is S
|
||||
|
||||
State # 74:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SNBN to 5, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 75:
|
||||
ADJ: -->State 12
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SNBA to 5, new token is S
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
PP: -->State 76
|
||||
NP: -->State 14
|
||||
|
||||
State # 76:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBAP to 6, new token is S
|
||||
|
||||
State # 77:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 84
|
||||
NP: -->State 85
|
||||
|
||||
State # 78:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 79
|
||||
NP: -->State 80
|
||||
|
||||
State # 79:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 83
|
||||
|
||||
State # 80:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 82
|
||||
|
||||
State # 81:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-NOT to 1, new token is NOT
|
||||
|
||||
State # 82:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
|
||||
State # 83:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 84:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 91
|
||||
|
||||
State # 85:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
Apply RED-NOT to 0, new token is ?NOT
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 86
|
||||
|
||||
State # 86:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 87
|
||||
|
||||
State # 87:
|
||||
ADJ: -->State 90
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 88
|
||||
NP: -->State 4
|
||||
NPP: -->State 89
|
||||
|
||||
State # 88:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 89:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 90:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 91:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?BE: -->State 92
|
||||
|
||||
State # 92:
|
||||
ADJ: -->State 95
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 93
|
||||
NP: -->State 4
|
||||
NPP: -->State 94
|
||||
|
||||
State # 93:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 94:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 95:
|
||||
ADJ: -->State 12
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 96:
|
||||
END-OF-INPUT, ADV: Apply RED-O-ADJ to 2, new token is S
|
||||
NOUN: -->State 19
|
||||
|
||||
State # 97:
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 2, new token is S
|
||||
|
||||
State # 98:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 2, new token is S
|
||||
PREP: -->State 23
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
PP: -->State 101
|
||||
|
||||
State # 99:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 100
|
||||
NPP: -->State 27
|
||||
|
||||
State # 100:
|
||||
COMMA, PARTICLE, PREP: Apply RED-NPP to 1, new token is NPP
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 3, new token is S
|
||||
Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 101:
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 3, new token is S
|
||||
|
||||
State # 102:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 2, new token is ?PERS
|
||||
ADJ: -->State 12
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 2, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 103:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: -->State 19
|
||||
Apply RED-ADJ to 2, new token is ADJ*
|
|
@ -0,0 +1,901 @@
|
|||
|
||||
State # 1:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 0, new token is ?PERS
|
||||
ADJ: -->State 12
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 0, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
ASKWORD: -->State 10
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 5
|
||||
?PERS: -->State 6
|
||||
SP: -->State 7
|
||||
|
||||
State # 2:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 103
|
||||
NP: -->State 14
|
||||
|
||||
State # 3:
|
||||
NOUN: -->State 19
|
||||
|
||||
State # 4:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 5:
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 102
|
||||
PP: -->State 22
|
||||
|
||||
State # 6:
|
||||
VERB: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
END-OF-INPUT, PARTICLE,
|
||||
PREP: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
ADJ: -->State 12
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
TOBE, CANDO: Apply RED-FCN to 0, new token is ?QW1
|
||||
ADV: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
QUANT: -->State 11
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
DIR: -->State 42
|
||||
QWORD: -->State 41
|
||||
ARTICLE: -->State 9
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
QUOTE: -->State 8
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
O?: -->State 35
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
?QW1: -->State 36
|
||||
NP: -->State 37
|
||||
?CANDO: -->State 38
|
||||
VP: -->State 39
|
||||
S: -->State 40
|
||||
|
||||
State # 7:
|
||||
END-OF-INPUT: DONE
|
||||
|
||||
State # 8:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-QUOTE to 1, new token is NP
|
||||
|
||||
State # 9:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 34
|
||||
NP: -->State 14
|
||||
|
||||
State # 10:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 21
|
||||
|
||||
State # 11:
|
||||
OFWORD, END-OF-INPUT, VERB,
|
||||
ADV, MISCWORD, TOBE, CANDO,
|
||||
COMMA, PARTICLE, PREP,
|
||||
APOSTR: Apply RED-QT to 1, new token is NP
|
||||
ADJ: -->State 12
|
||||
Apply RED-QT to 1, new token is NP
|
||||
NOUN: Apply RED-QT to 1, new token is NP
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-QT to 1, new token is NP
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-QT to 1, new token is NP
|
||||
QUOTE: -->State 8
|
||||
Apply RED-QT to 1, new token is NP
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 20
|
||||
|
||||
State # 12:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 13:
|
||||
NOUN: -->State 19
|
||||
Apply RED-ADJ to 2, new token is ADJ*
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
|
||||
State # 14:
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 15:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 18
|
||||
|
||||
State # 16:
|
||||
MISCWORD: -->State 17
|
||||
|
||||
State # 17:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-POSS to 3, new token is POSSESSIVE
|
||||
|
||||
State # 18:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-OF to 3, new token is NP
|
||||
APOSTR: -->State 16
|
||||
Apply RED-OF to 3, new token is NP
|
||||
OFWORD: -->State 15
|
||||
Apply RED-OF to 3, new token is NP
|
||||
|
||||
State # 19:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-NP to 2, new token is NP
|
||||
|
||||
State # 20:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-QN to 2, new token is NP
|
||||
APOSTR: -->State 16
|
||||
Apply RED-QN to 2, new token is NP
|
||||
OFWORD: -->State 15
|
||||
Apply RED-QN to 2, new token is NP
|
||||
|
||||
State # 21:
|
||||
PARTICLE: -->State 24
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 22:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 2, new token is NPP
|
||||
|
||||
State # 23:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 32
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 31
|
||||
|
||||
State # 24:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 3, new token is ?PERS
|
||||
ADJ: -->State 12
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 3, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 25:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 26:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 3, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 27:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 2, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 28:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 29:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 3, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 30:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 31:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 2, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 32:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 33
|
||||
|
||||
State # 33:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 3, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 34:
|
||||
NOUN: -->State 19
|
||||
Apply RED-ADJ to 2, new token is ADJ*
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
|
||||
State # 35:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
PARTICLE: -->State 99
|
||||
PREP: -->State 23
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 96
|
||||
PP: -->State 97
|
||||
NP: -->State 98
|
||||
|
||||
State # 36:
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 78
|
||||
BE-FORM: -->State 77
|
||||
|
||||
State # 37:
|
||||
VERB, ADV: Apply RED-CANDO to 1, new token is ?CANDO
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 67
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
BE-FORM: -->State 66
|
||||
|
||||
State # 38:
|
||||
VERB: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: -->State 47
|
||||
?ADV: -->State 63
|
||||
|
||||
State # 39:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 50
|
||||
END-OF-INPUT, ADV: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
DIR: -->State 51
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 48
|
||||
?PARTICLE: -->State 49
|
||||
|
||||
State # 40:
|
||||
ADV: -->State 47
|
||||
END-OF-INPUT: Apply RED-FCN to 0, new token is ?ADV
|
||||
?ADV: -->State 46
|
||||
|
||||
State # 41:
|
||||
TOBE: -->State 44
|
||||
Apply RED-FCN to 1, new token is ?QW1
|
||||
CANDO: Apply RED-FCN to 1, new token is ?QW1
|
||||
BE-FORM: -->State 43
|
||||
|
||||
State # 42:
|
||||
END-OF-INPUT, ADV: Apply RED-SD to 1, new token is S
|
||||
|
||||
State # 43:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 45
|
||||
|
||||
State # 44:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, MISCWORD, PARTICLE,
|
||||
PREP: Apply RED-BE-FORM to 1, new token is BE-FORM
|
||||
|
||||
State # 45:
|
||||
END-OF-INPUT, ADV: Apply RED-SQBN to 3, new token is S
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 46:
|
||||
END-OF-INPUT: Apply RED-SP to 3, new token is SP
|
||||
|
||||
State # 47:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, DIR,
|
||||
PARTICLE: Apply RED-FCN to 1, new token is ?ADV
|
||||
|
||||
State # 48:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 61
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
?PARTICLE: -->State 60
|
||||
|
||||
State # 49:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
END-OF-INPUT, ADV: Apply RED-SV to 2, new token is S
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 54
|
||||
|
||||
State # 50:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
OFWORD: -->State 53
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 51:
|
||||
END-OF-INPUT, ADV: Apply RED-SVD to 2, new token is S
|
||||
|
||||
State # 52:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 53:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 54:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 57
|
||||
END-OF-INPUT, ADV: Apply RED-SVN to 3, new token is S
|
||||
PREP: -->State 23
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
COMMA: -->State 25
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 22
|
||||
NP: -->State 4
|
||||
NPP: -->State 55
|
||||
?PARTICLE: -->State 56
|
||||
|
||||
State # 55:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNN to 4, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 56:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 59
|
||||
|
||||
State # 57:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 50
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 58:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 59:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNPN to 5, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 60:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 62
|
||||
|
||||
State # 61:
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 50
|
||||
END-OF-INPUT, ADV: Apply RED-SVNP to 3, new token is S
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 62:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SVNPN to 4, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 63:
|
||||
VERB: -->State 64
|
||||
|
||||
State # 64:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
QUANT, DIR, PARTICLE: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: -->State 47
|
||||
Apply RED-FCN to 0, new token is ?ADV
|
||||
?ADV: -->State 65
|
||||
|
||||
State # 65:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, DIR, PARTICLE: Apply RED-VP to 4, new token is VP
|
||||
|
||||
State # 66:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
Apply RED-NOT to 0, new token is ?NOT
|
||||
?NOT: -->State 70
|
||||
|
||||
State # 67:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
?NOT: -->State 68
|
||||
|
||||
State # 68:
|
||||
VERB, ADV: Apply RED-CANDO to 3, new token is ?CANDO
|
||||
|
||||
State # 69:
|
||||
ARTICLE, QUOTE, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
PARTICLE, PREP: Apply RED-NOT to 1, new token is ?NOT
|
||||
|
||||
State # 70:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 71
|
||||
|
||||
State # 71:
|
||||
ADJ: -->State 75
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 73
|
||||
NP: -->State 4
|
||||
NPP: -->State 74
|
||||
|
||||
State # 72:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 1, new token is ?BE
|
||||
|
||||
State # 73:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBP to 5, new token is S
|
||||
|
||||
State # 74:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SNBN to 5, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 75:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SNBA to 5, new token is S
|
||||
PREP: -->State 23
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
PP: -->State 76
|
||||
NP: -->State 14
|
||||
|
||||
State # 76:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBAP to 6, new token is S
|
||||
|
||||
State # 77:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 84
|
||||
NP: -->State 85
|
||||
|
||||
State # 78:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 79
|
||||
NP: -->State 80
|
||||
|
||||
State # 79:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 83
|
||||
|
||||
State # 80:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 82
|
||||
|
||||
State # 81:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-NOT to 1, new token is NOT
|
||||
|
||||
State # 82:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
|
||||
State # 83:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 84:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 91
|
||||
|
||||
State # 85:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
Apply RED-NOT to 0, new token is ?NOT
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 86
|
||||
|
||||
State # 86:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 87
|
||||
|
||||
State # 87:
|
||||
ADJ: -->State 90
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 88
|
||||
NP: -->State 4
|
||||
NPP: -->State 89
|
||||
|
||||
State # 88:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 89:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 90:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 91:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?BE: -->State 92
|
||||
|
||||
State # 92:
|
||||
ADJ: -->State 95
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 93
|
||||
NP: -->State 4
|
||||
NPP: -->State 94
|
||||
|
||||
State # 93:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 94:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
PREP: -->State 23
|
||||
COMMA: -->State 25
|
||||
PP: -->State 22
|
||||
|
||||
State # 95:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 96:
|
||||
NOUN: -->State 19
|
||||
END-OF-INPUT, ADV: Apply RED-O-ADJ to 2, new token is S
|
||||
|
||||
State # 97:
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 2, new token is S
|
||||
|
||||
State # 98:
|
||||
PARTICLE: -->State 30
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 2, new token is S
|
||||
PREP: -->State 23
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
PP: -->State 101
|
||||
|
||||
State # 99:
|
||||
ADJ: -->State 12
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 100
|
||||
NPP: -->State 27
|
||||
|
||||
State # 100:
|
||||
COMMA, PARTICLE, PREP: Apply RED-NPP to 1, new token is NPP
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 3, new token is S
|
||||
Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 101:
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 3, new token is S
|
||||
|
||||
State # 102:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 2, new token is ?PERS
|
||||
ADJ: -->State 12
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 2, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
QUANT: -->State 11
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 103:
|
||||
NOUN: -->State 19
|
||||
Apply RED-ADJ to 2, new token is ADJ*
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,901 @@
|
|||
|
||||
State # 1:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 0, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 0, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
QUANT: -->State 11
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
ASKWORD: -->State 10
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PERS to 0, new token is ?PERS
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 5
|
||||
?PERS: -->State 6
|
||||
SP: -->State 7
|
||||
|
||||
State # 2:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 103
|
||||
NP: -->State 14
|
||||
|
||||
State # 3:
|
||||
NOUN: -->State 19
|
||||
|
||||
State # 4:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 5:
|
||||
COMMA: -->State 102
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 6:
|
||||
END-OF-INPUT, PARTICLE,
|
||||
PREP: Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
TOBE, CANDO: Apply RED-FCN to 0, new token is ?QW1
|
||||
VERB: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
ADJ: -->State 12
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
ADV: Apply RED-CANDO to 0, new token is ?CANDO
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
QUANT: -->State 11
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
DIR: -->State 42
|
||||
QWORD: -->State 41
|
||||
ARTICLE: -->State 9
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
QUOTE: -->State 8
|
||||
Apply DO-ORPHAN-TEST to 0, new token is O?
|
||||
O?: -->State 35
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
?QW1: -->State 36
|
||||
NP: -->State 37
|
||||
?CANDO: -->State 38
|
||||
VP: -->State 39
|
||||
S: -->State 40
|
||||
|
||||
State # 7:
|
||||
END-OF-INPUT: DONE
|
||||
|
||||
State # 8:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-QUOTE to 1, new token is NP
|
||||
|
||||
State # 9:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 34
|
||||
NP: -->State 14
|
||||
|
||||
State # 10:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 21
|
||||
|
||||
State # 11:
|
||||
OFWORD, END-OF-INPUT, VERB,
|
||||
ADV, MISCWORD, TOBE, CANDO,
|
||||
COMMA, PARTICLE, PREP,
|
||||
APOSTR: Apply RED-QT to 1, new token is NP
|
||||
NOUN: Apply RED-QT to 1, new token is NP
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
Apply RED-QT to 1, new token is NP
|
||||
QUANT: -->State 11
|
||||
Apply RED-QT to 1, new token is NP
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-QT to 1, new token is NP
|
||||
QUOTE: -->State 8
|
||||
Apply RED-QT to 1, new token is NP
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 20
|
||||
|
||||
State # 12:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 13:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: -->State 19
|
||||
Apply RED-ADJ to 2, new token is ADJ*
|
||||
|
||||
State # 14:
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 15:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 18
|
||||
|
||||
State # 16:
|
||||
MISCWORD: -->State 17
|
||||
|
||||
State # 17:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-POSS to 3, new token is POSSESSIVE
|
||||
|
||||
State # 18:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-OF to 3, new token is NP
|
||||
APOSTR: -->State 16
|
||||
Apply RED-OF to 3, new token is NP
|
||||
OFWORD: -->State 15
|
||||
Apply RED-OF to 3, new token is NP
|
||||
|
||||
State # 19:
|
||||
OFWORD, ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP, APOSTR: Apply RED-NP to 2, new token is NP
|
||||
|
||||
State # 20:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
TOBE, CANDO, COMMA,
|
||||
PARTICLE, PREP: Apply RED-QN to 2, new token is NP
|
||||
APOSTR: -->State 16
|
||||
Apply RED-QN to 2, new token is NP
|
||||
OFWORD: -->State 15
|
||||
Apply RED-QN to 2, new token is NP
|
||||
|
||||
State # 21:
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 24
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 22:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 2, new token is NPP
|
||||
|
||||
State # 23:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 32
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 31
|
||||
|
||||
State # 24:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 3, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 3, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
QUANT: -->State 11
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PERS to 3, new token is ?PERS
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 25:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 26:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, COMMA, PARTICLE,
|
||||
PREP: Apply RED-NPP to 3, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 27:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 28:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 29:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 30:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
|
||||
State # 31:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 2, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 2, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 32:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 33
|
||||
|
||||
State # 33:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PP to 3, new token is PP
|
||||
COMMA: -->State 25
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PARTICLE: -->State 30
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PREP: -->State 23
|
||||
Apply RED-PP to 3, new token is PP
|
||||
PP: -->State 22
|
||||
|
||||
State # 34:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: -->State 19
|
||||
Apply RED-ADJ to 2, new token is ADJ*
|
||||
|
||||
State # 35:
|
||||
END-OF-INPUT, NOUN, ADV: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 99
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 96
|
||||
PP: -->State 97
|
||||
NP: -->State 98
|
||||
|
||||
State # 36:
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 78
|
||||
BE-FORM: -->State 77
|
||||
|
||||
State # 37:
|
||||
VERB, ADV: Apply RED-CANDO to 1, new token is ?CANDO
|
||||
TOBE: -->State 44
|
||||
CANDO: -->State 67
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
BE-FORM: -->State 66
|
||||
|
||||
State # 38:
|
||||
VERB: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: -->State 47
|
||||
?ADV: -->State 63
|
||||
|
||||
State # 39:
|
||||
END-OF-INPUT, ADV: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
DIR: -->State 51
|
||||
PARTICLE: -->State 50
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 48
|
||||
?PARTICLE: -->State 49
|
||||
|
||||
State # 40:
|
||||
ADV: -->State 47
|
||||
END-OF-INPUT: Apply RED-FCN to 0, new token is ?ADV
|
||||
?ADV: -->State 46
|
||||
|
||||
State # 41:
|
||||
TOBE: -->State 44
|
||||
Apply RED-FCN to 1, new token is ?QW1
|
||||
CANDO: Apply RED-FCN to 1, new token is ?QW1
|
||||
BE-FORM: -->State 43
|
||||
|
||||
State # 42:
|
||||
END-OF-INPUT, ADV: Apply RED-SD to 1, new token is S
|
||||
|
||||
State # 43:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 45
|
||||
|
||||
State # 44:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, MISCWORD, PARTICLE,
|
||||
PREP: Apply RED-BE-FORM to 1, new token is BE-FORM
|
||||
|
||||
State # 45:
|
||||
END-OF-INPUT, ADV: Apply RED-SQBN to 3, new token is S
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 46:
|
||||
END-OF-INPUT: Apply RED-SP to 3, new token is SP
|
||||
|
||||
State # 47:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, DIR,
|
||||
PARTICLE: Apply RED-FCN to 1, new token is ?ADV
|
||||
|
||||
State # 48:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 61
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
?PARTICLE: -->State 60
|
||||
|
||||
State # 49:
|
||||
END-OF-INPUT, ADV: Apply RED-SV to 2, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 54
|
||||
|
||||
State # 50:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
OFWORD: -->State 53
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 51:
|
||||
END-OF-INPUT, ADV: Apply RED-SVD to 2, new token is S
|
||||
|
||||
State # 52:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 53:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
|
||||
State # 54:
|
||||
END-OF-INPUT, ADV: Apply RED-SVN to 3, new token is S
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 57
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 22
|
||||
NP: -->State 4
|
||||
NPP: -->State 55
|
||||
?PARTICLE: -->State 56
|
||||
|
||||
State # 55:
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNN to 4, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 56:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 59
|
||||
|
||||
State # 57:
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 58:
|
||||
NOUN: Apply RED-PART to 2, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 2, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 29
|
||||
|
||||
State # 59:
|
||||
END-OF-INPUT, ADV: Apply RED-SVPNPN to 5, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 60:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 62
|
||||
|
||||
State # 61:
|
||||
END-OF-INPUT, ADV: Apply RED-SVNP to 3, new token is S
|
||||
NOUN: Apply RED-PART to 0, new token is ?PARTICLE
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUANT: -->State 11
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
PARTICLE: -->State 50
|
||||
OFWORD: -->State 58
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PART to 0, new token is ?PARTICLE
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 4
|
||||
NPP: -->State 27
|
||||
?PARTICLE: -->State 52
|
||||
|
||||
State # 62:
|
||||
END-OF-INPUT, ADV: Apply RED-SVNPN to 4, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 63:
|
||||
VERB: -->State 64
|
||||
|
||||
State # 64:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
QUANT, DIR, PARTICLE: Apply RED-FCN to 0, new token is ?ADV
|
||||
ADV: -->State 47
|
||||
Apply RED-FCN to 0, new token is ?ADV
|
||||
?ADV: -->State 65
|
||||
|
||||
State # 65:
|
||||
ARTICLE, QUOTE,
|
||||
END-OF-INPUT, NOUN, ADJ,
|
||||
ADV, QUANT, DIR, PARTICLE: Apply RED-VP to 4, new token is VP
|
||||
|
||||
State # 66:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
Apply RED-NOT to 0, new token is ?NOT
|
||||
?NOT: -->State 70
|
||||
|
||||
State # 67:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
?NOT: -->State 68
|
||||
|
||||
State # 68:
|
||||
VERB, ADV: Apply RED-CANDO to 3, new token is ?CANDO
|
||||
|
||||
State # 69:
|
||||
ARTICLE, QUOTE, VERB, NOUN,
|
||||
ADJ, ADV, QUANT, MISCWORD,
|
||||
PARTICLE, PREP: Apply RED-NOT to 1, new token is ?NOT
|
||||
|
||||
State # 70:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 71
|
||||
|
||||
State # 71:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 75
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 73
|
||||
NP: -->State 4
|
||||
NPP: -->State 74
|
||||
|
||||
State # 72:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 1, new token is ?BE
|
||||
|
||||
State # 73:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBP to 5, new token is S
|
||||
|
||||
State # 74:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBN to 5, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 75:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBA to 5, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
PP: -->State 76
|
||||
NP: -->State 14
|
||||
|
||||
State # 76:
|
||||
END-OF-INPUT, ADV: Apply RED-SNBAP to 6, new token is S
|
||||
|
||||
State # 77:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 84
|
||||
NP: -->State 85
|
||||
|
||||
State # 78:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
MISCWORD: -->State 81
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NOT: -->State 79
|
||||
NP: -->State 80
|
||||
|
||||
State # 79:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 83
|
||||
|
||||
State # 80:
|
||||
VERB, ADV: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 82
|
||||
|
||||
State # 81:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT: Apply RED-NOT to 1, new token is NOT
|
||||
|
||||
State # 82:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
|
||||
State # 83:
|
||||
VERB, ADV: Apply RED-CANDO to 4, new token is ?CANDO
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 84:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 91
|
||||
|
||||
State # 85:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-NOT to 0, new token is ?NOT
|
||||
MISCWORD: -->State 69
|
||||
Apply RED-NOT to 0, new token is ?NOT
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?NOT: -->State 86
|
||||
|
||||
State # 86:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
?BE: -->State 87
|
||||
|
||||
State # 87:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 90
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 88
|
||||
NP: -->State 4
|
||||
NPP: -->State 89
|
||||
|
||||
State # 88:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 89:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 90:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 91:
|
||||
ARTICLE, QUOTE, NOUN, ADJ,
|
||||
QUANT, PARTICLE, PREP: Apply RED-BE to 0, new token is ?BE
|
||||
MISCWORD: -->State 72
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
?BE: -->State 92
|
||||
|
||||
State # 92:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 95
|
||||
QUANT: -->State 11
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
PP: -->State 93
|
||||
NP: -->State 4
|
||||
NPP: -->State 94
|
||||
|
||||
State # 93:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNP to 6, new token is S
|
||||
|
||||
State # 94:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNN to 6, new token is S
|
||||
COMMA: -->State 25
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
PP: -->State 22
|
||||
|
||||
State # 95:
|
||||
END-OF-INPUT, ADV: Apply RED-SBNA to 6, new token is S
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 13
|
||||
NP: -->State 14
|
||||
|
||||
State # 96:
|
||||
END-OF-INPUT, ADV: Apply RED-O-ADJ to 2, new token is S
|
||||
NOUN: -->State 19
|
||||
|
||||
State # 97:
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 2, new token is S
|
||||
|
||||
State # 98:
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 2, new token is S
|
||||
PARTICLE: -->State 30
|
||||
PREP: -->State 23
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
PP: -->State 101
|
||||
|
||||
State # 99:
|
||||
NOUN: Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
QUANT: -->State 11
|
||||
OFWORD: -->State 28
|
||||
ARTICLE: -->State 9
|
||||
QUOTE: -->State 8
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 100
|
||||
NPP: -->State 27
|
||||
|
||||
State # 100:
|
||||
COMMA, PARTICLE, PREP: Apply RED-NPP to 1, new token is NPP
|
||||
END-OF-INPUT, ADV: Apply RED-O-PP to 3, new token is S
|
||||
Apply RED-NPP to 1, new token is NPP
|
||||
APOSTR: -->State 16
|
||||
OFWORD: -->State 15
|
||||
|
||||
State # 101:
|
||||
END-OF-INPUT, ADV: Apply RED-O-NP to 3, new token is S
|
||||
|
||||
State # 102:
|
||||
END-OF-INPUT, VERB, ADV,
|
||||
DIR, TOBE, QWORD, CANDO,
|
||||
PARTICLE, PREP: Apply RED-PERS to 2, new token is ?PERS
|
||||
NOUN: Apply RED-PERS to 2, new token is ?PERS
|
||||
Apply RED-ADJ to 0, new token is ADJ*
|
||||
ADJ: -->State 12
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
QUANT: -->State 11
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
ARTICLE: -->State 9
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
QUOTE: -->State 8
|
||||
Apply RED-PERS to 2, new token is ?PERS
|
||||
POSSESSIVE: -->State 2
|
||||
ADJ*: -->State 3
|
||||
NP: -->State 26
|
||||
|
||||
State # 103:
|
||||
END-OF-INPUT, ADV: Apply RED-ADJ to 2, new token is ADJ*
|
||||
NOUN: -->State 19
|
||||
Apply RED-ADJ to 2, new token is ADJ*
|
|
@ -0,0 +1,705 @@
|
|||
"SYNTAX for MILLIWAYS
|
||||
Copyright (C) 1988 Infocom, Inc. All rights reserved."
|
||||
|
||||
<SYNONYM WITH USING ;BY>
|
||||
<SYNONYM THROUGH THRU>
|
||||
<SYNONYM ON ONTO>
|
||||
<SYNONYM UNDER BELOW UNDERNEATH BENEATH>
|
||||
<SYNONYM UNTIL TILL>
|
||||
<SYNONYM TO TOWARD>
|
||||
<SYNONYM AROUND ALONG>
|
||||
;<SYNONYM BEFORE NEAR NEXT AGAINST>
|
||||
<SYNONYM ALL BOTH>
|
||||
|
||||
<SYNONYM IN INSIDE INTO>
|
||||
<SYNONYM OUT OUTSIDE>
|
||||
|
||||
<SYNONYM NORTH N FORE F FOREWA>
|
||||
<SYNONYM SOUTH S AFT>
|
||||
<SYNONYM EAST E STARBO SB>
|
||||
<SYNONYM WEST W PORT P>
|
||||
<SYNONYM DOWN D DOWNSTAIRS>
|
||||
<SYNONYM UP U>
|
||||
<DIR-SYNONYM UP UPSTAIRS>
|
||||
<SYNONYM NW NORTHWEST>
|
||||
<SYNONYM NE NORTHEAST>
|
||||
<SYNONYM SW SOUTHWEST>
|
||||
<SYNONYM SE SOUTHEAST>
|
||||
|
||||
<BUZZ NOW SOON ;WELL THERE PLEASE ;MAYBE BACK ANYWAY OH>
|
||||
|
||||
<SYNTAX $ID = V-$ID>
|
||||
<SYNTAX $REFRESH = V-$REFRESH>
|
||||
|
||||
<SYNTAX $VERIFY = V-$VERIFY>
|
||||
<SYNTAX $VERIFY OBJECT = V-$VERIFY>
|
||||
|
||||
%<DEBUG-CODE
|
||||
[ <SYNTAX $CHEAT OBJECT = V-$CHEAT>
|
||||
<SYNTAX \#QUEUE = V-$QUEUE>
|
||||
<SYNTAX \#RANDOM OBJECT = V-$RANDOM>
|
||||
<SYNTAX \#COMMAND = V-$COMMAND>
|
||||
<SYNTAX \#RECORD = V-$RECORD>
|
||||
<SYNTAX \#UNRECORD = V-$UNRECORD>]>
|
||||
|
||||
<SYNTAX ADDRESS OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM MANY) = V-TELL PRE-ASK>
|
||||
|
||||
<VERB-SYNONYM POINT AIM>
|
||||
<SYNTAX POINT ;(AIM) OBJECT AT OBJECT = V-AIM ;PRE-AIM>
|
||||
<SYNTAX POINT OBJECT TO OBJECT = V-AIM ;PRE-AIM>
|
||||
<SYNTAX POINT OBJECT OBJECT = V-AIM ;PRE-AIM>
|
||||
<SYNTAX POINT AT OBJECT = V-SHOW>
|
||||
<SYNTAX POINT AT OBJECT WITH OBJECT = V-SAIM PRE-SAIM>
|
||||
<SYNTAX POINT TO OBJECT = V-SHOW>
|
||||
|
||||
<VERB-SYNONYM CHECK TEST ANALYSE ANALYZE>
|
||||
<SYNTAX CHECK ;(TEST ANALYSE ANALYZE) OBJECT = V-ANALYZE PRE-ANALYZE>
|
||||
<SYNTAX CHECK OBJECT FOR OBJECT = V-ANALYZE PRE-ANALYZE>
|
||||
<SYNTAX CHECK OUT OBJECT = V-ANALYZE PRE-ANALYZE>
|
||||
<SYNTAX CHECK UNDER OBJECT = V-LOOK-UNDER PRE-LOOK-UNDER>
|
||||
<SYNTAX CHECK OBJECT IN OBJECT = V-LOOK-UP>
|
||||
<SYNTAX CHECK OBJECT ON OBJECT = V-SANALYZE PRE-SANALYZE>
|
||||
|
||||
<VERB-SYNONYM ANSWER REPLY RESPOND>
|
||||
<SYNTAX ANSWER ;(REPLY RESPOND) = V-ANSWER>
|
||||
<SYNTAX ANSWER OBJECT = V-REPLY>
|
||||
<SYNTAX ANSWER TO OBJECT = V-REPLY>
|
||||
|
||||
<VERB-SYNONYM ASK QUERY QUESTION INQUIRE CONSULT>
|
||||
<SYNTAX ASK ;(QUERY QUESTION INQUIRE CONSULT)
|
||||
OBJECT (FIND PERSONBIT) = V-ASK PRE-ASK>
|
||||
<SYNTAX ASK ABOUT OBJECT (EVERYWHERE) = V-ASK-CONTEXT-ABOUT PRE-ASK-CONTEXT-ABOUT>
|
||||
<SYNTAX ASK FOR OBJECT (EVERYWHERE) = V-ASK-CONTEXT-FOR PRE-ASK-CONTEXT-FOR>
|
||||
<SYNTAX ASK OBJECT ABOUT OBJECT ;(MANY) (EVERYWHERE) = V-ASK-ABOUT PRE-ASK>
|
||||
<SYNTAX ASK OBJECT FOR OBJECT (EVERYWHERE) = V-ASK-FOR PRE-ASK>
|
||||
<SYNTAX ASK OBJECT ON OBJECT ;(MANY) (EVERYWHERE) = V-ASK-ABOUT PRE-ASK>
|
||||
|
||||
<VERB-SYNONYM ATTACK FIGHT RAPE MOLEST ASSAULT REPEL>
|
||||
<SYNTAX ATTACK OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
<SYNTAX ATTACK OFF OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
<SYNTAX ATTACK OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT ;(FIND WEAPONBIT) (HELD ;CARRIED HAVE TAKE)
|
||||
= V-ATTACK>
|
||||
|
||||
<SYNTAX BRIEF = V-BRIEF>
|
||||
|
||||
;<SYNTAX BRIBE OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (MANY HELD HAVE TAKE)
|
||||
= V-SGIVE PRE-SGIVE>
|
||||
|
||||
<VERB-SYNONYM CLEAN BRUSH WIPE WASH TIDY SCRAPE SCRATCH FRESHEN>
|
||||
<SYNTAX CLEAN OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM MANY)
|
||||
= V-BRUSH PRE-BRUSH>
|
||||
<SYNTAX CLEAN IN OBJECT (ON-GROUND IN-ROOM) = V-BOARD> "WASH IN OBJECT"
|
||||
<SYNTAX CLEAN OBJECT
|
||||
OFF ;OF OBJECT (ON-GROUND IN-ROOM ;MANY)
|
||||
= V-BRUSH PRE-BRUSH>
|
||||
<SYNTAX CLEAN OBJECT (ON-GROUND IN-ROOM MANY)
|
||||
WITH OBJECT (HELD CARRIED TAKE HAVE)
|
||||
= V-BRUSH PRE-BRUSH>
|
||||
<SYNTAX CLEAN OFF OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM MANY)
|
||||
= V-BRUSH PRE-BRUSH>
|
||||
<SYNTAX CLEAN UP OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM MANY)
|
||||
= V-BRUSH PRE-BRUSH>
|
||||
|
||||
<SYNTAX ORDER OBJECT = V-BUY>
|
||||
<SYNONYM ORDER BUY PURCHASE>
|
||||
|
||||
<VERB-SYNONYM CALL SUMMON>
|
||||
<SYNTAX $CALL OBJECT (FIND PERSONBIT) = V-$CALL PRE-ASK>
|
||||
<SYNTAX CALL OBJECT (FIND PERSONBIT) = V-$CALL PRE-ASK>
|
||||
<SYNTAX CALL TO OBJECT (FIND PERSONBIT) = V-$CALL PRE-ASK>
|
||||
|
||||
;"<SYNTAX CHANGE OBJECT (FIND ROOMSBIT) = V-CHANGE>
|
||||
<SYNTAX CHANGE IN OBJECT (FIND WEARBIT) (HAVE TAKE) = V-WEAR>
|
||||
<SYNTAX CHANGE FOR OBJECT (EVERYWHERE) = V-DRESS>
|
||||
<SYNTAX CHANGE TO OBJECT (FIND WEARBIT) (HAVE TAKE) = V-WEAR>"
|
||||
|
||||
<VERB-SYNONYM CLIMB BOARD SCALE>
|
||||
<SYNTAX CLIMB OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM EVERYWHERE) = V-BOARD>
|
||||
<SYNTAX CLIMB DOWN OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM EVERYWHERE) = V-CLIMB-DOWN>
|
||||
<SYNTAX CLIMB IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM EVERYWHERE) = V-BOARD>
|
||||
<SYNTAX CLIMB OFF OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
|
||||
<SYNTAX CLIMB ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<SYNTAX CLIMB OUT OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM EVERYWHERE) = V-DISEMBARK>
|
||||
<SYNTAX CLIMB OVER OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<SYNTAX CLIMB THROUGH OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX CLIMB UP OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM EVERYWHERE) = V-CLIMB-UP>
|
||||
|
||||
<VERB-SYNONYM CLOSE SHUT>
|
||||
<SYNTAX CLOSE OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-CLOSE>
|
||||
<SYNTAX CLOSE OFF OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
= V-LAMP-OFF>
|
||||
|
||||
<SYNTAX COUNT OBJECT = V-COUNT>
|
||||
|
||||
<SYNTAX COVER OBJECT WITH OBJECT (HELD MANY) = V-SPUT-ON>
|
||||
|
||||
<VERB-SYNONYM DAMAGE DEMOLISH DESTROY BREAK SMASH CRUSH CRACK HURT WRECK>
|
||||
<SYNTAX DAMAGE OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
= V-MUNG>
|
||||
<SYNTAX DAMAGE UP OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
= V-MUNG>
|
||||
<SYNTAX DAMAGE OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
WITH OBJECT (HELD CARRIED HAVE TAKE)
|
||||
= V-MUNG>
|
||||
<SYNTAX DAMAGE OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
DOWN ;WITH OBJECT (HELD CARRIED HAVE TAKE)
|
||||
= V-MUNG>
|
||||
<SYNTAX DAMAGE DOWN OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
|
||||
WITH OBJECT (HELD CARRIED HAVE TAKE)
|
||||
= V-MUNG>
|
||||
|
||||
<SYNTAX DIAGNOSE OBJECT (FIND ROOMSBIT) = V-DIAGNOSE>
|
||||
|
||||
<SYNTAX DINE ON OBJECT (FIND ROOMSBIT)
|
||||
(HELD CARRIED ON-GROUND IN-ROOM HAVE TAKE ;MANY)
|
||||
= V-EAT PRE-EAT>
|
||||
|
||||
<SYNONYM DRAPE WRAP>
|
||||
<SYNTAX DRAPE OBJECT IN OBJECT (HELD MANY) = V-SPUT-ON>
|
||||
<SYNTAX DRAPE OBJECT (HELD MANY) ON OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX DRAPE OBJECT (HELD MANY) AROUND OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX DRAPE OBJECT (HELD MANY) OVER OBJECT = V-PUT PRE-PUT>
|
||||
|
||||
<VERB-SYNONYM DRINK SWALLOW SIP GUZZLE>
|
||||
<SYNTAX DRINK OBJECT ;(FIND DRINKBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-DRINK>
|
||||
<SYNTAX DRINK FROM OBJECT (HELD CARRIED) = V-DRINK>
|
||||
|
||||
<SYNTAX DROP OBJECT (HELD MANY HAVE TAKE) = V-DROP PRE-PUT>
|
||||
<SYNTAX DROP OBJECT (HELD ;CARRIED MANY HAVE TAKE) DOWN ;ON OBJECT
|
||||
= V-PUT PRE-PUT>
|
||||
<SYNTAX DROP OBJECT (HELD ;CARRIED MANY HAVE TAKE) IN OBJECT
|
||||
= V-PUT-IN PRE-PUT-IN>
|
||||
<SYNTAX DROP OBJECT (HELD ;CARRIED MANY HAVE TAKE) ON OBJECT
|
||||
= V-PUT PRE-PUT>
|
||||
<SYNTAX DROP OBJECT (HELD ;CARRIED MANY HAVE TAKE)
|
||||
THROUGH OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-THROW-THROUGH PRE-THROW-THROUGH>
|
||||
|
||||
<VERB-SYNONYM EAT TASTE LICK GOBBLE DEVOUR ;CONSUME>
|
||||
<SYNTAX EAT OBJECT (FIND EATBIT) (HELD CARRIED ON-GROUND IN-ROOM HAVE TAKE)
|
||||
= V-EAT PRE-EAT>
|
||||
|
||||
<SYNTAX ENJOY OBJECT = V-ENJOY>
|
||||
|
||||
<SYNTAX ENTER OBJECT (FIND ROOMSBIT) (EVERYWHERE) = V-THROUGH PRE-THROUGH>
|
||||
|
||||
<VERB-SYNONYM EXAMINE X INSPECT DESCRIBE STUDY OBSERVE EXPLORE WATCH>
|
||||
<SYNTAX EXAMINE OBJECT ;(HELD CARRIED IN-ROOM ON-GROUND ;MANY)
|
||||
= V-EXAMINE PRE-EXAMINE>
|
||||
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
THROUGH OBJECT (ON-GROUND IN-ROOM HELD CARRIED HAVE TAKE)
|
||||
= V-READ PRE-READ>
|
||||
<SYNTAX EXAMINE OBJECT ;(HELD CARRIED IN-ROOM ON-GROUND ;MANY)
|
||||
WITH OBJECT (ON-GROUND IN-ROOM HELD CARRIED HAVE TAKE)
|
||||
= V-READ PRE-READ>
|
||||
<SYNTAX EXAMINE UNDER OBJECT = V-LOOK-UNDER PRE-LOOK-UNDER>
|
||||
|
||||
<SYNTAX EXPLAIN OBJECT (EVERYWHERE) = V-TALK-ABOUT PRE-TALK-ABOUT>
|
||||
<SYNTAX EXPLAIN OBJECT TO OBJECT = V-STELL-ABOUT PRE-STELL-ABOUT>
|
||||
<SYNTAX EXPLAIN ABOUT OBJECT (EVERYWHERE) = V-TALK-ABOUT PRE-TALK-ABOUT>
|
||||
<SYNTAX EXPLAIN TO OBJECT (IN-ROOM) ABOUT OBJECT (EVERYWHERE)
|
||||
= V-TELL-ABOUT PRE-TELL-ABOUT>
|
||||
|
||||
<VERB-SYNONYM SLEEP FAINT DOZE NAP SNOOZE>
|
||||
<SYNTAX SLEEP = V-FAINT>
|
||||
<SYNTAX SLEEP IN OBJECT (ON-GROUND IN-ROOM) = V-FAINT>
|
||||
<SYNTAX SLEEP ON OBJECT (ON-GROUND IN-ROOM) = V-FAINT>
|
||||
|
||||
<SYNTAX FIDDLE WITH OBJECT = V-RUB>
|
||||
|
||||
<VERB-SYNONYM FILL FLOOD>
|
||||
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-FILL ;PRE-FILL>
|
||||
<SYNTAX FILL OBJECT ;(FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH OBJECT
|
||||
= V-FILL ;PRE-FILL>
|
||||
|
||||
<VERB-SYNONYM FIND DETECT DISCOVER LOCATE SEEK>
|
||||
<SYNTAX FIND OBJECT ;(MANY) (EVERYWHERE) = V-FIND PRE-FIND>
|
||||
<SYNTAX FIND OBJECT IN OBJECT = V-SSEARCH-FOR PRE-SSEARCH-FOR>
|
||||
<SYNTAX FIND OBJECT ON OBJECT = V-SSEARCH-FOR PRE-SSEARCH-FOR>
|
||||
<SYNTAX FIND OUT OBJECT (EVERYWHERE) = V-ASK-CONTEXT-ABOUT PRE-ASK-CONTEXT-ABOUT>
|
||||
|
||||
<VERB-SYNONYM FIX REPAIR ADJUST UNJAM>
|
||||
<SYNTAX FIX OBJECT = V-FIX>
|
||||
<SYNTAX FIX OBJECT WITH OBJECT ;(FIND TOOLBIT) = V-FIX>
|
||||
|
||||
<VERB-SYNONYM FOLLOW PURSUE CHASE STALK ;TRACE>
|
||||
<SYNTAX FOLLOW OBJECT (FIND PERSONBIT) (EVERYWHERE) = V-FOLLOW>
|
||||
<SYNTAX FOLLOW OBJECT (FIND PERSONBIT) (EVERYWHERE) OBJECT = V-FOLLOW> "Follow me north."
|
||||
<SYNTAX FOLLOW OBJECT (FIND PERSONBIT) (EVERYWHERE) TO OBJECT (EVERYWHERE) = V-FOLLOW> "F. me to office."
|
||||
|
||||
<SYNTAX FOOTNOTE = V-FOOTNOTE>
|
||||
<SYNTAX FOOTNOTE OBJECT = V-FOOTNOTE>
|
||||
|
||||
<SYNTAX GET OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY)
|
||||
= V-TAKE PRE-TAKE>
|
||||
<SYNTAX GET OBJECT (IN-ROOM CARRIED MANY) FROM OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX GET OBJECT (IN-ROOM CARRIED MANY) IN OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX GET OBJECT (CARRIED IN-ROOM MANY) OFF OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX GET OBJECT (CARRIED IN-ROOM MANY) OUT ;OF OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX GET OBJECT ;(FIND TAKEBIT) (MANY TAKE) TO OBJECT (EVERYWHERE) = V-TAKE-TO>
|
||||
<SYNTAX GET IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD>
|
||||
<SYNTAX GET OFF OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
|
||||
<SYNTAX GET ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<SYNTAX GET OUT ;OF OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM EVERYWHERE) = V-DISEMBARK>
|
||||
<SYNTAX GET RID ;OF OBJECT = V-DROP PRE-PUT>
|
||||
<SYNTAX GET UP OBJECT (FIND ROOMSBIT) = V-STAND>
|
||||
|
||||
<VERB-SYNONYM HAND GIVE SELL OFFER PASS FEED ;" DONATE ASSIGN">
|
||||
;<SYNTAX FEED OBJECT (FIND PERSONBIT) = V-FEED>
|
||||
<SYNTAX HAND OBJECT (MANY HELD HAVE) TO OBJECT (FIND PERSONBIT) (ON-GROUND)
|
||||
= V-GIVE PRE-GIVE>
|
||||
<SYNTAX HAND OBJECT ;(FIND PERSONBIT) (ON-GROUND)
|
||||
OBJECT (MANY HELD HAVE)
|
||||
= V-SGIVE PRE-SGIVE>
|
||||
<SYNTAX HAND OUT OBJECT (FIND ROOMSBIT) = V-FAINT>
|
||||
<SYNTAX HAND UP OBJECT (FIND ROOMSBIT) = V-QUIT>
|
||||
|
||||
<SYNTAX HANG ;UP OBJECT (HELD ;CARRIED MANY HAVE TAKE) IN OBJECT
|
||||
= V-PUT-IN PRE-PUT-IN>
|
||||
|
||||
<SYNTAX HEAR OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-LISTEN PRE-LISTEN>
|
||||
|
||||
<VERB-SYNONYM HELLO HI GREET GREETINGS ; HOWDY>
|
||||
<SYNTAX HELLO OBJECT (FIND ROOMSBIT) = V-HELLO PRE-HELLO>
|
||||
|
||||
<VERB-SYNONYM HELP HINT HINTS>
|
||||
<SYNTAX HELP = V-HELP>
|
||||
<SYNTAX HELP OBJECT (FIND PERSONBIT) = V-HELP>
|
||||
|
||||
<VERB-SYNONYM HIDE CONCEAL ;CROUCH>
|
||||
<SYNTAX HIDE = V-HIDE>
|
||||
<SYNTAX HIDE BEHIND OBJECT = V-HIDE>
|
||||
<SYNTAX HIDE IN OBJECT (EVERYWHERE) = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX HIDE ON OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX HIDE UNDER OBJECT = V-HIDE>
|
||||
<SYNTAX HIDE OBJECT (HELD ;CARRIED MANY HAVE TAKE) UNDER OBJECT
|
||||
= V-PUT-UNDER>
|
||||
<SYNTAX HIDE OBJECT (HELD ;CARRIED MANY HAVE TAKE) IN OBJECT
|
||||
= V-PUT-IN PRE-PUT-IN>
|
||||
|
||||
;<SYNONYM HITCHH HITCH>
|
||||
;<SYNTAX HITCHH = V-HITCHHIKE>
|
||||
|
||||
<SYNTAX HOLD OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY)
|
||||
= V-TAKE PRE-TAKE>
|
||||
<SYNTAX HOLD OBJECT (IN-ROOM CARRIED TAKE HAVE) TO OBJECT = V-HOLD-UP>
|
||||
<SYNTAX HOLD OBJECT (IN-ROOM CARRIED TAKE HAVE) UP ;TO OBJECT = V-HOLD-UP>
|
||||
<SYNTAX HOLD UP OBJECT (IN-ROOM CARRIED TAKE HAVE) = V-HOLD-UP>
|
||||
|
||||
<VERB-SYNONYM I INVENT>
|
||||
<SYNTAX I = V-INVENTORY>
|
||||
|
||||
<VERB-SYNONYM JUMP LEAP DIVE>
|
||||
<SYNTAX JUMP = V-LEAP>
|
||||
<SYNTAX JUMP ACROSS OBJECT (ON-GROUND IN-ROOM) = V-LEAP>
|
||||
<SYNTAX JUMP FROM OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
|
||||
<SYNTAX JUMP IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD ;V-LEAP>
|
||||
<SYNTAX JUMP OUT ;OF OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM EVERYWHERE) = V-DISEMBARK>
|
||||
<SYNTAX JUMP OFF OBJECT (FIND ROOMSBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
|
||||
<SYNTAX JUMP OVER OBJECT (ON-GROUND IN-ROOM) = V-LEAP>
|
||||
<SYNTAX JUMP THROUGH OBJECT = V-THROUGH PRE-THROUGH>
|
||||
|
||||
<VERB-SYNONYM MURDER KILL STAB WASTE ;STRANGLE>
|
||||
<SYNTAX MURDER OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND WEAPONBIT) (HELD CARRIED HAVE ;TAKE)
|
||||
= V-KILL>
|
||||
|
||||
<VERB-SYNONYM CONSOLE KISS HUG COMFORT FLIRT>
|
||||
<SYNTAX CONSOLE OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM) = V-KISS>
|
||||
<SYNTAX CONSOLE WITH OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM) = V-KISS>
|
||||
|
||||
<VERB-SYNONYM KNOCK RAP BANG>
|
||||
<SYNTAX KNOCK ON OBJECT = V-KNOCK>
|
||||
<SYNTAX KNOCK AT OBJECT = V-KNOCK>
|
||||
<SYNTAX KNOCK DOWN OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM) = V-ATTACK>
|
||||
<SYNTAX KNOCK OFF OBJECT (FIND PERSONBIT) (IN-ROOM ON-GROUND) = V-PUSH>
|
||||
<SYNTAX KNOCK OUT OBJECT (FIND PERSONBIT) (IN-ROOM ON-GROUND) = V-SLAP>
|
||||
<SYNTAX KNOCK OBJECT (IN-ROOM ON-GROUND MANY) OFF ;OF OBJECT (FIND ROOMSBIT)
|
||||
= V-PUSH>
|
||||
<SYNTAX KNOCK OBJECT ;(FIND PERSONBIT) (IN-ROOM ON-GROUND) ON OBJECT = V-SLAP>
|
||||
|
||||
<VERB-SYNONYM LEAVE EXIT DEPART WITHDRAW>
|
||||
<SYNTAX LEAVE = V-LEAVE>
|
||||
<SYNTAX LEAVE OBJECT (EVERYWHERE) = V-LEAVE>
|
||||
<SYNTAX LEAVE FROM OBJECT (EVERYWHERE) = V-LEAVE>
|
||||
|
||||
<SYNTAX LIE DOWN ;ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-LIE PRE-LIE>
|
||||
<SYNTAX LIE IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-LIE PRE-LIE>
|
||||
<SYNTAX LIE ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-LIE PRE-LIE>
|
||||
|
||||
<SYNTAX LIGHT OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-LAMP-ON>
|
||||
|
||||
<VERB-SYNONYM LISTEN>
|
||||
<SYNTAX LISTEN TO OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-LISTEN PRE-LISTEN>
|
||||
|
||||
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) = V-LOCK>
|
||||
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT (TAKE) = V-LOCK>
|
||||
|
||||
<VERB-SYNONYM LOOK PEEP L STARE GAZE PEEK PEER SEE ;REACH>
|
||||
<SYNTAX LOOK = V-LOOK>
|
||||
<SYNTAX LOOK OBJECT = V-CHASTISE>
|
||||
<SYNTAX LOOK AROUND OBJECT (FIND ROOMSBIT) = V-LOOK>
|
||||
<SYNTAX LOOK AT OBJECT = V-EXAMINE PRE-EXAMINE>
|
||||
<SYNTAX LOOK BEHIND OBJECT = V-LOOK-BEHIND>
|
||||
<SYNTAX LOOK DOWN OBJECT (FIND ROOMSBIT) = V-LOOK-DOWN>
|
||||
<SYNTAX LOOK FOR OBJECT (EVERYWHERE) = V-FIND PRE-FIND>
|
||||
<SYNTAX LOOK IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM) (FIND ROOMSBIT)
|
||||
= V-LOOK-INSIDE PRE-LOOK-INSIDE>
|
||||
<SYNTAX LOOK-INSIDE OBJECT (HELD CARRIED ON-GROUND IN-ROOM) (FIND ROOMSBIT)
|
||||
= V-LOOK-INSIDE PRE-LOOK-INSIDE>
|
||||
<SYNTAX LOOK IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM) FOR OBJECT (EVERYWHERE)
|
||||
= V-SEARCH-FOR PRE-SEARCH-FOR>
|
||||
<SYNTAX LOOK ON OBJECT (ON-GROUND IN-ROOM) = V-LOOK-ON>
|
||||
<SYNTAX LOOK OUT OBJECT (FIND ROOMSBIT) = V-LOOK-OUTSIDE>
|
||||
<SYNTAX LOOK OVER OBJECT ;(HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-EXAMINE PRE-EXAMINE>
|
||||
<SYNTAX LOOK THROUGH OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-LOOK-THROUGH>
|
||||
<SYNTAX LOOK UNDER OBJECT = V-LOOK-UNDER PRE-LOOK-UNDER>
|
||||
<SYNTAX LOOK UP OBJECT (FIND ROOMSBIT) = V-LOOK-UP>
|
||||
<SYNTAX LOOK UP OBJECT IN OBJECT = V-LOOK-UP>
|
||||
|
||||
<VERB-SYNONYM NO NOPE ;" NAY NEGATIVE N">
|
||||
<SYNTAX NO = V-NO>
|
||||
|
||||
<SYNTAX NOD OBJECT (FIND ROOMSBIT) = V-NOD>
|
||||
<SYNTAX NOD AT OBJECT = V-HELLO PRE-HELLO>
|
||||
<SYNTAX NOD TO OBJECT = V-HELLO PRE-HELLO>
|
||||
|
||||
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-OPEN>
|
||||
<SYNTAX OPEN UP OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-OPEN>
|
||||
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
WITH OBJECT ;(FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE TAKE)
|
||||
= V-OPEN>
|
||||
|
||||
<SYNTAX PANIC = V-PANIC>
|
||||
|
||||
<SYNTAX PAY FOR OBJECT = V-BUY>
|
||||
|
||||
<SYNTAX PICK OBJECT (FIND TAKEBIT) (ON-GROUND MANY)
|
||||
= V-TAKE PRE-TAKE>
|
||||
<SYNTAX PICK UP OBJECT (FIND TAKEBIT) (ON-GROUND MANY)
|
||||
= V-TAKE PRE-TAKE>
|
||||
|
||||
<VERB-SYNONYM POUR SPILL SPRINKLE>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED HAVE TAKE) = V-POUR>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED HAVE TAKE) FROM OBJECT = V-POUR>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED HAVE TAKE) IN OBJECT = V-PUT-IN PRE-PUT-IN>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED HAVE TAKE) ON OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX POUR OBJECT (HELD CARRIED HAVE TAKE) OVER OBJECT = V-PUT PRE-PUT>
|
||||
|
||||
<VERB-SYNONYM PULL TUG MOVE>
|
||||
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
||||
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) OBJECT = V-MOVE-DIR PRE-MOVE-DIR>
|
||||
<SYNTAX PULL OBJECT ;(FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||
OFF OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX PULL ON OBJECT (ON-GROUND IN-ROOM) = V-MOVE PRE-MOVE>
|
||||
<SYNTAX PULL TOGETHER OBJECT = V-PULL-TOGETHER> ;"pull myself together"
|
||||
|
||||
<VERB-SYNONYM PUSH PRESS SHOVE>
|
||||
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) = V-PUSH>
|
||||
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) OBJECT = V-MOVE-DIR PRE-MOVE-DIR>
|
||||
<SYNTAX PUSH OBJECT (HELD CARRIED MANY HAVE TAKE) IN OBJECT
|
||||
= V-PUT-IN PRE-PUT-IN>
|
||||
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND MANY) OFF ;OF OBJECT (FIND ROOMSBIT)
|
||||
= V-PUSH>
|
||||
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND MANY) TO OBJECT
|
||||
= V-MOVE-DIR PRE-MOVE-DIR>
|
||||
<SYNTAX PUSH OBJECT (HELD CARRIED MANY HAVE TAKE) UNDER OBJECT = V-PUT-UNDER>
|
||||
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND) = V-PUSH>
|
||||
|
||||
<VERB-SYNONYM PLACE PUT STUFF LAY INSERT SET ;" INSTALL DEPOSIT DIP">
|
||||
<SYNTAX PLACE OBJECT (HELD MANY HAVE TAKE) ON OBJECT (FIND SURFACEBIT)
|
||||
= V-PUT PRE-PUT>
|
||||
<SYNTAX PLACE OBJECT (HELD MANY HAVE TAKE) ACROSS OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX PLACE OBJECT (HELD MANY HAVE TAKE) AROUND OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX PLACE OBJECT (HELD MANY HAVE TAKE) DOWN ;ON OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX PLACE OBJECT (HELD MANY HAVE TAKE) IN OBJECT = V-PUT-IN PRE-PUT-IN>
|
||||
<SYNTAX PLACE OBJECT (HELD MANY HAVE TAKE) OVER OBJECT = V-PUT PRE-PUT>
|
||||
<SYNTAX PLACE OBJECT (HELD MANY HAVE TAKE) THROUGH OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-THROW-THROUGH PRE-THROW-THROUGH>
|
||||
<SYNTAX PLACE OBJECT (HELD MANY HAVE TAKE) UNDER OBJECT = V-PUT-UNDER>
|
||||
<SYNTAX PLACE AWAY OBJECT(HELD MANY HAVE TAKE) IN OBJECT = V-PUT-IN PRE-PUT-IN>
|
||||
<SYNTAX PLACE DOWN OBJECT (HELD MANY HAVE) = V-DROP PRE-PUT>
|
||||
|
||||
<SYNTAX PLAY OBJECT = V-PLAY>
|
||||
<SYNTAX PLAY WITH OBJECT = V-PLAY>
|
||||
<SYNTAX PLAY OBJECT WITH OBJECT (FIND PERSONBIT) = V-PLAY>
|
||||
|
||||
<VERB-SYNONYM QUIT Q LOGOUT LOGOFF>
|
||||
<SYNTAX QUIT = V-QUIT>
|
||||
|
||||
<VERB-SYNONYM READ SKIM ;PERUSE>
|
||||
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
= V-READ PRE-READ>
|
||||
<SYNTAX READ OBJECT ;(FIND PERSONBIT)
|
||||
OBJECT (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
= V-SREAD PRE-SREAD>
|
||||
<SYNTAX READ OBJECT (HELD CARRIED ON-GROUND IN-ROOM TAKE)
|
||||
TO OBJECT ;(FIND PERSONBIT)
|
||||
= V-READ PRE-READ>
|
||||
<SYNTAX READ ABOUT OBJECT
|
||||
IN OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM TAKE HAVE)
|
||||
= V-LOOK-UP>
|
||||
|
||||
<SYNTAX REFUSE OBJECT (IN-ROOM) = V-REFUSE>
|
||||
|
||||
<VERB-SYNONYM RELAX MEDITATE REST>
|
||||
<SYNTAX RELAX = V-RELAX>
|
||||
|
||||
<VERB-SYNONYM REMOVE DOFF ;SHED>
|
||||
<SYNTAX REMOVE OBJECT (FIND WORNBIT) = V-REMOVE>
|
||||
<SYNTAX REMOVE OBJECT ;(FIND TAKEBIT) (IN-ROOM CARRIED MANY)
|
||||
FROM OBJECT = V-TAKE PRE-TAKE>
|
||||
|
||||
<SYNTAX REQUEST OBJECT (EVERYWHERE) = V-ASK-CONTEXT-FOR PRE-ASK-CONTEXT-FOR>
|
||||
|
||||
<SYNTAX RESTART = V-RESTART>
|
||||
|
||||
<VERB-SYNONYM RESTORE ;CONTINUE RESUME>
|
||||
<SYNTAX RESTORE = V-RESTORE>
|
||||
|
||||
|
||||
<VERB-SYNONYM RING ;PEAL BLOW BLAST HONK TOOT BEEP>
|
||||
<SYNTAX RING OBJECT ;(FIND ROOMSBIT) = V-RING>
|
||||
<SYNTAX RING ON OBJECT = V-RING>
|
||||
<SYNTAX RING OBJECT (HELD CARRIED HAVE TAKE) AT OBJECT
|
||||
= V-SSHOOT PRE-SSHOOT> "BLOW BLOWGUN AT person"
|
||||
<SYNTAX RING OBJECT WITH OBJECT = V-RING>
|
||||
|
||||
<VERB-SYNONYM RUB TOUCH FEEL ;" PAT PET SHADE">
|
||||
<SYNTAX RUB OBJECT = V-RUB>
|
||||
<SYNTAX RUB OBJECT WITH OBJECT (TAKE HAVE) = V-RUB>
|
||||
|
||||
<SYNTAX SAVE = V-SAVE>
|
||||
<SYNTAX SAVE OBJECT ;(FIND PERSONBIT) = V-HELP>
|
||||
|
||||
<VERB-SYNONYM SAY TALK SPEAK WHISPER STATE CHAT GAB>
|
||||
;<SYNTAX SAY = V-SAY>
|
||||
<SYNTAX SAY OBJECT TO OBJECT (FIND PERSONBIT) (IN-ROOM) = V-SAY>
|
||||
<SYNTAX SAY OBJECT = V-SAY>
|
||||
<SYNTAX SAY ABOUT OBJECT (EVERYWHERE) = V-TALK-ABOUT PRE-TALK-ABOUT>
|
||||
<SYNTAX SAY TO OBJECT (ON-GROUND IN-ROOM MANY) = V-TELL PRE-ASK>
|
||||
<SYNTAX SAY TO OBJECT (IN-ROOM) ABOUT OBJECT (EVERYWHERE)
|
||||
= V-TELL-ABOUT PRE-TELL-ABOUT>
|
||||
<SYNTAX SAY WITH OBJECT (ON-GROUND IN-ROOM MANY) = V-TELL PRE-ASK>
|
||||
<SYNTAX SAY WITH OBJECT (IN-ROOM) ABOUT OBJECT (EVERYWHERE)
|
||||
= V-ASK-ABOUT PRE-ASK>
|
||||
|
||||
<SYNTAX SCORE = V-SCORE>
|
||||
|
||||
<SYNTAX SCRIPT = V-SCRIPT>
|
||||
|
||||
<VERB-SYNONYM SEARCH DIG RUMMAGE FRISK>
|
||||
<SYNTAX SEARCH OBJECT = V-SEARCH PRE-SEARCH>
|
||||
<SYNTAX SEARCH OBJECT FOR OBJECT (EVERYWHERE)
|
||||
= V-SEARCH-FOR PRE-SEARCH-FOR>
|
||||
<SYNTAX SEARCH FOR OBJECT (EVERYWHERE) = V-FIND PRE-FIND>
|
||||
<SYNTAX SEARCH IN OBJECT = V-SEARCH PRE-SEARCH>
|
||||
<SYNTAX SEARCH UNDER OBJECT = V-LOOK-UNDER PRE-LOOK-UNDER>
|
||||
<SYNTAX SEARCH UP OBJECT = V-SEARCH PRE-SEARCH>
|
||||
|
||||
<VERB-SYNONYM SHAKE RATTLE>
|
||||
<SYNTAX SHAKE OBJECT = V-SHAKE>
|
||||
<SYNTAX SHAKE OBJECT WITH OBJECT (FIND PERSONBIT) = V-SHAKE> ;"SHAKE HANDS"
|
||||
|
||||
<VERB-SYNONYM FIRE SHOOT SPRAY>
|
||||
<SYNTAX FIRE OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
= V-SHOOT>
|
||||
<SYNTAX FIRE OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT ;(FIND WEAPONBIT) (HELD CARRIED HAVE ;TAKE)
|
||||
= V-SHOOT>
|
||||
<SYNTAX FIRE OBJECT ;(FIND WEAPONBIT) (HELD CARRIED HAVE ;TAKE)
|
||||
AT OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
= V-SSHOOT PRE-SSHOOT>
|
||||
<SYNTAX FIRE OBJECT ;(FIND WEAPONBIT) (HELD CARRIED HAVE ;TAKE)
|
||||
ON OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
= V-SSHOOT PRE-SSHOOT>
|
||||
<SYNTAX FIRE AT OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
= V-SHOOT>
|
||||
|
||||
<VERB-SYNONYM SHOW DISPLAY>
|
||||
<SYNTAX SHOW OBJECT = V-SHOW>
|
||||
<SYNTAX SHOW OBJECT (HELD MANY HAVE) TO OBJECT ;(FIND PERSONBIT) = V-SHOW>
|
||||
<SYNTAX SHARE OBJECT = V-SHOW>
|
||||
<SYNTAX SHARE OBJECT WITH OBJECT = V-SHOW>
|
||||
<SYNTAX SHOW OBJECT ;(FIND PERSONBIT) OBJECT (HELD MANY HAVE)
|
||||
= V-SSHOW PRE-SSHOW>
|
||||
|
||||
<VERB-SYNONYM SIT ;" CROUCH HUNKER SQUAT STOOP">
|
||||
<SYNTAX SIT ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-SIT PRE-SIT>
|
||||
<SYNTAX SIT AT OBJECT (ON-GROUND IN-ROOM) = V-SIT-AT>
|
||||
<SYNTAX SIT BESIDE OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM) = V-SIT-AT>
|
||||
<SYNTAX SIT DOWN ;ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-SIT PRE-SIT>
|
||||
<SYNTAX SIT IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-SIT PRE-SIT>
|
||||
|
||||
<VERB-SYNONYM PUNCH SLAP HIT KICK ;" HURT INJURE STRIKE BITE BEAT">
|
||||
<SYNTAX PUNCH OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM) = V-SLAP>
|
||||
<SYNTAX PUNCH OBJECT (ON-GROUND IN-ROOM) AROUND OBJECT (FIND ROOMSBIT)= V-SLAP>
|
||||
<SYNTAX PUNCH OBJECT (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM HAVE TAKE) = V-SLAP>
|
||||
|
||||
<SYNTAX SLIDE OBJECT = V-PUSH>
|
||||
<SYNTAX SLIDE OBJECT (HELD MANY HAVE TAKE) UNDER OBJECT
|
||||
= V-PUT-UNDER>
|
||||
<SYNTAX SLIDE OBJECT (HELD MANY HAVE TAKE) IN OBJECT
|
||||
= V-PUT-IN PRE-PUT-IN>
|
||||
|
||||
<VERB-SYNONYM SMELL SNIFF ;WHIFF>
|
||||
<SYNTAX SMELL OBJECT = V-SMELL>
|
||||
|
||||
<VERB-SYNONYM SMILE GRIN WINK>
|
||||
<SYNTAX SMILE AT OBJECT (FIND PERSONBIT) = V-SMILE>
|
||||
|
||||
<VERB-SYNONYM SORRY APOLOGIZE>
|
||||
<SYNTAX SORRY OBJECT ;(MANY) (FIND ROOMSBIT) = V-SORRY PRE-HELLO>
|
||||
<SYNTAX SORRY TO OBJECT ;(MANY) (FIND ROOMSBIT) = V-SORRY PRE-HELLO>
|
||||
|
||||
<SYNTAX SOUND OBJECT = V-RING>
|
||||
|
||||
<SYNTAX STAND = V-STAND>
|
||||
<SYNTAX STAND IN OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<SYNTAX STAND ON OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
|
||||
<SYNTAX STAND UP OBJECT (FIND ROOMSBIT) = V-STAND>
|
||||
|
||||
<VERB-SYNONYM START ACTIVATE>
|
||||
<SYNTAX START OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-ON>
|
||||
<SYNTAX START OVER OBJECT (FIND ROOMSBIT) = V-RESTART>
|
||||
|
||||
<VERB-SYNONYM PARK STOP>
|
||||
<SYNTAX PARK OBJECT (FIND ROOMSBIT) = V-STOP>
|
||||
|
||||
<SYNTAX SUPERBRIEF = V-SUPER-BRIEF>
|
||||
|
||||
<VERB-SYNONYM SWIM WADE BATHE>
|
||||
<SYNTAX SWIM IN OBJECT = V-SWIM>
|
||||
|
||||
<VERB-SYNONYM TAKE CARRY STEAL SEIZE GRAB ;CONFISCATE PRY RAISE LIFT>
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY)
|
||||
= V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (CARRIED IN-ROOM MANY) FROM OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (CARRIED IN-ROOM MANY) IN OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (CARRIED IN-ROOM MANY) OFF OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (CARRIED IN-ROOM MANY) ON OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (CARRIED IN-ROOM MANY) OUT ;OF OBJECT = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (IN-ROOM CARRIED TAKE HAVE) UP ;TO OBJECT = V-HOLD-UP>
|
||||
<SYNTAX TAKE OFF OBJECT (FIND WORNBIT) ;(HAVE) = V-TAKE-OFF>
|
||||
<SYNTAX TAKE OUT OBJECT (CARRIED IN-ROOM MANY) = V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE UP OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY)
|
||||
= V-TAKE PRE-TAKE>
|
||||
|
||||
<SYNTAX TELL OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM MANY) = V-TELL PRE-ASK>
|
||||
<SYNTAX TELL OBJECT (IN-ROOM) OBJECT (EVERYWHERE) = V-TELL-ABOUT PRE-TELL-ABOUT>
|
||||
<SYNTAX TELL OBJECT (IN-ROOM) ABOUT OBJECT ;(MANY) (EVERYWHERE)
|
||||
= V-TELL-ABOUT PRE-TELL-ABOUT>
|
||||
<SYNTAX TELL ABOUT OBJECT ;(MANY) (EVERYWHERE) = V-TALK-ABOUT PRE-TALK-ABOUT>
|
||||
|
||||
<VERB-SYNONYM THANK THANKS>
|
||||
<SYNTAX THANK = V-THANK>
|
||||
<SYNTAX THANK OBJECT = V-THANK>
|
||||
[
|
||||
<VERB-SYNONYM THROW HURL TOSS>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED HAVE TAKE)
|
||||
AT OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
= V-THROW-AT>
|
||||
<SYNTAX THROW AWAY OBJECT (HELD CARRIED HAVE) = V-DROP PRE-PUT>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED HAVE TAKE)
|
||||
AGAINST OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-THROW-AT>
|
||||
<SYNTAX THROW OBJECT (HELD MANY HAVE TAKE) IN OBJECT = V-PUT-IN PRE-PUT-IN>
|
||||
<SYNTAX THROW OBJECT (HELD MANY HAVE TAKE)
|
||||
ON OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
|
||||
= V-PUT PRE-PUT>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED HAVE TAKE)
|
||||
OUT ;OF OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-THROW-THROUGH PRE-THROW-THROUGH>
|
||||
<SYNTAX THROW OBJECT (HELD ;CARRIED MANY HAVE TAKE)
|
||||
OVER OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-PUT PRE-PUT>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED HAVE TAKE)
|
||||
THROUGH OBJECT (ON-GROUND IN-ROOM)
|
||||
= V-THROW-THROUGH PRE-THROW-THROUGH>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED HAVE TAKE)
|
||||
TO OBJECT (FIND PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
= V-THROW-AT>
|
||||
<SYNTAX THROW OBJECT (HELD CARRIED HAVE TAKE)
|
||||
UP OBJECT (FIND ROOMSBIT)
|
||||
= V-THROW-AT>
|
||||
<SYNTAX THROW IN OBJECT = V-THROW-IN-TOWEL>
|
||||
]
|
||||
|
||||
;<SYNTAX TRY ON OBJECT (FIND WEARBIT) (HAVE TAKE) = V-WEAR>
|
||||
|
||||
<VERB-SYNONYM SWITCH TURN FLIP FLICK TOGGLE ;SWING>
|
||||
<SYNTAX SWITCH OBJECT = V-TURN>
|
||||
<SYNTAX SWITCH AROUND OBJECT (FIND ROOMSBIT) = V-TURN>
|
||||
<SYNTAX SWITCH OFF OBJECT (FIND LIGHTBIT) (TAKE) = V-LAMP-OFF>
|
||||
<SYNTAX SWITCH ON OBJECT (FIND LIGHTBIT) = V-LAMP-ON>
|
||||
<SYNTAX SWITCH OBJECT TO OBJECT = V-AIM ;PRE-AIM>
|
||||
|
||||
<SYNTAX UNDO = V-UNDO>
|
||||
|
||||
<SYNTAX UNLOCK OBJECT (ON-GROUND IN-ROOM) = V-UNLOCK>
|
||||
<SYNTAX UNLOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT (HAVE) = V-UNLOCK>
|
||||
|
||||
<SYNTAX UNSCRIPT = V-UNSCRIPT>
|
||||
|
||||
<SYNTAX USE OBJECT = V-USE>
|
||||
<SYNTAX USE OBJECT AGAINST OBJECT = V-USE>
|
||||
<SYNTAX USE OBJECT ON OBJECT = V-USE>
|
||||
|
||||
<SYNTAX VERBOSE = V-VERBOSE>
|
||||
|
||||
<VERB-SYNONYM RELEASE REVISION VERSION ;EDITION VARIATION>
|
||||
<SYNTAX RELEASE = V-VERSION>
|
||||
;"<SYNTAX RELEASE OBJECT = V-UNTIE>"
|
||||
|
||||
<VERB-SYNONYM WAIT Z STAY PAUSE>
|
||||
<SYNTAX WAIT OBJECT (FIND ROOMSBIT) = V-WAIT-FOR>
|
||||
<SYNTAX WAIT FOR OBJECT (FIND ROOMSBIT) (EVERYWHERE) = V-WAIT-FOR>
|
||||
<SYNTAX WAIT UNTIL OBJECT = V-WAIT-UNTIL>
|
||||
|
||||
<VERB-SYNONYM WAKE AWAKE ROUSE SURPRISE STARTLE>
|
||||
<SYNTAX WAKE OBJECT (FIND ROOMSBIT ;PERSONBIT) (ON-GROUND IN-ROOM) = V-ALARM>
|
||||
<SYNTAX WAKE UP OBJECT (FIND ROOMSBIT ;PERSONBIT) (ON-GROUND IN-ROOM)
|
||||
= V-ALARM>
|
||||
[
|
||||
<VERB-SYNONYM HEAD WALK GO COME RUN PROCEED STEER DRIVE RETURN STEP APPROACH>
|
||||
<SYNTAX HEAD = V-WALK-AROUND>
|
||||
<SYNTAX HEAD OBJECT = V-WALK>
|
||||
<SYNTAX HEAD AFTER OBJECT (EVERYWHERE) = V-FOLLOW>
|
||||
<SYNTAX HEAD AROUND OBJECT = V-WALK-AROUND>
|
||||
<SYNTAX HEAD AWAY ;FROM OBJECT (FIND ROOMSBIT) (EVERYWHERE) = V-LEAVE>
|
||||
<SYNTAX HEAD BEHIND OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX HEAD DOWN OBJECT (EVERYWHERE) = V-CLIMB-DOWN>
|
||||
<SYNTAX HEAD IN OBJECT (EVERYWHERE) = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX HEAD OFF ;TO OBJECT (EVERYWHERE) = V-WALK-TO>
|
||||
<SYNTAX HEAD ON OBJECT = V-WALK-AROUND>
|
||||
<SYNTAX HEAD OUT ;OF OBJECT (EVERYWHERE) = V-LEAVE>
|
||||
<SYNTAX HEAD OVER OBJECT = V-LEAP>
|
||||
<SYNTAX HEAD THROUGH OBJECT (EVERYWHERE) = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX HEAD TO OBJECT (EVERYWHERE) = V-WALK-TO>
|
||||
<SYNTAX HEAD UP OBJECT (EVERYWHERE) = V-CLIMB-UP>
|
||||
<SYNTAX HEAD WITH OBJECT (EVERYWHERE) = V-FOLLOW>
|
||||
<SYNTAX HEAD OBJECT OVER OBJECT = V-RUN-OVER>
|
||||
<SYNTAX HEAD OBJECT THROUGH OBJECT (EVERYWHERE) = V-THROUGH PRE-THROUGH>
|
||||
]
|
||||
|
||||
<VERB-SYNONYM YELL SCREAM SHOUT HOWL>
|
||||
<SYNTAX YELL = V-YELL>
|
||||
<SYNTAX YELL AT OBJECT (ON-GROUND IN-ROOM EVERYWHERE MANY) = V-TELL PRE-ASK>
|
||||
<SYNTAX YELL IN OBJECT = V-YELL>
|
||||
<SYNTAX YELL TO OBJECT (ON-GROUND IN-ROOM EVERYWHERE MANY) = V-TELL PRE-ASK>
|
||||
|
||||
<VERB-SYNONYM YES Y OK OKAY SURE YUP YEP YEAH AYE INDEED>
|
||||
<SYNTAX YES = V-YES>
|
|
@ -0,0 +1,73 @@
|
|||
|
||||
<DEFINE-ROUTINE RANDOM-PSEUDO>
|
||||
<OBJECT SCREWDRIVER (LOC PLAYER) (DESC "flathead screwdriver") (SYNONYM
|
||||
SCREWDRIV TOOL TOOLS) (ADJECTIVE FLATHEAD PROPER) (FLAGS TAKEBIT TOOLBIT) (SIZE
|
||||
3)>
|
||||
<OBJECT TOOTHBRUSH (LOC PLAYER) (OWNER PLAYER) (DESC "toothbrush") (ADJECTIVE
|
||||
TOOTH MY PROPER) (SYNONYM TOOTHBRUSH BRUSH TOOL TOOLS) (FLAGS TAKEBIT
|
||||
TRYTAKEBIT TOOLBIT) (SIZE 3) (ACTION TOOTHBRUSH-F)>
|
||||
<DEFINE-ROUTINE TOOTHBRUSH-F>
|
||||
<OBJECT GOWN (LOC PLAYER) (OWNER PLAYER) (DESC "your gown") (ADJECTIVE MY
|
||||
DRESSING TATTY FADED BATTERED) (SYNONYM GOWN POCKET ROBE LOOP) (FLAGS WORNBIT
|
||||
WEARBIT TAKEBIT CONTBIT NARTICLEBIT SEARCHBIT) (SIZE 15) (CAPACITY 14) (ACTION
|
||||
GOWN-F)>
|
||||
<DEFINE-ROUTINE GOWN-F>
|
||||
<OBJECT SLEEVES (LOC GLOBAL-OBJECTS) (DESC "sleeve") (SYNONYM SLEEVE) (ACTION
|
||||
SLEEVES-F)>
|
||||
<DEFINE-ROUTINE SLEEVES-F>
|
||||
<OBJECT THING (LOC GOWN) (DESC
|
||||
"thing your aunt gave you which you don't know what it is") (ADJECTIVE AUNT\'S)
|
||||
(SYNONYM THING GIFT) (FLAGS TAKEBIT CONTBIT SEARCHBIT OPENBIT) (SIZE 6) (
|
||||
CAPACITY 90) (ACTION THING-F)>
|
||||
<DEFINE-ROUTINE THING-F>
|
||||
<CONSTANT GET-RID " you've been trying to get rid of it for years.">
|
||||
<DEFINE-ROUTINE I-THING>
|
||||
<OBJECT GUIDE (LOC SATCHEL) (DESC "The Hitchhiker's Guide") (DESCFCN
|
||||
GUIDE-DESCFCN) (ADJECTIVE HITCHHIKER\'S SUB-ETHA) (SYNONYM COPY GUIDE) (SIZE 10
|
||||
) (FLAGS NARTICLEBIT TAKEBIT READBIT) (TEXT
|
||||
"Try: CONSULT GUIDE ABOUT (something).") (ACTION GUIDE-F)>
|
||||
<DEFINE-ROUTINE GUIDE-DESCFCN>
|
||||
<DEFINE-ROUTINE GUIDE-F>
|
||||
<CONSTANT GUIDE-NAME "The Hitchhiker's Guide to the Galaxy">
|
||||
<CONSTANT ALREADY-KNOW-THAT
|
||||
" But then again you must already know that, since you bought one.">
|
||||
<CONSTANT WITH-TOWEL "With a towel wrapped around your head!?!">
|
||||
<CONSTANT AGENCY "Galactic Security Agency">
|
||||
<CONSTANT GPP "Genuine People Personalities">
|
||||
<OBJECT BABEL-FISH (LOC PLAYER) (DESC "babel fish") (ADJECTIVE BABEL) (SYNONYM
|
||||
FISH) (FLAGS TRYTAKEBIT WORNBIT) (ACTION BABEL-FISH-F)>
|
||||
<DEFINE-ROUTINE BABEL-FISH-F>
|
||||
<OBJECT TOWEL (LOC FORD) (DESC "towel") (SYNONYM TOWEL TOWELS) (FLAGS TAKEBIT
|
||||
TRYTAKEBIT) (SIZE 7) (CAPACITY 40) (ACTION TOWEL-F)>
|
||||
<DEFINE-ROUTINE TOWEL-F>
|
||||
<OBJECT SATCHEL (LOC FORD) (OWNER FORD) (DESC "satchel") (DESCFCN
|
||||
SATCHEL-DESCFCN) (ADJECTIVE BATTERED LEATHER BULKY) (SYNONYM SATCHEL) (FLAGS
|
||||
CONTBIT SEARCHBIT TAKEBIT TRYTAKEBIT) (CAPACITY 30) (SIZE 20) (ACTION SATCHEL-F
|
||||
)>
|
||||
<DEFINE-ROUTINE SATCHEL-DESCFCN>
|
||||
<GLOBAL ITEM-ON-SATCHEL:OBJECT 0>
|
||||
<DEFINE-ROUTINE ITEM-ON-SATCHEL-DESCRIPTION>
|
||||
<DEFINE-ROUTINE SATCHEL-F>
|
||||
<DEFINE-ROUTINE PRIVATE>
|
||||
<ROOM GARGLE-BLASTER (LOC GLOBAL-OBJECTS) (DESC "Pan-Galactic Gargle Blaster")
|
||||
(ADJECTIVE PAN-GALACTIC GARGLE) (SYNONYM BLASTER)>
|
||||
<ROOM SCC (LOC GLOBAL-OBJECTS) (DESC "Sirius Cybernetics Corporation") (
|
||||
ADJECTIVE SIRIUS CYBERNETICS) (SYNONYM CORPORATION SCC)>
|
||||
<OBJECT HEART-OF-GOLD (LOC LOCAL-GLOBALS) (DESC "the Heart of Gold") (ADJECTIVE
|
||||
SPACE INCREDIBLE NEW) (SYNONYM HEART GOLD SHIP SPACESHIP) (FLAGS NARTICLEBIT)>
|
||||
<OBJECT GAME (LOC GLOBAL-OBJECTS) (DESC "MILLIWAYS") (SYNONYM GAME MILLIWAYS) (
|
||||
FLAGS NARTICLEBIT) (ACTION GAME-F)>
|
||||
<DEFINE-ROUTINE GAME-F>
|
||||
<OBJECT DINNER (LOC PUB) (OWNER PLAYER) (DESC "your dinner") (ADJECTIVE COVERED
|
||||
MY) (SYNONYM DINNER FOOD DISHES PLATE) (FLAGS NARTICLEBIT TRYTAKEBIT) (SIZE 10)
|
||||
(DESCFCN DINNER-D) (ACTION DINNER-F)>
|
||||
<DEFINE-ROUTINE DINNER-D>
|
||||
<DEFINE-ROUTINE DINNER-F>
|
||||
<OBJECT RED-FROB (LOC RAMP) (DESC "red frob") (ADJECTIVE RED) (SYNONYM FROB
|
||||
FROBS) (FLAGS TAKEBIT) (SIZE 1)>
|
||||
<OBJECT GREEN-FROB (LOC RAMP) (DESC "green frob") (ADJECTIVE GREEN) (SYNONYM
|
||||
FROB FROBS) (FLAGS TAKEBIT) (SIZE 1)>
|
||||
<OBJECT BIG-BLUE-FROB (LOC THING) (DESC "big blue frob") (ADJECTIVE BIG BLUE) (
|
||||
SYNONYM FROB FROBS) (FLAGS TAKEBIT) (SIZE 1)>
|
||||
<OBJECT SMALL-BLUE-FROB (LOC THING) (DESC "small blue frob") (ADJECTIVE SMALL
|
||||
BLUE) (SYNONYM FROB FROBS) (FLAGS TAKEBIT) (SIZE 1)>
|
|
@ -0,0 +1,254 @@
|
|||
|
||||
|
||||
.FUNCT RANDOM-PSEUDO:ANY:0:0
|
||||
EQUAL? PRSA,V?TELL-ABOUT,V?LOOK-UNDER /FALSE
|
||||
EQUAL? PRSA,V?LOOK-BEHIND,V?ASK-CONTEXT-ABOUT,V?ASK-ABOUT /FALSE
|
||||
EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?EXAMINE \?CCL7
|
||||
ICALL1 NOTHING-SPECIAL
|
||||
RTRUE
|
||||
?CCL7: CALL1 WONT-HELP
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT TOOTHBRUSH-F:ANY:0:0
|
||||
EQUAL? PRSA,V?TAKE \FALSE
|
||||
FSET? TOOTHBRUSH,TOUCHBIT /FALSE
|
||||
MOVE TOOTHBRUSH,PLAYER
|
||||
FSET TOOTHBRUSH,TOUCHBIT
|
||||
FCLEAR TOOTHBRUSH,TRYTAKEBIT
|
||||
PRINTI "As you pick up the "
|
||||
PRINTD TOOTHBRUSH
|
||||
PRINTR " a tree outside the window collapses. There is no causal relationship between these two events."
|
||||
|
||||
|
||||
.FUNCT GOWN-F:ANY:0:0
|
||||
EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL3
|
||||
FSET? GOWN,WORNBIT /?CCL3
|
||||
PRINTR "It's hard to open or close the pocket unless you're wearing the gown."
|
||||
?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
PRINTI "The dressing gown is faded and battered, and is clearly a garment which has seen better decades. It has a pocket which is "
|
||||
FSET? GOWN,OPENBIT \?CCL10
|
||||
PRINTI "open"
|
||||
JUMP ?CND8
|
||||
?CCL10: PRINTI "closed"
|
||||
?CND8: PRINTR ", and a small loop at the back of the collar."
|
||||
|
||||
|
||||
.FUNCT SLEEVES-F:ANY:0:0
|
||||
CALL2 VISIBLE?,GOWN
|
||||
ZERO? STACK \?CCL3
|
||||
CALL2 NOT-HERE,SLEEVES
|
||||
RSTACK
|
||||
?CCL3: EQUAL? PRSA,V?TAKE \FALSE
|
||||
ICALL PERFORM,PRSA,GOWN
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT THING-F:ANY:0:0
|
||||
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||
PRINTI "Apart from a label on the bottom saying ""Made in Ibiza"" it furnishes you with no clue as to its purpose, if indeed it has one. You are surprised to see it because you thought you'd thrown it away. Like most gifts from your aunt,"
|
||||
PRINT GET-RID
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL3: EQUAL? PRSA,V?DROP \?CCL5
|
||||
MOVE THING,HERE
|
||||
PRINTR "It falls to the ground with a light ""thunk."" It doesn't do anything else at all."
|
||||
?CCL5: EQUAL? PRSA,V?CLOSE \FALSE
|
||||
PRINTR "Come to think of it, you vaguely remember an instruction booklet with directions for that. You never read it and lost it months ago."
|
||||
|
||||
|
||||
.FUNCT I-THING:ANY:0:0
|
||||
RANDOM 4
|
||||
ADD 4,STACK
|
||||
ICALL QUEUE,I-THING,STACK
|
||||
CALL2 VISIBLE?,THING
|
||||
ZERO? STACK \FALSE
|
||||
CALL2 HELD?,THING
|
||||
ZERO? STACK \FALSE
|
||||
RANDOM 100
|
||||
LESS? 40,STACK /?CCL7
|
||||
MOVE THING,HERE
|
||||
RFALSE
|
||||
?CCL7: FSET? GOWN,WORNBIT \?CCL9
|
||||
FSET? GOWN,OPENBIT \?CCL9
|
||||
RANDOM 100
|
||||
LESS? 65,STACK /?CCL9
|
||||
MOVE THING,GOWN
|
||||
RFALSE
|
||||
?CCL9: MOVE THING,PLAYER
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT GUIDE-DESCFCN:ANY:0:1,X
|
||||
PRINTI "There is a copy of "
|
||||
PRINT GUIDE-NAME
|
||||
PRINTR " here."
|
||||
|
||||
|
||||
.FUNCT GUIDE-F:ANY:0:0
|
||||
EQUAL? PRSA,V?EXAMINE \?CCL3
|
||||
PRINTR "The Guide is a Mark II model. Its only resemblance to the Mark IV pictured in the brochure in your game package is the large, friendly ""Don't Panic!"" on its cover.
|
||||
|
||||
The Guide is a Sub-Etha Relay. You can use it to tap information from a huge and distant data bank by consulting the Guide about some item or subject."
|
||||
?CCL3: EQUAL? PRSA,V?ASK-ABOUT \FALSE
|
||||
EQUAL? PRSO,GUIDE \FALSE
|
||||
FSET? TOWEL,WORNBIT \?CND8
|
||||
PRINT WITH-TOWEL
|
||||
CRLF
|
||||
RTRUE
|
||||
?CND8: PRINTI "The Guide checks through its Sub-Etha-Net database and eventually comes up with the following entry:"
|
||||
CRLF
|
||||
CRLF
|
||||
EQUAL? PRSI,GUIDE \?CCL12
|
||||
PRINTD GUIDE
|
||||
PRINTI " is a wholly remarkable product."
|
||||
PRINT ALREADY-KNOW-THAT
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL12: EQUAL? PRSI,HEART-OF-GOLD \?CCL14
|
||||
PRINTI "There is absolutely no such spaceship as "
|
||||
PRINTD HEART-OF-GOLD
|
||||
PRINTI " and anything you've ever read in this spot to the contrary was just a prank.
|
||||
-- "
|
||||
PRINT AGENCY
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL14: EQUAL? PRSI,SCC \?CCL16
|
||||
PRINTI "The "
|
||||
PRINT SCC
|
||||
PRINTR " incompetently produces a wide range of inefficient and unreliable high-tech machinery. However, thanks to SCC's ruthless marketing division, this junk accounts for over 95% of the high-tech machinery sold in the Galaxy. (SCC's marketing division will be the first against the wall when the revolution comes.)"
|
||||
?CCL16: EQUAL? PRSI,MARVIN \?CCL18
|
||||
PRINT GPP
|
||||
PRINTI " are a misguided attempt by the "
|
||||
PRINT SCC
|
||||
PRINTR " to make their machines behave more like people. Among the more miserable failures: paranoid-depressive robots and over-protective computers."
|
||||
?CCL18: EQUAL? PRSI,RAMP \?CCL20
|
||||
PRINTR "According to legend, Magrathea was a planet that amassed incredible wealth by manufacturing other planets. The legends also mention it as the setting of the very eagerly awaited second Infocom Hitchhiker's game."
|
||||
?CCL20: EQUAL? PRSI,ZAPHOD \?CCL22
|
||||
PRINTD ZAPHOD
|
||||
PRINTI " is the current"
|
||||
PRINT PRESIDENT
|
||||
PRINTR "."
|
||||
?CCL22: EQUAL? PRSI,BABEL-FISH \?CCL25
|
||||
PRINTI "A mind-bogglingly improbable creature. A "
|
||||
PRINTD BABEL-FISH
|
||||
PRINTR ", when placed in one's ear, allows one to understand any language."
|
||||
?CCL25: EQUAL? PRSI,TOWEL \?CCL27
|
||||
PRINTR "A towel is the most useful thing (besides the Guide) a Galactic hitchhiker can have. Its uses include travel, combat, communications, protection from the elements, hand-drying and reassurance. Towels have great symbolic value, with many associated points of honour. Never mock the towel of another, even if it has little pink and blue flowers on it. Never do something to somebody else's towel that you would not want them to do to yours. And, if you borrow the towel of another, you MUST return it before leaving their world."
|
||||
?CCL27: EQUAL? PRSI,GARGLE-BLASTER \?CCL29
|
||||
PRINTR "The best drink in existence; somewhat like having your brains smashed out by a slice of lemon wrapped around a large gold brick."
|
||||
?CCL29: EQUAL? PRSI,THIRD-PLANET \?CCL31
|
||||
PRINTR "Mostly harmless."
|
||||
?CCL31: FSET? PRSI,TOOLBIT \?CCL33
|
||||
PRINTR "The editor responsible for entries under this heading has been out to lunch for a couple of years but is expected back soon, at which point there will be rapid updates. Until then, don't panic, unless your situation is really a life or death one, in which case, sure, go ahead, panic."
|
||||
?CCL33: PRINTR "That is one of the Great Unanswered Questions. For a list of the others, consult the Guide."
|
||||
|
||||
|
||||
.FUNCT BABEL-FISH-F:ANY:0:0
|
||||
EQUAL? PRSA,V?REMOVE,V?TAKE \FALSE
|
||||
PRINTI "That would be foolish. Having a "
|
||||
PRINTD BABEL-FISH
|
||||
PRINTR " in your ear is terribly useful."
|
||||
|
||||
|
||||
.FUNCT TOWEL-F:ANY:0:0
|
||||
EQUAL? PRSA,V?MOVE,V?TAKE \?CCL3
|
||||
EQUAL? PRSO,TOWEL \?CCL3
|
||||
FSET? TOWEL,SURFACEBIT \?CCL3
|
||||
FCLEAR TOWEL,TRYTAKEBIT
|
||||
FCLEAR TOWEL,SURFACEBIT
|
||||
ICALL ROB,TOWEL,HERE
|
||||
FCLEAR TOWEL,CONTBIT
|
||||
FCLEAR TOWEL,OPENBIT
|
||||
FCLEAR TOWEL,NDESCBIT
|
||||
EQUAL? PRSA,V?MOVE \FALSE
|
||||
PRINTR "Okay, it's no longer covering the drain."
|
||||
?CCL3: EQUAL? PRSA,V?PUT \?CCL11
|
||||
EQUAL? PRSI,EYES,HEAD \?CCL11
|
||||
FSET? TOWEL,WORNBIT \?CCL16
|
||||
PRINTR "It already is."
|
||||
?CCL16: PRINTR "There's no need for that. It's not as if there's a Bugblatter Beast around, or something."
|
||||
?CCL11: EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
PRINTR "It's covered with little pink and blue flowers."
|
||||
|
||||
|
||||
.FUNCT SATCHEL-DESCFCN:ANY:0:1,X
|
||||
PRINTI "There is a satchel here."
|
||||
ICALL1 ITEM-ON-SATCHEL-DESCRIPTION
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT ITEM-ON-SATCHEL-DESCRIPTION:ANY:0:0
|
||||
ZERO? ITEM-ON-SATCHEL /FALSE
|
||||
PRINTI " Sitting on top of it is "
|
||||
ICALL2 PRINTA,ITEM-ON-SATCHEL
|
||||
PRINTC 46
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT SATCHEL-F:ANY:0:0
|
||||
EQUAL? PRSA,V?OPEN \?CCL3
|
||||
CALL2 PRIVATE,STR?168
|
||||
RSTACK
|
||||
?CCL3: EQUAL? PRSA,V?PUT \?CCL6
|
||||
EQUAL? SATCHEL,PRSI \?CCL6
|
||||
CALL2 HELD?,SATCHEL
|
||||
ZERO? STACK /?CCL11
|
||||
PRINTR "Put down the satchel first."
|
||||
?CCL11: ZERO? ITEM-ON-SATCHEL /?CCL13
|
||||
PRINTI "But"
|
||||
ICALL2 PRINT-THE,ITEM-ON-SATCHEL
|
||||
PRINTR " is already on the satchel."
|
||||
?CCL13: SET 'ITEM-ON-SATCHEL,PRSO
|
||||
MOVE PRSO,HERE
|
||||
FSET PRSO,NDESCBIT
|
||||
FSET PRSO,TRYTAKEBIT
|
||||
PRINTI "Okay,"
|
||||
ICALL2 PRINT-THE,PRSO
|
||||
PRINTR " is now sitting on the satchel."
|
||||
?CCL6: EQUAL? PRSA,V?EXAMINE \?CCL15
|
||||
PRINTI "The satchel, which is "
|
||||
FSET? SATCHEL,OPENBIT \?CCL18
|
||||
PRINTI "open"
|
||||
JUMP ?CND16
|
||||
?CCL18: PRINTI "closed"
|
||||
?CND16: PRINTI ", is fairly bulky."
|
||||
ICALL1 ITEM-ON-SATCHEL-DESCRIPTION
|
||||
CRLF
|
||||
RTRUE
|
||||
?CCL15: EQUAL? PRSA,V?TAKE \FALSE
|
||||
IN? SATCHEL,FORD \FALSE
|
||||
PRINTI "Ford says, ""Hey, Arthur, keep "
|
||||
PRINTD HANDS
|
||||
PRINTR "s off my satchel!"""
|
||||
|
||||
|
||||
.FUNCT PRIVATE:ANY:1:1,STRING
|
||||
PRINTI "You can't. It's not yours. It's "
|
||||
PRINT STRING
|
||||
PRINTR "'s and it's private."
|
||||
|
||||
|
||||
.FUNCT GAME-F:ANY:0:0
|
||||
EQUAL? PRSA,V?THROUGH,V?READ,V?PLAY /?CCL3
|
||||
EQUAL? PRSA,V?LAMP-ON,V?FIND,V?EXAMINE \FALSE
|
||||
?CCL3: SET 'CLOCK-WAIT,TRUE-VALUE
|
||||
PRINTR "[You're playing it now!]"
|
||||
|
||||
|
||||
.FUNCT DINNER-D:ANY:1:1,ARG,L
|
||||
LOC DINNER >L
|
||||
PRINTI "An appetizing aroma wafts from an array of covered dishes"
|
||||
PRINTR "."
|
||||
|
||||
|
||||
.FUNCT DINNER-F:ANY:0:0,I,L
|
||||
LOC DINNER >L
|
||||
EQUAL? PRSA,V?EAT \?CCL3
|
||||
PRINTR "You take a bite and find it delicious."
|
||||
?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE
|
||||
PRINTI "A lovely assortment of fish, fowl, greens, and sweets fills the "
|
||||
PRINTR "plate."
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,542 @@
|
|||
"THINGS for MILLIWAYS
|
||||
Copyright (C) 1988 Infocom, Inc. All rights reserved."
|
||||
|
||||
<ROUTINE RANDOM-PSEUDO ()
|
||||
<COND (<VERB? ASK-ABOUT ASK-CONTEXT-ABOUT LOOK-BEHIND LOOK-UNDER TELL-ABOUT>
|
||||
<RFALSE>)
|
||||
(<VERB? EXAMINE LOOK-INSIDE SEARCH>
|
||||
<NOTHING-SPECIAL>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<WONT-HELP>
|
||||
;<TELL "You can't do anything useful with that." CR>)>>
|
||||
|
||||
<OBJECT SCREWDRIVER
|
||||
(LOC PLAYER)
|
||||
(DESC "flathead screwdriver")
|
||||
(SYNONYM SCREWDRIV TOOL TOOLS)
|
||||
(ADJECTIVE FLATHEAD PROPER)
|
||||
(FLAGS TAKEBIT ;TRYTAKEBIT TOOLBIT)
|
||||
(SIZE 3)
|
||||
;(GENERIC TWEEZERS)>
|
||||
|
||||
<OBJECT TOOTHBRUSH
|
||||
(LOC PLAYER)
|
||||
(OWNER PLAYER)
|
||||
(DESC "toothbrush")
|
||||
(ADJECTIVE TOOTH MY PROPER)
|
||||
(SYNONYM TOOTHBRUSH BRUSH TOOL TOOLS)
|
||||
(FLAGS TAKEBIT TRYTAKEBIT TOOLBIT)
|
||||
(SIZE 3)
|
||||
(ACTION TOOTHBRUSH-F)>
|
||||
|
||||
<ROUTINE TOOTHBRUSH-F ()
|
||||
<COND (<AND <VERB? TAKE>
|
||||
<NOT <FSET? ,TOOTHBRUSH ,TOUCHBIT>>>
|
||||
<MOVE ,TOOTHBRUSH ,PLAYER>
|
||||
<FSET ,TOOTHBRUSH ,TOUCHBIT>
|
||||
<FCLEAR ,TOOTHBRUSH ,TRYTAKEBIT>
|
||||
<TELL
|
||||
"As you pick up the " D ,TOOTHBRUSH " a tree outside the window collapses.
|
||||
There is no causal relationship between these two events.">
|
||||
;<COND (<FSET? ,PHONE ,TOUCHBIT>
|
||||
<TWO-TREES>)>
|
||||
<CRLF>)>>
|
||||
|
||||
<OBJECT GOWN
|
||||
(LOC PLAYER)
|
||||
(OWNER PLAYER)
|
||||
(DESC "your gown")
|
||||
;(LDESC "Your gown is here.")
|
||||
(ADJECTIVE MY ;YOUR DRESSING TATTY FADED BATTERED)
|
||||
(SYNONYM GOWN POCKET ROBE LOOP)
|
||||
(FLAGS WORNBIT WEARBIT TAKEBIT CONTBIT ;NDESCBIT NARTICLEBIT SEARCHBIT)
|
||||
(SIZE 15)
|
||||
(CAPACITY 14)
|
||||
(ACTION GOWN-F)>
|
||||
|
||||
<ROUTINE GOWN-F ()
|
||||
<COND (<AND <VERB? OPEN CLOSE>
|
||||
<NOT <FSET? ,GOWN ,WORNBIT>>>
|
||||
<TELL
|
||||
"It's hard to open or close the pocket unless you're wearing the gown." CR>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL "The dressing gown is faded and battered, and is
|
||||
clearly a garment which has seen better decades. It has a pocket which is ">
|
||||
<COND (<FSET? ,GOWN ,OPENBIT>
|
||||
<TELL "open">)
|
||||
(T
|
||||
<TELL "closed">)>
|
||||
<COND ;(,GOWN-HUNG
|
||||
<TELL ". It is hanging from a " D ,HOOK ".">)
|
||||
(T
|
||||
<TELL ", and a small loop at the back of the collar.">)>
|
||||
;<COND (,SLEEVE-TIED
|
||||
<TELL " The sleeves are tied closed.">)>
|
||||
<CRLF>)
|
||||
;(<AND <VERB? TAKE>
|
||||
<EQUAL? ,GOWN ,PRSO>
|
||||
,HEADACHE>
|
||||
<FCLEAR ,GOWN ,TRYTAKEBIT>
|
||||
<FCLEAR ,GOWN ,NDESCBIT>
|
||||
<MOVE ,GOWN ,PLAYER>
|
||||
<TELL
|
||||
"Luckily, this is large enough for you to get hold of. You notice something
|
||||
in the pocket." CR>)
|
||||
;(<AND <VERB? WEAR>
|
||||
,SLEEVE-TIED>
|
||||
<TELL "You'll have to untie the sleeve first." CR>)
|
||||
;(<VERB? TIE UNTIE>
|
||||
<PERFORM ,PRSA ,SLEEVES>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT SLEEVES
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "sleeve")
|
||||
(SYNONYM SLEEVE)
|
||||
(ACTION SLEEVES-F)>
|
||||
|
||||
<ROUTINE SLEEVES-F ()
|
||||
<COND (<NOT <VISIBLE? ,GOWN>>
|
||||
<NOT-HERE ,SLEEVES>)
|
||||
(<VERB? ;WEAR TAKE>
|
||||
<PERFORM ,PRSA ,GOWN>
|
||||
<RTRUE>)
|
||||
;(<VERB? TIE CLOSE>
|
||||
<SETG PRSO ,GOWN>
|
||||
<COND (<IDROP>
|
||||
<RTRUE>)
|
||||
(,SLEEVE-TIED
|
||||
<TELL "It is." CR>)
|
||||
(T
|
||||
<SETG SLEEVE-TIED T>
|
||||
<TELL "The sleeves are now tied closed." CR>)>)
|
||||
;(<VERB? UNTIE OPEN>
|
||||
<COND (,SLEEVE-TIED
|
||||
<SETG SLEEVE-TIED <>>
|
||||
<TELL "Untied." CR>)
|
||||
(T
|
||||
<TELL "It isn't tied!" CR>)>)>>
|
||||
|
||||
<OBJECT THING
|
||||
(LOC GOWN)
|
||||
(DESC "thing your aunt gave you which you don't know what it is")
|
||||
(ADJECTIVE AUNT\'S)
|
||||
(SYNONYM THING GIFT)
|
||||
(FLAGS TAKEBIT CONTBIT SEARCHBIT OPENBIT)
|
||||
(SIZE 6)
|
||||
(CAPACITY 90)
|
||||
(ACTION THING-F)>
|
||||
|
||||
<ROUTINE THING-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"Apart from a label on the bottom saying \"Made in Ibiza\" it furnishes you
|
||||
with no clue as to its purpose, if indeed it has one. You are surprised to see
|
||||
it because you thought you'd thrown it away. Like most gifts from your aunt,"
|
||||
,GET-RID CR>)
|
||||
(<AND <VERB? DROP>
|
||||
;<NOT <EQUAL? ,HERE ,MAZE ,ACCESS-SPACE>>>
|
||||
<MOVE ,THING ,HERE>
|
||||
<TELL
|
||||
"It falls to the ground with a light \"thunk.\" It doesn't do anything
|
||||
else at all." CR>)
|
||||
(<VERB? CLOSE>
|
||||
<TELL
|
||||
"Come to think of it, you vaguely remember an instruction booklet with
|
||||
directions for that. You never read it and lost it months ago." CR>)>>
|
||||
|
||||
<CONSTANT GET-RID " you've been trying to get rid of it for years.">
|
||||
|
||||
<ROUTINE I-THING ()
|
||||
<QUEUE I-THING <+ 4 <RANDOM 4>>>
|
||||
<COND (<OR ;<NOT <EQUAL? ,IDENTITY-FLAG ,ARTHUR>>
|
||||
;<AND <EQUAL? ,HERE ,ENGINE-ROOM>
|
||||
<L? ,LOOK-COUNTER 3>>
|
||||
;<EQUAL? ,HERE ,DARK ,ACCESS-SPACE ,MAZE>
|
||||
<VISIBLE? ,THING>
|
||||
<HELD? ,THING>
|
||||
;<IN? ,FLEET ,HERE>>
|
||||
<RFALSE>)>
|
||||
<COND (<PROB 40>
|
||||
<MOVE ,THING ,HERE>)
|
||||
(<AND <FSET? ,GOWN ,WORNBIT>
|
||||
<FSET? ,GOWN ,OPENBIT>
|
||||
<PROB 65>>
|
||||
<MOVE ,THING ,GOWN>)
|
||||
(T
|
||||
<MOVE ,THING ,PLAYER>)>
|
||||
<RFALSE>>
|
||||
|
||||
<OBJECT GUIDE
|
||||
(LOC SATCHEL)
|
||||
(DESC "The Hitchhiker's Guide")
|
||||
(DESCFCN GUIDE-DESCFCN)
|
||||
(ADJECTIVE HITCHHIKER\'S SUB-ETHA)
|
||||
(SYNONYM COPY GUIDE)
|
||||
(SIZE 10)
|
||||
(FLAGS NARTICLEBIT TAKEBIT READBIT)
|
||||
(TEXT "Try: CONSULT GUIDE ABOUT (something).")
|
||||
(ACTION GUIDE-F)>
|
||||
|
||||
<ROUTINE GUIDE-DESCFCN ("OPTIONAL" X)
|
||||
<TELL "There is a copy of " ,GUIDE-NAME " here." CR>>
|
||||
|
||||
<ROUTINE GUIDE-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<TELL
|
||||
"The Guide is a Mark II model. Its only resemblance to the Mark IV pictured
|
||||
in the brochure in your game package is the large, friendly \"Don't Panic!\"
|
||||
on its cover.|
|
||||
|
|
||||
The Guide is a Sub-Etha Relay. You can use it to tap information from a huge
|
||||
and distant data bank by consulting the Guide about some item or subject." CR>)
|
||||
(<AND <VERB? ASK-ABOUT>
|
||||
<DOBJ? GUIDE>>
|
||||
<COND (<FSET? ,TOWEL ,WORNBIT>
|
||||
<TELL ,WITH-TOWEL CR>
|
||||
<RTRUE>)
|
||||
;(<IOBJ? ACCESS-SPACE>
|
||||
<TELL
|
||||
"Suddenly, agents of the " ,AGENCY " pop in using Sub-Etha belts, rough you up
|
||||
a bit, tell you there's no such thing as the " ,AGENCY " and never to consult "
|
||||
D ,GUIDE " about the " ,AGENCY " again; then they leave." CR>
|
||||
<RTRUE>)>
|
||||
<TELL
|
||||
"The Guide checks through its Sub-Etha-Net database and eventually comes
|
||||
up with the following entry:" CR CR>
|
||||
<COND (<IOBJ? GUIDE>
|
||||
<TELL
|
||||
D ,GUIDE " is a wholly remarkable product." ,ALREADY-KNOW-THAT CR>)
|
||||
(<IOBJ? HEART-OF-GOLD>
|
||||
<TELL
|
||||
"There is absolutely no such spaceship as " D ,HEART-OF-GOLD " and anything
|
||||
you've ever read in this spot to the contrary was just a prank.|
|
||||
-- " ,AGENCY CR>)
|
||||
(<IOBJ? SCC ;GALLEY>
|
||||
<TELL
|
||||
"The " ,SCC " incompetently produces a wide range of inefficient and unreliable
|
||||
high-tech machinery. However, thanks to SCC's ruthless marketing division, this
|
||||
junk accounts for over 95% of the high-tech machinery sold in the Galaxy.
|
||||
(SCC's marketing division will be the first against the wall when the
|
||||
revolution comes.)" CR>)
|
||||
(<IOBJ? MARVIN>
|
||||
<TELL
|
||||
,GPP " are a misguided attempt by the " ,SCC " to make their machines behave
|
||||
more like people. Among the more miserable failures: paranoid-depressive
|
||||
robots and over-protective computers." CR>)
|
||||
;(<IOBJ? DARK>
|
||||
<TELL
|
||||
"A must for the serious hitchhiker, peril-sensitive sunglasses darken at the
|
||||
first hint of danger, thus shielding the wearer from seeing anything alarming.
|
||||
Recommended brand: Joo Janta." CR>)
|
||||
(<IOBJ? RAMP>
|
||||
<TELL
|
||||
"According to legend, Magrathea was a planet that amassed incredible wealth by
|
||||
manufacturing other planets. The legends also mention it as the setting
|
||||
of the very eagerly awaited second Infocom Hitchhiker's game." CR>)
|
||||
(<OR <IOBJ? ZAPHOD>
|
||||
;<AND <IOBJ? ME>
|
||||
<EQUAL? ,IDENTITY-FLAG ,ZAPHOD>>>
|
||||
<TELL D ,ZAPHOD " is the current" ,PRESIDENT "." CR>)
|
||||
(<IOBJ? BABEL-FISH>
|
||||
<TELL
|
||||
"A mind-bogglingly improbable creature. A " D ,BABEL-FISH ", when placed in
|
||||
one's ear, allows one to understand any language." CR>)
|
||||
(<IOBJ? TOWEL>
|
||||
<TELL
|
||||
"A towel is the most useful thing (besides the Guide) a Galactic hitchhiker
|
||||
can have. Its uses include travel, combat, communications, protection from the
|
||||
elements, hand-drying and reassurance. Towels have great symbolic value, with
|
||||
many associated points of honour. Never mock the towel of another, even if it
|
||||
has little pink and blue flowers on it. Never do something to somebody else's
|
||||
towel that you would not want them to do to yours. And, if you borrow the towel
|
||||
of another, you MUST return it before leaving their world." CR>)
|
||||
(<IOBJ? GARGLE-BLASTER>
|
||||
<TELL
|
||||
"The best drink in existence; somewhat like having your brains smashed out by
|
||||
a slice of lemon wrapped around a large gold brick." CR>)
|
||||
(<IOBJ? THIRD-PLANET ;MAZE>
|
||||
<TELL "Mostly harmless." CR>)
|
||||
(<FSET? ,PRSI ,TOOLBIT>
|
||||
<TELL
|
||||
"The editor responsible for entries under this heading has been out to lunch
|
||||
for a couple of years but is expected back soon, at which point there will be
|
||||
rapid updates. Until then, don't panic, unless your situation is really a life
|
||||
or death one, in which case, sure, go ahead, panic." CR>)
|
||||
;(<IOBJ? TEA>
|
||||
<TELL
|
||||
"Sorry, that portion of our Sub-Etha database was accidentally deleted last
|
||||
night during a wild office party. The lost data will be restored as soon as
|
||||
we find someone who knows where the back-up tapes are kept, if indeed any
|
||||
are kept at all." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"That is one of the Great Unanswered Questions. For a list of the others,
|
||||
consult the Guide." CR>)>)>>
|
||||
|
||||
<CONSTANT GUIDE-NAME "The Hitchhiker's Guide to the Galaxy">
|
||||
|
||||
<CONSTANT ALREADY-KNOW-THAT
|
||||
" But then again you must already know that, since you bought one.">
|
||||
|
||||
<CONSTANT WITH-TOWEL "With a towel wrapped around your head!?!">
|
||||
|
||||
<CONSTANT AGENCY "Galactic Security Agency">
|
||||
|
||||
<CONSTANT GPP "Genuine People Personalities">
|
||||
|
||||
;<CONSTANT SPACE-TEXT
|
||||
"If you hyperventilate and then empty your lungs, you will last about thirty
|
||||
seconds in the vacuum of space. However, because space is so vastly hugely
|
||||
mind-bogglingly big, getting picked up by another ship within those thirty
|
||||
seconds is almost infinitely improbable.">
|
||||
|
||||
<OBJECT BABEL-FISH
|
||||
(LOC PLAYER)
|
||||
(DESC "babel fish")
|
||||
(ADJECTIVE BABEL)
|
||||
(SYNONYM FISH)
|
||||
(FLAGS TRYTAKEBIT WORNBIT)
|
||||
(ACTION BABEL-FISH-F)>
|
||||
|
||||
<ROUTINE BABEL-FISH-F ()
|
||||
<COND (<VERB? TAKE REMOVE>
|
||||
<TELL
|
||||
"That would be foolish. Having a " D ,BABEL-FISH " in your ear is terribly
|
||||
useful." CR>)>>
|
||||
|
||||
<OBJECT TOWEL
|
||||
(LOC FORD)
|
||||
(DESC "towel")
|
||||
(SYNONYM TOWEL TOWELS)
|
||||
(FLAGS TAKEBIT TRYTAKEBIT)
|
||||
(SIZE 7)
|
||||
(CAPACITY 40)
|
||||
(ACTION TOWEL-F)>
|
||||
|
||||
<ROUTINE TOWEL-F ()
|
||||
<COND (<AND <VERB? TAKE MOVE>
|
||||
<DOBJ? TOWEL>
|
||||
<FSET? ,TOWEL ,SURFACEBIT>>
|
||||
<FCLEAR ,TOWEL ,TRYTAKEBIT>
|
||||
<FCLEAR ,TOWEL ,SURFACEBIT>
|
||||
<ROB ,TOWEL ,HERE>
|
||||
<FCLEAR ,TOWEL ,CONTBIT>
|
||||
<FCLEAR ,TOWEL ,OPENBIT>
|
||||
<FCLEAR ,TOWEL ,NDESCBIT>
|
||||
<COND (<VERB? MOVE>
|
||||
<TELL "Okay, it's no longer covering the drain." CR>)
|
||||
(T
|
||||
<RFALSE>)>)
|
||||
(<AND <VERB? PUT ;TIE>
|
||||
<IOBJ? HEAD EYES>>
|
||||
<COND (<FSET? ,TOWEL ,WORNBIT>
|
||||
<TELL "It already is." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"There's no need for that. It's not as if there's a Bugblatter Beast around,
|
||||
or something." CR>)>)
|
||||
(<VERB? EXAMINE>
|
||||
<COND ;(<FSET? ,TOWEL ,SURFACEBIT>
|
||||
<PERFORM ,V?EXAMINE ,DRAIN>
|
||||
<COND (<FIRST? ,TOWEL>
|
||||
<RFALSE>)>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<TELL
|
||||
"It's covered with little pink and blue flowers." CR>)>)
|
||||
;(<AND <VERB? LIE-DOWN>
|
||||
<FSET? ,TOWEL ,SURFACEBIT>>
|
||||
<PERFORM ,V?STAND-BEFORE ,HOOK>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT SATCHEL
|
||||
(LOC FORD)
|
||||
(OWNER FORD)
|
||||
(DESC "satchel")
|
||||
(DESCFCN SATCHEL-DESCFCN)
|
||||
(ADJECTIVE BATTERED LEATHER BULKY)
|
||||
(SYNONYM SATCHEL)
|
||||
(FLAGS CONTBIT SEARCHBIT TAKEBIT TRYTAKEBIT)
|
||||
(CAPACITY 30)
|
||||
(SIZE 20)
|
||||
(ACTION SATCHEL-F)>
|
||||
|
||||
<ROUTINE SATCHEL-DESCFCN ("OPTIONAL" X)
|
||||
<TELL "There is a satchel here.">
|
||||
<ITEM-ON-SATCHEL-DESCRIPTION>
|
||||
<CRLF>
|
||||
<RTRUE>>
|
||||
|
||||
<GLOBAL ITEM-ON-SATCHEL:OBJECT 0>
|
||||
<ROUTINE ITEM-ON-SATCHEL-DESCRIPTION ()
|
||||
<COND (,ITEM-ON-SATCHEL
|
||||
<TELL " Sitting on top of it is ">
|
||||
<TELL a ,ITEM-ON-SATCHEL>
|
||||
<TELL ".">)>>
|
||||
|
||||
<ROUTINE SATCHEL-F ()
|
||||
<COND (<AND <VERB? OPEN>
|
||||
;<NOT <EQUAL? ,IDENTITY-FLAG ,FORD>>>
|
||||
<PRIVATE "Ford">)
|
||||
(<AND <VERB? PUT>
|
||||
<EQUAL? ,SATCHEL ,PRSI>>
|
||||
<COND (<HELD? ,SATCHEL>
|
||||
<TELL "Put down the satchel first." CR>)
|
||||
(,ITEM-ON-SATCHEL
|
||||
<TELL "But">
|
||||
<TELL the ,ITEM-ON-SATCHEL>
|
||||
<TELL " is already on the satchel." CR>)
|
||||
(T
|
||||
<SETG ITEM-ON-SATCHEL ,PRSO>
|
||||
<MOVE ,PRSO ,HERE>
|
||||
<FSET ,PRSO ,NDESCBIT>
|
||||
<FSET ,PRSO ,TRYTAKEBIT>
|
||||
<TELL "Okay,">
|
||||
<TELL the ,PRSO>
|
||||
<TELL " is now sitting on the satchel." CR>)>)
|
||||
(<VERB? EXAMINE>
|
||||
<TELL "The satchel, which is ">
|
||||
<COND (<FSET? ,SATCHEL ,OPENBIT>
|
||||
<TELL "open">)
|
||||
(T
|
||||
<TELL "closed">)>
|
||||
<TELL ", is fairly bulky.">
|
||||
<ITEM-ON-SATCHEL-DESCRIPTION>
|
||||
<CRLF>)
|
||||
(<AND <VERB? TAKE>
|
||||
<IN? ,SATCHEL ,FORD>>
|
||||
<TELL
|
||||
"Ford says, \"Hey, Arthur, keep " D ,HANDS "s off my satchel!\"" CR>)>>
|
||||
|
||||
<ROUTINE PRIVATE (STRING)
|
||||
<TELL
|
||||
"You can't. It's not yours. It's " .STRING "'s and it's private." CR>>
|
||||
|
||||
<ROOM GARGLE-BLASTER
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "Pan-Galactic Gargle Blaster")
|
||||
(ADJECTIVE PAN-GALACTIC GARGLE)
|
||||
(SYNONYM BLASTER)>
|
||||
|
||||
<ROOM SCC
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "Sirius Cybernetics Corporation")
|
||||
(ADJECTIVE SIRIUS CYBERNETICS)
|
||||
(SYNONYM CORPORATION SCC)>
|
||||
|
||||
<OBJECT HEART-OF-GOLD
|
||||
(LOC LOCAL-GLOBALS)
|
||||
(DESC "the Heart of Gold")
|
||||
(ADJECTIVE SPACE INCREDIBLE NEW)
|
||||
(SYNONYM HEART GOLD SHIP SPACESHIP)
|
||||
(FLAGS NARTICLEBIT)
|
||||
;(ACTION HEART-OF-GOLD-F)>
|
||||
|
||||
<OBJECT GAME
|
||||
(LOC GLOBAL-OBJECTS)
|
||||
(DESC "MILLIWAYS")
|
||||
(SYNONYM GAME MILLIWAYS)
|
||||
(FLAGS NARTICLEBIT)
|
||||
(ACTION GAME-F)>
|
||||
|
||||
<ROUTINE GAME-F ()
|
||||
<COND (<VERB? EXAMINE FIND LAMP-ON PLAY READ THROUGH>
|
||||
<SETG CLOCK-WAIT T>
|
||||
<TELL "[You're playing it now!]" CR>)>>
|
||||
|
||||
<OBJECT DINNER
|
||||
(LOC PUB)
|
||||
(OWNER PLAYER)
|
||||
(DESC "your dinner")
|
||||
(ADJECTIVE COVERED MY)
|
||||
(SYNONYM DINNER FOOD ;ARRAY DISHES PLATE ;FISH)
|
||||
(FLAGS NARTICLEBIT TRYTAKEBIT)
|
||||
(SIZE 10)
|
||||
(DESCFCN DINNER-D)
|
||||
(ACTION DINNER-F)>
|
||||
|
||||
<ROUTINE DINNER-D (ARG "AUX" (L <LOC ,DINNER>))
|
||||
<COND (T ;<EQUAL? .L ,KITCHEN ,SIDEBOARD>
|
||||
<TELL "An appetizing aroma wafts from an array of covered dishes">
|
||||
;<COND (<==? .L ,KITCHEN>
|
||||
<TELL " sitting about">)
|
||||
(<==? .L ,SIDEBOARD>
|
||||
<TELL " on the " 'SIDEBOARD>)>
|
||||
<TELL "." CR>)>>
|
||||
|
||||
<ROUTINE DINNER-F ("AUX" I (L <LOC ,DINNER>))
|
||||
<COND ;(<VERB? DRESS>
|
||||
<COND (<EQUAL? ,HERE <META-LOC ,DINNER-OUTFIT>>
|
||||
<PERFORM ,V?WEAR ,DINNER-OUTFIT>
|
||||
<RTRUE>)
|
||||
(T
|
||||
<NOT-HERE ,DINNER-OUTFIT>
|
||||
<RTRUE>)>)
|
||||
(<VERB? EAT>
|
||||
<COND ;(<FSET? ,DINNER ,TRYTAKEBIT> ;<QUEUED? ,I-DINNER-SIT>
|
||||
<TELL
|
||||
"You look around and notice that no one else is eating yet." CR>)
|
||||
(T <TELL "You take a bite and find it delicious." CR>)>)
|
||||
(<VERB? EXAMINE ;SMELL>
|
||||
<TELL
|
||||
"A lovely assortment of fish, fowl, greens, and sweets fills the ">
|
||||
<COND ;(<EQUAL? .L ,KITCHEN ,SIDEBOARD>
|
||||
<TELL "dishes." CR>)
|
||||
(T <TELL "plate." CR>)>)
|
||||
;(<VERB? TAKE LAMP-ON ;"start">
|
||||
<COND (<FSET? ,DINNER ,TRYTAKEBIT>
|
||||
<COND (<==? .L ,KITCHEN>
|
||||
<TELL "It's not ready yet." CR>)
|
||||
(<==? .L ,SIDEBOARD>
|
||||
<SET L <I-DINNER-SIT>>
|
||||
<COND (<ZERO? .L>
|
||||
<TELL
|
||||
"You look around and notice that no one else is eating yet."
|
||||
;"Not all the guests are ready yet." CR>
|
||||
<RTRUE>)
|
||||
(T <RETURN .L>)>)>)>)
|
||||
;(<VERB? WAIT-FOR>
|
||||
<COND (<SET I <QUEUED? ,I-DINNER>>
|
||||
<V-WAIT <- ,DINNER-TIME ,PRESENT-TIME> ;.I <> T>
|
||||
<RTRUE>)>)
|
||||
;(<VERB? WALK-TO>
|
||||
<COND (<EQUAL? ,HERE ,DINING-ROOM>
|
||||
<PERFORM ,PRSA <META-LOC ,DINNER>>)
|
||||
(T <PERFORM ,PRSA ,DINING-ROOM>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
"For debugging parser:"
|
||||
|
||||
<OBJECT RED-FROB
|
||||
(LOC RAMP)
|
||||
(DESC "red frob")
|
||||
(ADJECTIVE RED)
|
||||
(SYNONYM FROB FROBS)
|
||||
(FLAGS TAKEBIT)
|
||||
(SIZE 1)>
|
||||
|
||||
<OBJECT GREEN-FROB
|
||||
(LOC RAMP)
|
||||
(DESC "green frob")
|
||||
(ADJECTIVE GREEN)
|
||||
(SYNONYM FROB FROBS)
|
||||
(FLAGS TAKEBIT)
|
||||
(SIZE 1)>
|
||||
|
||||
<OBJECT BIG-BLUE-FROB
|
||||
(LOC THING)
|
||||
(DESC "big blue frob")
|
||||
(ADJECTIVE BIG BLUE)
|
||||
(SYNONYM FROB FROBS)
|
||||
(FLAGS TAKEBIT)
|
||||
(SIZE 1)>
|
||||
|
||||
<OBJECT SMALL-BLUE-FROB
|
||||
(LOC THING)
|
||||
(DESC "small blue frob")
|
||||
(ADJECTIVE SMALL BLUE)
|
||||
(SYNONYM FROB FROBS)
|
||||
(FLAGS TAKEBIT)
|
||||
(SIZE 1)>
|
|
@ -0,0 +1,85 @@
|
|||
<FLAGS-AND-DEFAULTS (("UNDO" T)("P-BE-VERB" T)("IN-ZILCH" T)(
|
||||
"P-DEBUGGING-PARSER" T)) (("ADJ-USED?" "DEFS" #WORD *00651007407*) (
|
||||
"NO-M-WINNER-VERB?" "DEFS" #WORD *16275336705*) ("OWNERS" "DEFS" #WORD
|
||||
*34556477145*))>
|
||||
|
||||
<INCLUDE "BASEDEFS" "PBITDEFS" "PDEFS">
|
||||
<FILE-FLAGS MDL-ZIL?>
|
||||
<BEGIN-SEGMENT 0>
|
||||
<DEFAULTS-DEFINED ADJ-USED? ASKING-VERB-WORD? CANT-UNDO CAPITAL-NOUN?
|
||||
FIND-A-WINNER ITAKE-CHECK META-LOC MORE-SPECIFIC NO-M-WINNER-VERB? NOT-HERE
|
||||
NOUN-USED? OWNERS P-PRONOUNS SEE-VERB? SIBREAKS SPEAKING-VERB? TELL-PRONOUN
|
||||
TELL-SAID-TO TELL-TOO-DARK VERB-ALL-TEST>
|
||||
<DEFAULT-DEFINITION SIBREAKS <SETG20 SIBREAKS ".,\"'!?">>
|
||||
<DEFAULT-DEFINITION OWNERS <CONSTANT OWNERS <TABLE (PURE LENGTH) PLAYER>>>
|
||||
<DEFAULT-DEFINITION MORE-SPECIFIC <ROUTINE MORE-SPECIFIC>>
|
||||
<SYNTAX \#DBG = V-PDEBUG>
|
||||
<GLOBAL P-DBUG:FLAG <>>
|
||||
<GLOBAL IDEBUG:FLAG <>>
|
||||
<CONSTANT G-DEBUG 69>
|
||||
<DEFINE-ROUTINE V-PDEBUG>
|
||||
<GLOBAL P-PRSI <>>
|
||||
<GLOBAL P-PRSO <>>
|
||||
<GLOBAL PRSA 0 <OR VERB FALSE>>
|
||||
<GLOBAL PRSQ 0>
|
||||
<GLOBAL PRSS:OBJECT 0>
|
||||
<GLOBAL PRSI:OBJECT 0>
|
||||
<GLOBAL PRSO:OBJECT 0>
|
||||
<GLOBAL P-MULT <>>
|
||||
<GLOBAL OPRSO <>>
|
||||
<GLOBAL P-CONT:NUMBER 0>
|
||||
<CONSTANT P-LEXWORDS 1>
|
||||
<CONSTANT P-LEXSTART 1>
|
||||
<CONSTANT P-LEXELEN 2>
|
||||
<CONSTANT P-WORDLEN 4>
|
||||
<GLOBAL P-WON <>>
|
||||
<DEFMAC RFATAL () '<PROG () <PUSH 2> <RSTACK>>>
|
||||
<GLOBAL P-PRSA-WORD <>>
|
||||
<GLOBAL PRSO-NP <>>
|
||||
<GLOBAL PRSI-NP <>>
|
||||
<GLOBAL CLOCKER-RUNNING:NUMBER 2>
|
||||
<GLOBAL P-CAN-UNDO:NUMBER 0>
|
||||
<DEFAULT-DEFINITION VERB-ALL-TEST <ROUTINE VERB-ALL-TEST>>
|
||||
<DEFINE-ROUTINE FIX-HIM-HER-IT>
|
||||
<DEFAULT-DEFINITION TELL-PRONOUN <ROUTINE TELL-PRONOUN>>
|
||||
<DEFAULT-DEFINITION NO-M-WINNER-VERB? <CONSTANT NO-M-WINNER-VERB-TABLE <PLTABLE
|
||||
V?TELL-ABOUT V?SGIVE V?SSHOW V?SRUB V?SPUT-ON>> <DEFINE NO-M-WINNER-VERB? () <
|
||||
COND (<INTBL? ,PRSA <ZREST ,NO-M-WINNER-VERB-TABLE 2> <ZGET ,
|
||||
NO-M-WINNER-VERB-TABLE 0>> <RTRUE>)>>>
|
||||
<DEFAULT-DEFINITION FIND-A-WINNER <ROUTINE FIND-A-WINNER>>
|
||||
<DEFAULT-DEFINITION TELL-SAID-TO <ROUTINE TELL-SAID-TO>>
|
||||
<GLOBAL QCONTEXT:OBJECT <>>
|
||||
<DEFINE-ROUTINE QCONTEXT-GOOD?>
|
||||
<DEFAULT-DEFINITION META-LOC <ROUTINE META-LOC>>
|
||||
<DEFAULT-DEFINITION P-PRONOUNS <GLOBAL P-IT-OBJECT:OBJECT <>> <GLOBAL
|
||||
P-THEM-OBJECT:OBJECT <>> <GLOBAL P-HER-OBJECT:OBJECT <>> <GLOBAL P-HIM-OBJECT:
|
||||
OBJECT <>>>
|
||||
<DEFAULT-DEFINITION CANT-UNDO <IF-UNDO <ROUTINE CANT-UNDO>>>
|
||||
<DEFINE-ROUTINE CANT-UNDO>
|
||||
<GLOBAL NOW-PRSI:FLAG <>>
|
||||
<GLOBAL OBJ-SWAP:FLAG <>>
|
||||
<OBJECT NOT-HERE-OBJECT (CONTFCN 0) (THINGS 0)>
|
||||
<DEFAULT-DEFINITION SEE-VERB? <DEFINE SEE-VERB? () <VERB? CHASTISE EXAMINE FIND
|
||||
LOOK LOOK-BEHIND LOOK-DOWN LOOK-INSIDE LOOK-UNDER LOOK-UP READ SEARCH>>>
|
||||
<DEFINE-ROUTINE PERFORM>
|
||||
<DEFAULT-DEFINITION TELL-TOO-DARK <ROUTINE TELL-TOO-DARK>>
|
||||
<DEFAULT-DEFINITION ITAKE-CHECK <ROUTINE ITAKE-CHECK>>
|
||||
<DEFINE-ROUTINE TELL-D-LOC>
|
||||
<DEFINE-ROUTINE D-APPLY>
|
||||
<DEFAULT-DEFINITION CAPITAL-NOUN? <DEFINE CAPITAL-NOUN? (NAM) <>>>
|
||||
<DEFAULT-DEFINITION NOT-HERE <ROUTINE NOT-HERE>>
|
||||
<DEFAULT-DEFINITION ASKING-VERB-WORD? <ADD-WORD ASK ASKWORD> <ADD-WORD ORDER
|
||||
ASKWORD> <ADD-WORD TELL ASKWORD>>
|
||||
<DEFAULT-DEFINITION SPEAKING-VERB? <DEFINE SPEAKING-VERB? ("OPT" (A ,PRSA)) <
|
||||
COND (<EQUAL? .A ,V?ANSWER ,V?ASK-ABOUT ,V?ASK-FOR ,V?HELLO ,V?NO ,V?REPLY ,
|
||||
V?TELL ,V?TELL-ABOUT ,V?YES> <COND (T <RTRUE>)>)>>>
|
||||
<DEFINE-ROUTINE GET-OWNER>
|
||||
<DEFINE-ROUTINE GET-NP>
|
||||
<DEFAULT-DEFINITION NOUN-USED? <ROUTINE NOUN-USED?>>
|
||||
<DEFAULT-DEFINITION ADJ-USED? <DEFINE ADJ-USED? (OBJ WD1 "OPT" (WD2 <>) (WD3 <>
|
||||
) "AUX" (NP <GET-NP .OBJ>) CT) <COND (<SET NP <NP-ADJS .NP>> <COND (<AND <
|
||||
EQUAL? ,PLAYER <ADJS-POSS .NP>> <EQUAL? ,W?MY .WD1 .WD2 .WD3>> ,W?MY) (<G? <SET
|
||||
CT <ADJS-COUNT .NP>> 0> <SET NP <REST-TO-SLOT .NP ADJS-COUNT 1>> <COND (<ZMEMQ
|
||||
.WD1 .NP .CT> .WD1) (.WD2 <COND (<ZMEMQ .WD2 .NP .CT> .WD2) (.WD3 <COND (<ZMEMQ
|
||||
.WD3 .NP .CT> .WD3)>)>)>) (<EQUAL? .WD1 <>> T)>) (<EQUAL? .WD1 <>> T)>>>
|
||||
<END-SEGMENT>
|
|
@ -0,0 +1,448 @@
|
|||
|
||||
.SEGMENT "0"
|
||||
|
||||
|
||||
.FUNCT MORE-SPECIFIC:ANY:0:0
|
||||
SET 'CLOCK-WAIT,TRUE-VALUE
|
||||
PRINTR "[Please be more specific.]"
|
||||
|
||||
|
||||
.FUNCT V-PDEBUG:ANY:0:0
|
||||
ZERO? PRSO /?CCL3
|
||||
ZERO? IDEBUG /?PRT4
|
||||
SET 'IDEBUG,0
|
||||
JUMP ?PRE6
|
||||
?PRT4: SET 'IDEBUG,1
|
||||
?PRE6: PRINTC 123
|
||||
PRINTN IDEBUG
|
||||
PRINTR "}"
|
||||
?CCL3: ZERO? P-DBUG /?PRT9
|
||||
SET 'P-DBUG,0
|
||||
JUMP ?PRE11
|
||||
?PRT9: SET 'P-DBUG,1
|
||||
?PRE11: ZERO? P-DBUG /?CCL8
|
||||
PRINTR "Find them bugs, boss!"
|
||||
?CCL8: PRINTR "No bugs left, eh?"
|
||||
|
||||
|
||||
.FUNCT VERB-ALL-TEST:ANY:2:2,O,I,L
|
||||
LOC O >L
|
||||
EQUAL? PRSA,V?GIVE,V?DROP \?CCL3
|
||||
EQUAL? L,WINNER /TRUE
|
||||
RFALSE
|
||||
?CCL3: EQUAL? PRSA,V?PUT \?CCL8
|
||||
EQUAL? O,I /FALSE
|
||||
IN? O,I /FALSE
|
||||
RTRUE
|
||||
?CCL8: EQUAL? PRSA,V?TAKE \?CCL15
|
||||
FSET? O,TAKEBIT /?CND16
|
||||
FSET? O,TRYTAKEBIT \FALSE
|
||||
?CND16: ZERO? I /?CCL22
|
||||
EQUAL? L,I /?CND20
|
||||
RFALSE
|
||||
?CCL22: EQUAL? L,HERE /TRUE
|
||||
?CND20: FSET? L,PERSONBIT /TRUE
|
||||
FSET? L,SURFACEBIT /TRUE
|
||||
FSET? L,CONTBIT \FALSE
|
||||
FSET? L,OPENBIT /TRUE
|
||||
RFALSE
|
||||
?CCL15: ZERO? I /TRUE
|
||||
EQUAL? O,I /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT FIX-HIM-HER-IT:ANY:2:2,PRON,OBJ
|
||||
ZERO? OBJ \?CCL3
|
||||
ICALL1 MORE-SPECIFIC
|
||||
RFALSE
|
||||
?CCL3: CALL2 ACCESSIBLE?,OBJ
|
||||
ZERO? STACK \?CCL5
|
||||
EQUAL? PRON,PRSO \?PRD9
|
||||
CALL2 EVERYWHERE-VERB?,1
|
||||
ZERO? STACK /?CTR4
|
||||
?PRD9: EQUAL? PRON,PRSI \?CCL5
|
||||
CALL2 EVERYWHERE-VERB?,2
|
||||
ZERO? STACK \?CCL5
|
||||
?CTR4: ICALL2 NOT-HERE,OBJ
|
||||
RFALSE
|
||||
?CCL5: EQUAL? PRSO,PRON \?CND14
|
||||
SET 'PRSO,OBJ
|
||||
ICALL TELL-PRONOUN,OBJ,PRON
|
||||
?CND14: EQUAL? PRSI,PRON \?CND16
|
||||
SET 'PRSI,OBJ
|
||||
ICALL TELL-PRONOUN,OBJ,PRON
|
||||
?CND16: EQUAL? PRSS,PRON \TRUE
|
||||
SET 'PRSS,OBJ
|
||||
ICALL TELL-PRONOUN,OBJ,PRON
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT TELL-PRONOUN:ANY:2:2,OBJ,PRON
|
||||
FSET? PRON,TOUCHBIT /FALSE
|
||||
EQUAL? OPRSO,OBJ /FALSE
|
||||
EQUAL? PRSA,V?DO? /FALSE
|
||||
PRINTI "["""
|
||||
PRINTD PRON
|
||||
PRINTI """ meaning "
|
||||
ICALL2 TELL-THE,OBJ
|
||||
PRINTR "]"
|
||||
|
||||
|
||||
.FUNCT NO-M-WINNER-VERB?:ANY:0:0
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT FIND-A-WINNER:ANY:0:1,RM,OTHER,WHO,N
|
||||
ASSIGNED? 'RM /?CND1
|
||||
SET 'RM,HERE
|
||||
?CND1: ZERO? QCONTEXT /?CCL5
|
||||
IN? QCONTEXT,RM \?CCL5
|
||||
RETURN QCONTEXT
|
||||
?CCL5: FIRST? RM >OTHER /?BOGUS8
|
||||
?BOGUS8: SET 'WHO,FALSE-VALUE
|
||||
?PRG9: ZERO? OTHER \?CCL13
|
||||
RETURN WHO
|
||||
?CCL13: FSET? OTHER,PERSONBIT \?CND11
|
||||
FSET? OTHER,INVISIBLE /?CND11
|
||||
EQUAL? OTHER,PLAYER /?CND11
|
||||
IGRTR? 'N,1 /FALSE
|
||||
SET 'WHO,OTHER
|
||||
?CND11: NEXT? OTHER >OTHER /?PRG9
|
||||
JUMP ?PRG9
|
||||
|
||||
|
||||
.FUNCT TELL-SAID-TO:ANY:1:1,PER
|
||||
PRINTI "[said to "
|
||||
PRINTD PER
|
||||
PRINTR "]"
|
||||
|
||||
|
||||
.FUNCT QCONTEXT-GOOD?:ANY:0:0
|
||||
ZERO? QCONTEXT /FALSE
|
||||
FSET? QCONTEXT,PERSONBIT \FALSE
|
||||
CALL2 META-LOC,QCONTEXT
|
||||
EQUAL? HERE,STACK \FALSE
|
||||
RETURN QCONTEXT
|
||||
|
||||
|
||||
.FUNCT META-LOC:ANY:1:2,OBJ,INV,L
|
||||
LOC OBJ >L
|
||||
?PRG1: EQUAL? FALSE-VALUE,OBJ,L /FALSE
|
||||
EQUAL? L,LOCAL-GLOBALS,GLOBAL-OBJECTS,GENERIC-OBJECTS \?CCL7
|
||||
RETURN L
|
||||
?CCL7: IN? OBJ,ROOMS \?CCL9
|
||||
RETURN OBJ
|
||||
?CCL9: ZERO? INV /?CND10
|
||||
FSET? OBJ,INVISIBLE /FALSE
|
||||
?CND10: SET 'OBJ,L
|
||||
LOC OBJ >L
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT CANT-UNDO:ANY:0:0
|
||||
PRINTR "[I can't undo that now.]"
|
||||
|
||||
|
||||
.FUNCT PERFORM:ANY:1:3,PA,PO,PI,V,OA,OO,OI,OQ,OS,X,?TMP1,?TMP2
|
||||
SET 'OA,PRSA
|
||||
SET 'OO,PRSO
|
||||
SET 'OI,PRSI
|
||||
ZERO? OO /?CCL3
|
||||
EQUAL? OO,PI \?CCL3
|
||||
SET 'OBJ-SWAP,TRUE-VALUE
|
||||
JUMP ?CND1
|
||||
?CCL3: ZERO? OI /?CCL7
|
||||
EQUAL? OI,PO \?CCL7
|
||||
SET 'OBJ-SWAP,TRUE-VALUE
|
||||
JUMP ?CND1
|
||||
?CCL7: SET 'OBJ-SWAP,FALSE-VALUE
|
||||
?CND1: SET 'PRSA,PA
|
||||
SET 'PRSI,PI
|
||||
SET 'PRSO,PO
|
||||
ZERO? P-DBUG /?CND10
|
||||
PRINTI "{Perform: A="
|
||||
PRINTN PA
|
||||
ZERO? PO /?CND12
|
||||
PRINTI "/O="
|
||||
EQUAL? PRSA,V?WALK \?CCL16
|
||||
PRINTN PO
|
||||
JUMP ?CND12
|
||||
?CCL16: ICALL2 TELL-D-LOC,PO
|
||||
?CND12: ZERO? PI /?CND17
|
||||
PRINTI "/I="
|
||||
ICALL2 TELL-D-LOC,PI
|
||||
?CND17: ZERO? PRSQ /?CND19
|
||||
PRINTI "/Q="
|
||||
PRINTN PRSQ
|
||||
?CND19: ZERO? PRSS /?CND21
|
||||
PRINTI "/S="
|
||||
ICALL2 TELL-D-LOC,PRSS
|
||||
?CND21: PRINTI "}
|
||||
"
|
||||
?CND10: SET 'V,FALSE-VALUE
|
||||
ZERO? PRSS /?CND23
|
||||
ICALL2 THIS-IS-IT,PRSS
|
||||
?CND23: ZERO? PRSI /?CND25
|
||||
ICALL2 THIS-IS-IT,PRSI
|
||||
?CND25: ZERO? PRSO /?CND27
|
||||
EQUAL? PRSA,V?TELL /?CND27
|
||||
EQUAL? PRSA,V?WALK /?CND27
|
||||
ICALL2 THIS-IS-IT,PRSO
|
||||
?CND27: EQUAL? WINNER,PLAYER /?CND32
|
||||
ICALL2 THIS-IS-IT,WINNER
|
||||
?CND32: SET 'PO,PRSO
|
||||
SET 'PI,PRSI
|
||||
CALL1 NO-M-WINNER-VERB?
|
||||
ZERO? STACK \?CND34
|
||||
GETP WINNER,P?ACTION
|
||||
CALL D-APPLY,STR?47,STACK,M-WINNER >V
|
||||
?CND34: ZERO? PRSS /?CND37
|
||||
ZERO? V \?CND39
|
||||
GETP PRSS,P?ACTION
|
||||
CALL D-APPLY,STR?48,STACK,M-SUBJ >V
|
||||
?CND39: ZERO? V \?CND41
|
||||
ZERO? PRSQ /?CND41
|
||||
GET ACTIONS,PA >?TMP2
|
||||
ADD QACTIONS,2 >?TMP1
|
||||
GET QACTIONS,0
|
||||
INTBL? ?TMP2,?TMP1,STACK >X \?CND41
|
||||
GET X,2
|
||||
CALL D-APPLY,STR?49,STACK >V
|
||||
?CND41: ZERO? V \?CND47
|
||||
ZERO? PRSQ /?CCL51
|
||||
GET ACTIONS,PA >?TMP2
|
||||
ADD QACTIONS,2 >?TMP1
|
||||
GET QACTIONS,0
|
||||
INTBL? ?TMP2,?TMP1,STACK >X \?CND52
|
||||
GET X,1 >X
|
||||
ZERO? X /?CND52
|
||||
CALL D-APPLY,FALSE-VALUE,X >V
|
||||
?CND52: ZERO? V \?CND47
|
||||
GET ACTIONS,PRSQ
|
||||
CALL D-APPLY,FALSE-VALUE,STACK >V
|
||||
JUMP ?CND47
|
||||
?CCL51: ICALL D-APPLY,FALSE-VALUE,V-STATEMENT
|
||||
?CND47: EQUAL? M-FATAL,V \?CND58
|
||||
SET 'P-CONT,-1
|
||||
?CND58: SET 'PRSA,OA
|
||||
SET 'PRSO,OO
|
||||
SET 'PRSI,OI
|
||||
RETURN V
|
||||
?CND37: ZERO? V \?CND60
|
||||
LOC WINNER
|
||||
IN? STACK,ROOMS /?CND60
|
||||
LOC WINNER
|
||||
GETP STACK,P?ACTION
|
||||
CALL D-APPLY,STR?50,STACK,M-BEG >V
|
||||
?CND60: ZERO? V \?CND64
|
||||
GETP HERE,P?ACTION
|
||||
CALL D-APPLY,STR?50,STACK,M-BEG >V
|
||||
?CND64: ZERO? V \?CND66
|
||||
GET PREACTIONS,PA
|
||||
CALL D-APPLY,STR?49,STACK >V
|
||||
?CND66: SET 'NOW-PRSI,1
|
||||
ZERO? V \?CND68
|
||||
ZERO? PI /?CND68
|
||||
EQUAL? PRSA,V?WALK /?CND68
|
||||
LOC PI
|
||||
ZERO? STACK /?CND68
|
||||
LOC PI
|
||||
GETP STACK,P?CONTFCN >V
|
||||
ZERO? V /?CND68
|
||||
CALL D-APPLY,STR?51,V,M-CONTAINER >V
|
||||
?CND68: ZERO? V \?CND76
|
||||
ZERO? PI /?CND76
|
||||
EQUAL? PI,GLOBAL-HERE \?CND80
|
||||
GETP HERE,P?ACTION
|
||||
CALL D-APPLY,STR?52,STACK >V
|
||||
?CND80: ZERO? V \?CND76
|
||||
GETP PI,P?ACTION
|
||||
CALL D-APPLY,STR?52,STACK >V
|
||||
?CND76: SET 'NOW-PRSI,0
|
||||
ZERO? V \?CND84
|
||||
ZERO? PO /?CND84
|
||||
EQUAL? PRSA,V?WALK /?CND84
|
||||
LOC PO
|
||||
ZERO? STACK /?CND84
|
||||
LOC PO
|
||||
GETP STACK,P?CONTFCN >V
|
||||
ZERO? V /?CND84
|
||||
CALL D-APPLY,STR?51,V,M-CONTAINER >V
|
||||
?CND84: ZERO? V \?CND92
|
||||
ZERO? PO /?CND92
|
||||
EQUAL? PRSA,V?WALK /?CND92
|
||||
EQUAL? PO,GLOBAL-HERE \?CND97
|
||||
GETP HERE,P?ACTION
|
||||
CALL D-APPLY,STR?53,STACK >V
|
||||
?CND97: ZERO? V \?CND92
|
||||
GETP PO,P?ACTION
|
||||
CALL D-APPLY,STR?53,STACK >V
|
||||
?CND92: ZERO? V \?CND101
|
||||
GET ACTIONS,PA
|
||||
CALL D-APPLY,FALSE-VALUE,STACK >V
|
||||
?CND101: EQUAL? M-FATAL,V \?CND104
|
||||
SET 'P-CONT,-1
|
||||
?CND104: SET 'PRSA,OA
|
||||
SET 'PRSO,OO
|
||||
SET 'PRSI,OI
|
||||
RETURN V
|
||||
|
||||
|
||||
.FUNCT TELL-TOO-DARK:ANY:0:0
|
||||
PRINT TOO-DARK
|
||||
RETURN M-FATAL
|
||||
|
||||
|
||||
.FUNCT ITAKE-CHECK:ANY:2:2,OBJ,BITS,TAKEN
|
||||
EQUAL? OBJ,IT \?CCL3
|
||||
SET 'OBJ,P-IT-OBJECT
|
||||
JUMP ?CND1
|
||||
?CCL3: EQUAL? OBJ,THEM \?CND1
|
||||
SET 'OBJ,P-THEM-OBJECT
|
||||
?CND1: CALL HELD?,OBJ,WINNER
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? OBJ,HANDS,ROOMS /FALSE
|
||||
FSET? OBJ,TRYTAKEBIT /?CND10
|
||||
EQUAL? WINNER,PLAYER /?CCL14
|
||||
SET 'TAKEN,TRUE-VALUE
|
||||
JUMP ?CND10
|
||||
?CCL14: BTST BITS,32 \?CND10
|
||||
CALL ITAKE,FALSE-VALUE,OBJ
|
||||
EQUAL? STACK,TRUE-VALUE \?CND10
|
||||
SET 'TAKEN,TRUE-VALUE
|
||||
?CND10: ZERO? TAKEN \FALSE
|
||||
BTST BITS,64 \FALSE
|
||||
BTST BITS,128 /FALSE
|
||||
PRINTC 91
|
||||
EQUAL? WINNER,PLAYER \?CCL26
|
||||
PRINTI "You are"
|
||||
JUMP ?CND24
|
||||
?CCL26: ICALL2 TELL-CTHE,WINNER
|
||||
PRINTI " is"
|
||||
?CND24: PRINTI "n't holding "
|
||||
ICALL2 TELL-THE,OBJ
|
||||
ICALL2 THIS-IS-IT,OBJ
|
||||
PRINTR "!]"
|
||||
|
||||
|
||||
.FUNCT TELL-D-LOC:ANY:1:1,OBJ
|
||||
PRINTD OBJ
|
||||
IN? OBJ,GLOBAL-OBJECTS \?CCL3
|
||||
PRINTI "(gl)"
|
||||
JUMP ?CND1
|
||||
?CCL3: IN? OBJ,LOCAL-GLOBALS \?CCL5
|
||||
PRINTI "(lg)"
|
||||
JUMP ?CND1
|
||||
?CCL5: IN? OBJ,ROOMS \?CND1
|
||||
PRINTI "(rm)"
|
||||
?CND1: EQUAL? OBJ,INTNUM \FALSE
|
||||
PRINTC 40
|
||||
PRINTN P-NUMBER
|
||||
PRINTC 41
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT D-APPLY:ANY:2:3,STR,FCN,FOO,RES
|
||||
ZERO? FCN /FALSE
|
||||
ZERO? P-DBUG /?CND4
|
||||
ZERO? STR \?CCL8
|
||||
PRINTI "{Action:}
|
||||
"
|
||||
JUMP ?CND4
|
||||
?CCL8: PRINTC 123
|
||||
PRINT STR
|
||||
EQUAL? STR,STR?47 \?CND9
|
||||
PRINTC 61
|
||||
PRINTD WINNER
|
||||
?CND9: PRINTI ": "
|
||||
?CND4: ZERO? FOO /?CCL13
|
||||
CALL FCN,FOO >RES
|
||||
JUMP ?CND11
|
||||
?CCL13: CALL FCN >RES
|
||||
?CND11: ZERO? P-DBUG /?CND14
|
||||
ZERO? STR /?CND14
|
||||
EQUAL? M-FATAL,RES /?CTR19
|
||||
EQUAL? P-CONT,-1 \?CCL20
|
||||
?CTR19: PRINTI "Fatal}
|
||||
"
|
||||
RETURN RES
|
||||
?CCL20: ZERO? RES \?CCL24
|
||||
PRINTI "Not handled}
|
||||
"
|
||||
RETURN RES
|
||||
?CCL24: PRINTI "Handled}
|
||||
"
|
||||
?CND14: RETURN RES
|
||||
|
||||
|
||||
.FUNCT NOT-HERE:ANY:1:2,OBJ,CLOCK
|
||||
ZERO? CLOCK \?CND1
|
||||
SET 'CLOCK-WAIT,TRUE-VALUE
|
||||
PRINTI "[But"
|
||||
?CND1: PRINTC 32
|
||||
ICALL2 TELL-THE,OBJ
|
||||
ICALL2 PRINT-IS/ARE,OBJ
|
||||
PRINTI "n't "
|
||||
CALL2 VISIBLE?,OBJ
|
||||
ZERO? STACK /?CCL5
|
||||
PRINTI "close enough"
|
||||
CALL1 SPEAKING-VERB?
|
||||
ZERO? STACK /?CND6
|
||||
PRINTI " to hear you"
|
||||
?CND6: PRINTC 46
|
||||
JUMP ?CND3
|
||||
?CCL5: PRINTI "here!"
|
||||
?CND3: ICALL2 THIS-IS-IT,OBJ
|
||||
ZERO? CLOCK \?CND8
|
||||
PRINTC 93
|
||||
?CND8: CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT GET-OWNER:ANY:1:1,OBJ,TMP,NP
|
||||
CALL2 GET-NP,OBJ >NP
|
||||
ZERO? NP /FALSE
|
||||
GET NP,4 >TMP
|
||||
ZERO? TMP \?CTR5
|
||||
GET NP,1 >TMP
|
||||
ZERO? TMP /?CCL6
|
||||
GET TMP,2 >TMP
|
||||
ZERO? TMP /?CCL6
|
||||
?CTR5: LESS? 0,TMP \FALSE
|
||||
GRTR? TMP,LAST-OBJECT /FALSE
|
||||
RETURN TMP
|
||||
?CCL6: GETP OBJ,P?OWNER >TMP
|
||||
ZERO? TMP /FALSE
|
||||
LESS? 0,TMP \?CCL17
|
||||
GRTR? TMP,LAST-OBJECT \FALSE
|
||||
?CCL17: RETURN PLAYER
|
||||
|
||||
|
||||
.FUNCT GET-NP:ANY:0:1,OBJ,PRSI?
|
||||
SET 'PRSI?,NOW-PRSI
|
||||
EQUAL? OBJ,FALSE-VALUE,PRSO,PRSI \FALSE
|
||||
ZERO? OBJ /?CND1
|
||||
EQUAL? OBJ,PRSO \?CCL7
|
||||
SET 'PRSI?,FALSE-VALUE
|
||||
JUMP ?CND1
|
||||
?CCL7: SET 'PRSI?,TRUE-VALUE
|
||||
?CND1: ZERO? OBJ-SWAP /?CCL10
|
||||
ZERO? PRSI? /?CCL13
|
||||
RETURN PRSO-NP
|
||||
?CCL13: RETURN PRSI-NP
|
||||
?CCL10: ZERO? PRSI? /?CCL15
|
||||
RETURN PRSI-NP
|
||||
?CCL15: RETURN PRSO-NP
|
||||
|
||||
|
||||
.FUNCT NOUN-USED?:ANY:2:4,OBJ,WD1,WD2,WD3,X
|
||||
CALL2 GET-NP,OBJ >X
|
||||
ZERO? X /FALSE
|
||||
GET X,2 >X
|
||||
ZERO? X /FALSE
|
||||
EQUAL? X,WD1,WD2,WD3 /TRUE
|
||||
RFALSE
|
||||
|
||||
.ENDSEG
|
||||
|
||||
.ENDI
|
|
@ -0,0 +1,302 @@
|
|||
<FLAGS-AND-DEFAULTS (("IN-ZILCH" T)) ()>
|
||||
|
||||
<DEFINE-ROUTINE TRANSCRIPT>
|
||||
<DEFINE-ROUTINE V-SCRIPT>
|
||||
<DEFINE-ROUTINE V-UNSCRIPT>
|
||||
<DEFINE-ROUTINE V-$ID>
|
||||
<DEFINE-ROUTINE V-$VERIFY>
|
||||
<GLOBAL VERBOSITY:NUMBER 1>
|
||||
<DEFINE-ROUTINE YOU-WILL-GET>
|
||||
<DEFINE-ROUTINE V-SUPER-BRIEF>
|
||||
<DEFINE-ROUTINE V-BRIEF>
|
||||
<DEFINE-ROUTINE V-VERBOSE>
|
||||
<DEFINE-ROUTINE V-INVENTORY>
|
||||
<DEFINE-ROUTINE V-QUIT>
|
||||
<DEFINE-ROUTINE V-RESTART>
|
||||
<DEFINE-ROUTINE TELL-FAILED>
|
||||
<DEFINE-ROUTINE V-SAVE>
|
||||
<DEFINE-ROUTINE V-RESTORE>
|
||||
<DEFINE-ROUTINE V-FIRST-LOOK>
|
||||
<DEFINE-ROUTINE V-VERSION>
|
||||
<CONSTANT SCORE-MAX 400>
|
||||
<DEFINE-ROUTINE V-SCORE>
|
||||
<DEFINE-ROUTINE NO-NEED>
|
||||
<DEFINE-ROUTINE YOU-CANT>
|
||||
<DEFINE-ROUTINE TELL-BEING-WORN>
|
||||
<GLOBAL YAWNS <LTABLE 0 "unusual" "interesting" "extraordinary" "special">>
|
||||
<DEFINE-ROUTINE PRINT-CONTENTS>
|
||||
<DEFINE-ROUTINE DESCRIBE-OBJECTS>
|
||||
<DEFINE-ROUTINE SEE-ANYTHING-IN?>
|
||||
<DEFINE-ROUTINE DESCRIBE-ROOM>
|
||||
<CONSTANT REXIT 0>
|
||||
<CONSTANT UEXIT <VERSION? (ZIP 1) (T 2)>>
|
||||
<CONSTANT NEXIT <VERSION? (ZIP 2) (T 3)>>
|
||||
<CONSTANT FEXIT <VERSION? (ZIP 3) (T 4)>>
|
||||
<CONSTANT CEXIT <VERSION? (ZIP 4) (T 5)>>
|
||||
<CONSTANT DEXIT <VERSION? (ZIP 5) (T 6)>>
|
||||
<CONSTANT NEXITSTR 0>
|
||||
<CONSTANT FEXITFCN 0>
|
||||
<CONSTANT CEXITFLAG <VERSION? (ZIP 1) (T 4)>>
|
||||
<CONSTANT CEXITSTR 1>
|
||||
<CONSTANT DEXITOBJ 1>
|
||||
<CONSTANT DEXITSTR <VERSION? (ZIP 1) (T 2)>>
|
||||
<DEFINE-ROUTINE HAR-HAR>
|
||||
<GLOBAL YUKS <LTABLE 0 "What a concept." "Nice try." "You can't be serious."
|
||||
"Not bloody likely.">>
|
||||
<DEFINE-ROUTINE IMPOSSIBLE>
|
||||
<GLOBAL IMPOSSIBLES <LTABLE 0 "You have lost your mind."
|
||||
"You are clearly insane." "You appear to have gone barking mad."
|
||||
"I'm not convinced you're allowed to be playing with this computer."
|
||||
"Run out on the street and say that. See what happens."
|
||||
"No, no, a thousand times no. Go boil an egg.">>
|
||||
<DEFINE-ROUTINE WONT-HELP>
|
||||
<GLOBAL WASTES <LTABLE 0 "Complete waste of time." "Useless. Utterly useless."
|
||||
"A totally unhelpful idea.">>
|
||||
<DEFINE-ROUTINE PICK-ONE-NEW>
|
||||
<DEFINE-ROUTINE PICK-ONE>
|
||||
<DEFINE-ROUTINE NOT-HOLDING?>
|
||||
<DEFINE-ROUTINE GOTO>
|
||||
<DEFINE-ROUTINE MAKE-ALL-PEOPLE>
|
||||
<GLOBAL FOLLOWER:OBJECT 0>
|
||||
<DEFINE-ROUTINE FRIEND-FOLLOWS-YOU>
|
||||
<GLOBAL TRAILS-ALONG <PLTABLE " walks a few steps behind." " trails along."
|
||||
" stays at your side." " walks along with you.">>
|
||||
<DEFINE-ROUTINE DIR-FROM>
|
||||
<DEFINE-ROUTINE DIR-FROM-TEST>
|
||||
<DEFINE-ROUTINE HACK-HACK>
|
||||
<GLOBAL HO-HUM <PLTABLE " won't help any." " is a waste of time.">>
|
||||
<DEFINE-ROUTINE HELD?>
|
||||
<DEFINE-ROUTINE IDROP>
|
||||
<GLOBAL FUMBLE-NUMBER:NUMBER 7>
|
||||
<GLOBAL FUMBLE-PROB:NUMBER 8>
|
||||
<DEFINE-ROUTINE ITAKE>
|
||||
<DEFINE-ROUTINE CCOUNT>
|
||||
<DEFINE-ROUTINE CHECK-DOOR>
|
||||
<DEFINE-ROUTINE ROOM-CHECK>
|
||||
<DEFINE-ROUTINE SEE-INSIDE?>
|
||||
<DEFINE-ROUTINE ARENT-TALKING>
|
||||
<DEFINE-ROUTINE ALREADY>
|
||||
<DEFINE-ROUTINE NOT-CLEAR-WHOM>
|
||||
<DEFINE-ROUTINE OKAY>
|
||||
<DEFINE-ROUTINE TOO-BAD-BUT>
|
||||
<DEFINE-ROUTINE TOO-DARK>
|
||||
<DEFINE-ROUTINE VISIBLE?>
|
||||
<DEFINE-ROUTINE ACCESSIBLE?>
|
||||
<CONSTANT WHO-CARES-LENGTH 4>
|
||||
<GLOBAL WHO-CARES-VERB <PLTABLE "do" "do" "let" "seem">>
|
||||
<GLOBAL WHO-CARES-TBL <PLTABLE "n't appear interested" "n't care"
|
||||
" out a loud yawn" " impatient">>
|
||||
<DEFINE-ROUTINE WHO-CARES>
|
||||
<DEFINE-ROUTINE PRE-SAIM>
|
||||
<DEFINE-ROUTINE V-SAIM>
|
||||
<DEFINE-ROUTINE V-AIM>
|
||||
<DEFINE-ROUTINE PRE-SANALYZE>
|
||||
<DEFINE-ROUTINE V-SANALYZE>
|
||||
<DEFINE-ROUTINE PRE-ANALYZE>
|
||||
<DEFINE-ROUTINE V-ANALYZE>
|
||||
<DEFINE-ROUTINE V-ANSWER>
|
||||
<DEFINE-ROUTINE V-REPLY>
|
||||
<DEFINE-ROUTINE WAITING-FOR-YOU-TO-SPEAK>
|
||||
<DEFINE-ROUTINE V-ASK>
|
||||
<DEFINE-ROUTINE PRE-ASK>
|
||||
<DEFINE-ROUTINE GRAB-ATTENTION>
|
||||
<DEFINE-ROUTINE V-ASK-ABOUT>
|
||||
<DEFINE-ROUTINE WONT-HELP-TO-TALK-TO>
|
||||
<DEFINE-ROUTINE PRE-ASK-CONTEXT-ABOUT>
|
||||
<DEFINE-ROUTINE V-ASK-CONTEXT-ABOUT>
|
||||
<DEFINE-ROUTINE V-ASK-FOR>
|
||||
<DEFINE-ROUTINE PRE-ASK-CONTEXT-FOR>
|
||||
<DEFINE-ROUTINE V-ASK-CONTEXT-FOR>
|
||||
<DEFINE-ROUTINE V-ATTACK>
|
||||
<DEFINE-ROUTINE PRE-BRUSH>
|
||||
<DEFINE-ROUTINE V-BRUSH>
|
||||
<DEFINE-ROUTINE V-BUY>
|
||||
<DEFINE-ROUTINE V-$CALL>
|
||||
<DEFINE-ROUTINE UNSNOOZE>
|
||||
<DEFINE-ROUTINE V-CHASTISE>
|
||||
<DEFINE-ROUTINE V-BOARD>
|
||||
<DEFINE-ROUTINE V-CLIMB-ON>
|
||||
<DEFINE-ROUTINE V-CLIMB-UP>
|
||||
<DEFINE-ROUTINE V-CLIMB-DOWN>
|
||||
<DEFINE-ROUTINE V-CLOSE>
|
||||
<DEFINE-ROUTINE V-COUNT>
|
||||
<DEFINE-ROUTINE V-DIAGNOSE>
|
||||
<DEFINE-ROUTINE TELL-NOT-IN>
|
||||
<DEFINE-ROUTINE V-DRINK>
|
||||
<DEFINE-ROUTINE V-DROP>
|
||||
<DEFINE-ROUTINE GROUND-DESC>
|
||||
<DEFINE-ROUTINE PRE-EAT>
|
||||
<DEFINE-ROUTINE V-EAT>
|
||||
<DEFINE-ROUTINE V-ENJOY>
|
||||
<DEFINE-ROUTINE PRE-THROUGH>
|
||||
<DEFINE-ROUTINE V-THROUGH>
|
||||
<DEFINE-ROUTINE PRE-EXAMINE>
|
||||
<DEFINE-ROUTINE V-EXAMINE>
|
||||
<DEFINE-ROUTINE NOTHING-SPECIAL>
|
||||
<DEFINE-ROUTINE GLOBAL-IN?>
|
||||
<DEFINE-ROUTINE V-FAINT>
|
||||
<DEFINE-ROUTINE V-FILL>
|
||||
<DEFINE-ROUTINE PRE-FIND>
|
||||
<DEFINE-ROUTINE BITE-YOU>
|
||||
<DEFINE-ROUTINE FAR-AWAY?>
|
||||
<DEFINE-ROUTINE V-FIND>
|
||||
<DEFINE-ROUTINE NO-FUN>
|
||||
<DEFINE-ROUTINE TELL-LOCATION>
|
||||
<DEFINE-ROUTINE V-FIX>
|
||||
<DEFINE-ROUTINE FOLLOW-LOC?>
|
||||
<DEFINE-ROUTINE V-FOLLOW>
|
||||
<DEFINE-ROUTINE V-FOO>
|
||||
<DEFINE-ROUTINE V-FOOTNOTE>
|
||||
<DEFINE-ROUTINE I-REPLY>
|
||||
<GLOBAL AWAITING-REPLY <>>
|
||||
<DEFINE-ROUTINE PRE-GIVE>
|
||||
<DEFINE-ROUTINE V-GIVE>
|
||||
<DEFINE-ROUTINE PRE-SGIVE>
|
||||
<DEFINE-ROUTINE V-SGIVE>
|
||||
<CONSTANT I-ASSUME "[I assume you mean:">
|
||||
<DEFINE-ROUTINE TELL-I-ASSUME>
|
||||
<DEFINE-ROUTINE PRE-HELLO>
|
||||
<DEFINE-ROUTINE V-HELLO>
|
||||
<DEFINE-ROUTINE V-HELP>
|
||||
<DEFINE-ROUTINE HELP-TEXT>
|
||||
<DEFINE-ROUTINE V-HIDE>
|
||||
<DEFINE-ROUTINE V-KILL>
|
||||
<CONSTANT YOU-DIDNT-SAY-W "[You didn't say w">
|
||||
<DEFINE-ROUTINE IKILL>
|
||||
<CONSTANT NO-VIOLENCE "You think it over. There's no need to get violent.|">
|
||||
<DEFINE-ROUTINE V-KISS>
|
||||
<DEFINE-ROUTINE V-KNOCK>
|
||||
<DEFINE-ROUTINE V-LAMP-OFF>
|
||||
<DEFINE-ROUTINE V-LAMP-ON>
|
||||
<DEFINE-ROUTINE V-LEAP>
|
||||
<DEFINE-ROUTINE V-SKIP>
|
||||
<DEFINE-ROUTINE WHEE>
|
||||
<DEFINE-ROUTINE V-LEAVE>
|
||||
<DEFINE-ROUTINE PRE-LIE>
|
||||
<DEFINE-ROUTINE V-LIE>
|
||||
<DEFINE-ROUTINE PRE-LISTEN>
|
||||
<DEFINE-ROUTINE V-LISTEN>
|
||||
<DEFINE-ROUTINE V-LOCK>
|
||||
<DEFINE-ROUTINE V-LOOK>
|
||||
<DEFINE-ROUTINE V-LOOK-BEHIND>
|
||||
<DEFINE-ROUTINE V-LOOK-DOWN>
|
||||
<DEFINE-ROUTINE PRE-LOOK-INSIDE>
|
||||
<DEFINE-ROUTINE V-LOOK-INSIDE>
|
||||
<DEFINE-ROUTINE FIRST-YOU>
|
||||
<DEFINE-ROUTINE V-LOOK-THROUGH>
|
||||
<DEFINE-ROUTINE NO-BEYOND>
|
||||
<DEFINE-ROUTINE ROOM-PEEK>
|
||||
<DEFINE-ROUTINE SEE-INTO?>
|
||||
<DEFINE-ROUTINE TELL-CANT-FIND>
|
||||
<DEFINE-ROUTINE V-LOOK-ON>
|
||||
<DEFINE-ROUTINE V-LOOK-OUTSIDE>
|
||||
<DEFINE-ROUTINE PRE-LOOK-UNDER>
|
||||
<DEFINE-ROUTINE V-LOOK-UNDER>
|
||||
<DEFINE-ROUTINE V-LOOK-UP>
|
||||
<DEFINE-ROUTINE PRE-MOVE>
|
||||
<DEFINE-ROUTINE V-MOVE>
|
||||
<DEFINE-ROUTINE PRE-MOVE-DIR>
|
||||
<DEFINE-ROUTINE V-MOVE-DIR>
|
||||
<DEFINE-ROUTINE V-MUNG>
|
||||
<DEFINE-ROUTINE V-NOD>
|
||||
<DEFINE-ROUTINE V-OPEN>
|
||||
<DEFINE-ROUTINE V-PANIC>
|
||||
<DEFINE-ROUTINE V-PLAY>
|
||||
<DEFINE-ROUTINE V-POUR>
|
||||
<DEFINE-ROUTINE V-PULL-TOGETHER>
|
||||
<DEFINE-ROUTINE V-PUSH>
|
||||
<DEFINE-ROUTINE V-SPUT-ON>
|
||||
<DEFINE-ROUTINE PRE-PUT>
|
||||
<DEFINE-ROUTINE V-PUT>
|
||||
<DEFINE-ROUTINE TELL-FIND-NONE>
|
||||
<DEFINE-ROUTINE PRE-PUT-IN>
|
||||
<DEFINE-ROUTINE V-PUT-IN>
|
||||
<CONSTANT NOT-ENOUGH-ROOM "There's not enough room.|">
|
||||
<DEFINE-ROUTINE PUT-ON-OR-IN>
|
||||
<DEFINE-ROUTINE WEIGHT>
|
||||
<DEFINE-ROUTINE V-PUT-UNDER>
|
||||
<DEFINE-ROUTINE PRE-SREAD>
|
||||
<DEFINE-ROUTINE V-SREAD>
|
||||
<DEFINE-ROUTINE PRE-READ>
|
||||
<DEFINE-ROUTINE V-READ>
|
||||
<DEFINE-ROUTINE V-REFUSE>
|
||||
<DEFINE-ROUTINE V-RELAX>
|
||||
<CONSTANT ZEN "A brave, Zen-like effort. It fails.">
|
||||
<DEFINE-ROUTINE V-REMOVE>
|
||||
<DEFINE-ROUTINE V-RING>
|
||||
<DEFINE-ROUTINE V-RUB>
|
||||
<DEFINE-ROUTINE V-SAY>
|
||||
<DEFINE-ROUTINE PRE-SEARCH>
|
||||
<DEFINE-ROUTINE V-SEARCH>
|
||||
<CONSTANT OU-STOP-SEARCHING "ou stop searching">
|
||||
<DEFINE-ROUTINE PRE-SSEARCH-FOR>
|
||||
<DEFINE-ROUTINE V-SSEARCH-FOR>
|
||||
<DEFINE-ROUTINE PRE-SEARCH-FOR>
|
||||
<DEFINE-ROUTINE V-SEARCH-FOR>
|
||||
<DEFINE-ROUTINE V-SHAKE>
|
||||
<DEFINE-ROUTINE V-SHOOT>
|
||||
<DEFINE-ROUTINE PRE-SSHOOT>
|
||||
<DEFINE-ROUTINE V-SSHOOT>
|
||||
<DEFINE-ROUTINE V-SHOW>
|
||||
<DEFINE-ROUTINE PRE-SSHOW>
|
||||
<DEFINE-ROUTINE V-SSHOW>
|
||||
<DEFINE-ROUTINE PRE-SIT>
|
||||
<DEFINE-ROUTINE V-SIT>
|
||||
<DEFINE-ROUTINE V-SIT-AT>
|
||||
<DEFINE-ROUTINE V-SLAP>
|
||||
<DEFINE-ROUTINE IF-SPY>
|
||||
<DEFINE-ROUTINE FACE-RED>
|
||||
<DEFINE-ROUTINE V-SMELL>
|
||||
<DEFINE-ROUTINE V-SMILE>
|
||||
<DEFINE-ROUTINE V-SORRY>
|
||||
<DEFINE-ROUTINE V-STAND>
|
||||
<DEFINE-ROUTINE V-STOP>
|
||||
<DEFINE-ROUTINE V-SWIM>
|
||||
<DEFINE-ROUTINE PRE-TAKE>
|
||||
<DEFINE-ROUTINE PRE-TAKE-WITH>
|
||||
<DEFINE-ROUTINE V-TAKE>
|
||||
<DEFINE-ROUTINE V-TAKE-OFF>
|
||||
<DEFINE-ROUTINE V-TAKE-TO>
|
||||
<DEFINE-ROUTINE V-DISEMBARK>
|
||||
<DEFINE-ROUTINE OWN-FEET>
|
||||
<DEFINE-ROUTINE V-HOLD-UP>
|
||||
<DEFINE-ROUTINE V-TELL>
|
||||
<DEFINE-ROUTINE PRE-STELL-ABOUT>
|
||||
<DEFINE-ROUTINE V-STELL-ABOUT>
|
||||
<DEFINE-ROUTINE PRE-TELL-ABOUT>
|
||||
<DEFINE-ROUTINE V-TELL-ABOUT>
|
||||
<DEFINE-ROUTINE PRE-TALK-ABOUT>
|
||||
<DEFINE-ROUTINE V-TALK-ABOUT>
|
||||
<DEFINE-ROUTINE V-THANK>
|
||||
<DEFINE-ROUTINE V-THROW>
|
||||
<DEFINE-ROUTINE V-THROW-AT>
|
||||
<DEFINE-ROUTINE V-THROW-IN-TOWEL>
|
||||
<DEFINE-ROUTINE PRE-THROW-THROUGH>
|
||||
<DEFINE-ROUTINE V-THROW-THROUGH>
|
||||
<DEFINE-ROUTINE V-TURN>
|
||||
<DEFINE-ROUTINE V-UNLOCK>
|
||||
<DEFINE-ROUTINE V-USE>
|
||||
<GLOBAL KEEP-WAITING <>>
|
||||
<DEFINE-ROUTINE V-WAIT>
|
||||
<DEFINE-ROUTINE V-WAIT-FOR>
|
||||
<DEFINE-ROUTINE V-WAIT-UNTIL>
|
||||
<DEFINE-ROUTINE V-ALARM>
|
||||
<DEFINE-ROUTINE DO-WALK>
|
||||
<DEFINE-ROUTINE V-WALK>
|
||||
<DEFINE-ROUTINE UNLOCK-DOOR?>
|
||||
<DEFINE-ROUTINE WALK-THRU-DOOR?>
|
||||
<DEFINE-ROUTINE OPEN-DOOR-AND-CLOSE-IT-AGAIN>
|
||||
<DEFINE-ROUTINE V-WALK-AROUND>
|
||||
<CONSTANT WHICH-DIR "Which direction do you want to go in?">
|
||||
<DEFINE-ROUTINE WHO-KNOWS?>
|
||||
<DEFINE-ROUTINE WALK-WITHIN-ROOM>
|
||||
<DEFINE-ROUTINE V-WALK-TO>
|
||||
<DEFINE-ROUTINE ENTER-ROOM>
|
||||
<DEFINE-ROUTINE V-RUN-OVER>
|
||||
<DEFINE-ROUTINE V-YELL>
|
||||
<DEFINE-ROUTINE V-YES>
|
||||
<DEFINE-ROUTINE V-NO>
|
||||
<DEFINE-ROUTINE JIGS-UP>
|
||||
<DEFINE-ROUTINE FINISH>
|
||||
<DEFINE-ROUTINE V-UNDO>
|
||||
<DEFINE-ROUTINE REMOTE-VERB?>
|
Loading…
Reference in New Issue