;COMPARISON OF SS:PARSER.ZIL.70 AND SS:GPARSER.ZIL.44 ;OPTIONS ARE /3 **** FILE SS:PARSER.ZIL.70, 1-1 (0) "PARSER for ENCHANTER (c) Copyright 1983 Infocom, Inc. All Rights Reserved. " "Parser global variable convention: All parser globals will begin with 'P-'. Local variables are not restricted in any way. " > > > > ;"INBUF - Input buffer for READ" > ;"Parse-cont variable" > > ;"Orphan flag" > > > > > ;"Parser variables and temporaries" ;"Byte offset to # of entries in LEXV" ;"Word offset to start of LEXV entries" ;"Number of words per LEXV entry" ;"Offset to parts of speech byte" ;"Offset to first part of speech" ;"First part of speech bit mask in PSOFF byte" > > > > **** FILE SS:GPARSER.ZIL.44, 1-1 (0) "Generic PARSER file for The ZORK Trilogy started on 7/28/83 by MARC" ;"WHICH and TRAP retrofixes installed" "Parser global variable convention: All parser globals will begin with 'P-'. Local variables are not restricted in any way. " > > > > ;"pointers used by CLAUSE-COPY (source/destination beginning/end pointers)" ;> ;> ;> > ;"INBUF - Input buffer for READ" ;> ;> <> <> <>>> "word pointer to unknown token in P-LEXV" "word pointer to sentence start in P-LEXV" "byte length of unparsed tokens in P-LEXV" "byte pointer to first free byte in OOPS-INBUF" ;"Parse-cont variable" > > ;> ;"Orphan flag" > > > > > ;"Parser variables and temporaries" ;"Byte offset to # of entries in LEXV" ;"Word offset to start of LEXV entries" ;"Number of words per LEXV entry" ;"Offset to parts of speech byte" ;"Offset to first part of speech" ;"First part of speech bit mask in PSOFF byte" > > > > > > *************** **** FILE SS:PARSER.ZIL.70, 2-56 (2115) all required orphaning, syntax checking, and noun clause lookup." ) LEN (DIR <>) (NW 0) (LW 0) NUM SCNT (CNT -1)) > ,P-ITBLLEN> ) (T )>> > > **** FILE SS:GPARSER.ZIL.44, 1-107 (2815) all required orphaning, syntax checking, and noun clause lookup." ) (OF-FLAG <>) OWINNER OMERGED LEN (DIR <>) (NW 0) (LW 0) (CNT -1)) > ,P-ITBLLEN> ) (T >)> )>> > > > *************** **** FILE SS:PARSER.ZIL.70, 3-14 (2637) ,VEHBIT>> >)> >)> <==? ,PLAYER ,WINNER>> **** FILE SS:GPARSER.ZIL.44, 2-20 (3521) > ; ,VEHBIT>> >)> >)> > )> > >) (,P-CONT >> *************** **** FILE SS:PARSER.ZIL.70, 3-32 (3248) )> > GPARSER.ZIL.44, 2-48 (4443) )> > ,W?OOPS> > ,W?PERIOD ,W?COMMA> > >)> > ) ( > ,W?QUOTE>> ) ( )> >> ;"maybe fix oops vs. chars.?" 6>> 7>> <+ <* ,P-LEXELEN> 3>> > > ) (T > )>) (T > )> >)> ,W?AGAIN ,W?G> > ) (,P-OFLAG ) ( ) ( > ,W?PERIOD ,W?COMMA ,W?THEN> > ,W?AND>> >> 2>>) (T )>) (T > 1>>)> 0> ) (T >)> ;> ) (T >)>>) (T > >>>> > >>> > > PARSER.ZIL.70, 3-43 (3570) > ) ( ;"Last NOT added 7/3"> )> > ) ( > **** FILE SS:GPARSER.ZIL.44, 2-145 (7989) ) (T >>)> > ) ( ;"Last NOT added 7/3"> ) (ELSE )>)> *************** **** FILE SS:PARSER.ZIL.70, 3-61 (4219) **** FILE SS:GPARSER.ZIL.44, 2-165 (8724) *************** **** FILE SS:PARSER.ZIL.70, 3-69 (4443) ,ACT?WALK ,ACT?FLY> > >> **** FILE SS:GPARSER.ZIL.44, 2-173 (8951) ,ACT?WALK> > PARSER.ZIL.70, 3-81 (4818) <==? .LEN 2> **** FILE SS:GPARSER.ZIL.44, 2-183 (9253) *************** **** FILE SS:PARSER.ZIL.70, 3-94 (5228) ; >> **** FILE SS:GPARSER.ZIL.44, 2-196 (9666) > *************** **** FILE SS:PARSER.ZIL.70, 3-101 (5479) 2>>>> >>) (> **** FILE SS:GPARSER.ZIL.44, 2-202 (9862) 2>>>> >>) (> *************** **** FILE SS:PARSER.ZIL.70, 3-109 (5777) <==? > ,W?OF> ;> <0? .VAL> >>) (> > ,W?THEN ,W?PERIOD>>> **** FILE SS:GPARSER.ZIL.44, 2-210 (10163) > ;>> ) (> >> *************** **** FILE SS:PARSER.ZIL.70, 3-124 (6261) (<==? ,P-NCN 2> **** FILE SS:GPARSER.ZIL.44, 2-224 (10630) ( *************** **** FILE SS:PARSER.ZIL.70, 3-130 (6418) **** FILE SS:GPARSER.ZIL.44, 2-230 (10793) *************** **** FILE SS:PARSER.ZIL.70, 3-135 (6567) ;( > ) () ( > **** FILE SS:GPARSER.ZIL.44, 2-236 (10971) ( > ) (T >)>) () ( > *************** **** FILE SS:PARSER.ZIL.70, 3-153 (7103) >> ) (T >)> )> > )> ; 0> )> > T)>> > > **** FILE SS:GPARSER.ZIL.44, 2-258 (11580) >>)> > > ) (ELSE )> > > > T)>)>> > > > ;"For AGAIN purposes, put contents of one LEXV table into another." > > > 2>> > 3>> > > )>>> ;"Put contents of one INBUF into another" 1>> > )>>> ;"Put the word in the positions specified from P-INBUF to the end of OOPS-INBUF, leaving the appropriate pointers in AGAIN-LEXV" > ) (T >> >>>)> > >> > )>> .LEN>> *************** **** FILE SS:PARSER.ZIL.70, 3-177 (7852) for that part of speech to be returned." GPARSER.ZIL.44, 2-322 (13698) for that part of speech to be returned." PARSER.ZIL.70, 4-7 (8110) > >)> )>)>> ;" Scan through a noun clause, leave a pointer to its starting location" ) (FIRST?? T) NW (LW 0)) #DECL ((PTR VAL OFF NUM) FIX (WRD NW) (ANDFLG FIRST??) ) 2>> > **** FILE SS:GPARSER.ZIL.44, 3-7 (13954) > >)> )>)>> ;" Scan through a noun clause, leave a pointer to its starting location" ) (FIRST?? T) NW (LW 0)) 2>> > *************** **** FILE SS:PARSER.ZIL.70, 4-20 (8698) > )> **** FILE SS:GPARSER.ZIL.44, 3-19 (14444) > )> *************** **** FILE SS:PARSER.ZIL.70, 4-30 (9157) ) (T >>)> ; <==? ,ACT?ACCUSE>> )> > ) ( ) ( **** FILE SS:GPARSER.ZIL.44, 3-29 (14906) ) (T >>)> ) ( *************** **** FILE SS:PARSER.ZIL.70, 4-55 (10103) > **** FILE SS:GPARSER.ZIL.44, 3-47 (15608) >> T) ( > *************** **** FILE SS:PARSER.ZIL.70, 4-86 (11067) >>> **** FILE SS:GPARSER.ZIL.44, 3-82 (16687) >>> *************** **** FILE SS:PARSER.ZIL.70, 4-95 (11374) **** FILE SS:GPARSER.ZIL.44, 3-91 (16993) *************** **** FILE SS:PARSER.ZIL.70, 4-104 (11665) ) **** FILE SS:GPARSER.ZIL.44, 3-100 (17287) ) *************** **** FILE SS:PARSER.ZIL.70, 5-2 (11898) ) WRD) #DECL ((CNT TEMP VERB) FIX (BEG END) (WRD) TABLE) > >>> >>> ) (<==? ,P-NCN 2> ) (<==? 1> > > <0? .TEMP>> > >) (T )>) (<==? 1> > > <0? .TEMP>> > > ) (T )>) (,P-ACLAUSE > > ) (T > > ) (T > )>) (> ,P-PSOFF> ,PS?ADJECTIVE> > ) ( ,PS?OBJECT> <==? .WRD ,W?ONE>> > ) (T )>)> >>)>)> > ,P-ITBLLEN> ) (T >)>> T> .ADJ> 0>> > > > ;"Print undefined word in input. PTR points to the unknown word in P-LEXV" **** FILE SS:GPARSER.ZIL.44, 3-110 (17515) ;"New ORPHAN-MERGE for TRAP Retrofix 6/21/84" ) WRD) > 0>> ,PS?VERB ,P1?VERB> > >>> ) (>> > > > )> >>> >>> ) ( ) ( 1> > > > > > >)> )>) (T >)> >) (T )>) ( 1> > > > > > >)>)> > > ) (T )>) (> > > > ) (T > > >)> > > ) (T > )>) ( ,PS?ADJECTIVE> >> ) ( ) ( ,PS?OBJECT> ) (T )> )> > > )>>)>)> > > > > ,P-ITBLLEN> ) (T >)>> T> ;"New ACLAUSE-WIN for TRAP retrofix 6/21/84" > > > 0>> > > > > 0>> > > > ;"Print undefined word in input. PTR points to the unknown word in P-LEXV" *************** **** FILE SS:PARSER.ZIL.70, 6-9 (14077) GPARSER.ZIL.44, 5-9 (21520) )> *************** **** FILE SS:PARSER.ZIL.70, 6-18 (14337) >> 2> 3>> **** FILE SS:GPARSER.ZIL.44, 5-21 (21866) )> >> 2> 3>> *************** **** FILE SS:PARSER.ZIL.70, 6-30 (14801) the syntax is saved in P-SYNTAX." ) (DRIVE2 <>) PREP VERB TMP) #DECL ((DRIVE1 DRIVE2) > (SYN) (LEN NUM VERB PREP) FIX (OBJ) ) >> **** FILE SS:GPARSER.ZIL.44, 5-35 (22409) the syntax is saved in P-SYNTAX." ) (DRIVE2 <>) PREP VERB TMP) >> *************** **** FILE SS:PARSER.ZIL.70, 7-16 (15733) <0? ,P-NCN> >> <==? .PREP >>> ) (<==? > <==? ,P-NCN 1>> ) (<==? > **** FILE SS:GPARSER.ZIL.44, 5-63 (23149) >> >>> ) ( > > ) ( > *************** **** FILE SS:PARSER.ZIL.70, 7-29 (16213) **** FILE SS:GPARSER.ZIL.44, 5-77 (23658) *************** **** FILE SS:PARSER.ZIL.70, 7-48 (16834) ( ) (> **** FILE SS:GPARSER.ZIL.44, 5-97 (24283) ( ) (> *************** **** FILE SS:PARSER.ZIL.70, 7-57 (17136) ) (<0? > **** FILE SS:GPARSER.ZIL.44, 5-106 (24580) ) (> *************** **** FILE SS:PARSER.ZIL.70, 7-64 (17358) )> **** FILE SS:GPARSER.ZIL.44, 5-113 (24808) )> *************** **** FILE SS:PARSER.ZIL.70, 7-69 (17547) )>> **** FILE SS:GPARSER.ZIL.44, 5-119 (25005) )>> *************** **** FILE SS:PARSER.ZIL.70, 8-2 (17680) >) **** FILE SS:GPARSER.ZIL.44, 6-2 (25137) )> > > > *************** **** FILE SS:PARSER.ZIL.70, 8-9 (17936) )> > )> **** FILE SS:GPARSER.ZIL.44, 6-11 (25463) )> > )> *************** **** FILE SS:PARSER.ZIL.70, 8-16 (18216) )>> .THE?>> ) WRD (FIRST?? T) (PN <>)) #DECL ((BEG END) (CP) ) ) (T >) (T )> > ,W?PERIOD> ) **** FILE SS:GPARSER.ZIL.44, 6-28 (26098) )>> ; .THE?>> ) "AUX" BEG END) > >) (ELSE > >)> > ) (Q? <>)) ) (T > T) ( ) (.NOSP >) (ELSE )> ) ( ) ( ) *************** **** FILE SS:PARSER.ZIL.70, 8-33 (18853) ( **** FILE SS:GPARSER.ZIL.44, 6-65 (27256) ( *************** **** FILE SS:PARSER.ZIL.70, 8-42 (19098) > > )>> ) "AUX" BEG END) #DECL ((BPTR EPTR) FIX (BEG END) (INSRT) ) > > GPARSER.ZIL.44, 6-74 (27504) > ) (T > )>)>> ) "AUX" BEG END) >> >> *************** **** FILE SS:PARSER.ZIL.70, 8-59 (19622) GPARSER.ZIL.44, 6-91 (28045) *************** **** FILE SS:PARSER.ZIL.70, 8-67 (19811) >> )> >)> >>> GPARSER.ZIL.44, 6-99 (28254) >> )> >)> >>> PARSER.ZIL.70, 9-7 (20161) > GPARSER.ZIL.44, 7-6 (28572) > PARSER.ZIL.70, 9-14 (20374) (<==? .PREP> >>)>>> ) >> **** FILE SS:GPARSER.ZIL.44, 7-12 (28750) ( .PREP> >>)>>> >> *************** **** FILE SS:PARSER.ZIL.70, 9-33 (20920) 1> > > > ) (T )>)> .OBJ)>) (T )>> >) > 0>> > ,P-PRSO> > > >>)> > 0>> > ,P-PRSI> > >> 1> >) (T >)>)>)> > GPARSER.ZIL.44, 7-29 (29219) 1> > > > >> )> ) (T )> ) (ELSE )> .OBJ)>) (T )>> > 0>> > ,P-PRSI> >)> > 0>> > ,P-PRSO> >)> >> > >)> >>> >)>)> > PARSER.ZIL.70, 10-16 (22541) .NTBL> > > > > > > > > > > > > ) LEN WV WRD NW) #DECL ((TBL) TABLE (PTR EPTR) (BUT) (WV) ) > **** FILE SS:GPARSER.ZIL.44, 8-15 (30922) .NTBL> > > > > > > > > > > ) LEN WV WRD NW (WAS-ALL <>)) > )> *************** **** FILE SS:PARSER.ZIL.70, 11-18 (23420) >>) (T > **** FILE SS:GPARSER.ZIL.44, 9-13 (31575) >> )> ) (T > ) (T >)> *************** **** FILE SS:PARSER.ZIL.70, 11-32 (23882) **** FILE SS:GPARSER.ZIL.44, 9-32 (32194) *************** **** FILE SS:PARSER.ZIL.70, 11-37 (24047) >)>) **** FILE SS:GPARSER.ZIL.44, 9-37 (32362) >)>) *************** **** FILE SS:PARSER.ZIL.70, 11-45 (24306) (<==? .WRD ,W?OF> **** FILE SS:GPARSER.ZIL.44, 9-45 (32624) ( *************** **** FILE SS:PARSER.ZIL.70, 11-55 (24614) > > )>>> **** FILE SS:GPARSER.ZIL.44, 9-55 (32938) > > )>>> *************** **** FILE SS:PARSER.ZIL.70, 12-5 (25004) #DECL ((TBL) TABLE (XBITS BITS TLEN LEN) FIX (GWIM) (VRB GCHECK) ) **** FILE SS:GPARSER.ZIL.44, 9-70 (33289) *************** **** FILE SS:PARSER.ZIL.70, 12-10 (25221) ,P-ADJ > >)> > <0? ,P-GWIMBIT>> )> )> > <0? ,P-SLOCBITS>> **** FILE SS:GPARSER.ZIL.44, 9-73 (33403) ,P-ADJ> >) % '(> > )) (ELSE '( T))>>)> > > )> )> > > *************** **** FILE SS:PARSER.ZIL.70, 12-30 (25851) .TLEN> >> )> )>)> .TLEN>> ;>>) ( >> > **** FILE SS:GPARSER.ZIL.44, 9-105 (34356) )> .TLEN>> ) ( >> > *************** **** FILE SS:PARSER.ZIL.70, 12-46 (26479) >>> **** FILE SS:GPARSER.ZIL.44, 9-117 (34789) >>> *************** **** FILE SS:PARSER.ZIL.70, 12-55 (26732) )> > **** FILE SS:GPARSER.ZIL.44, 9-126 (35051) )> > *************** **** FILE SS:PARSER.ZIL.70, 12-62 (26953) ,P-NC1) **** FILE SS:GPARSER.ZIL.44, 9-133 (35278) ,P-NC1) *************** **** FILE SS:PARSER.ZIL.70, 12-70 (27155) "I couldn't find a noun in that sentence!" CR>)> > > )>) ( .GCHECK> GPARSER.ZIL.44, 9-141 (35483) "There seems to be a noun missing in that sentence!" CR>)> > > )>)> .GCHECK> > *************** **** FILE SS:PARSER.ZIL.70, 12-90 (27733) (<0? .LEN> )> **** FILE SS:GPARSER.ZIL.44, 9-163 (36188) ( )> *************** **** FILE SS:PARSER.ZIL.70, 12-96 (27882) **** FILE SS:GPARSER.ZIL.44, 9-169 (36340) ; *************** **** FILE SS:PARSER.ZIL.70, 12-118 (28506) > **** FILE SS:GPARSER.ZIL.44, 9-190 (36942) ;> *************** **** FILE SS:PARSER.ZIL.70, 12-125 (28669) ) (<==? .TBL ,P-PRSO> >) (T >)> **** FILE SS:GPARSER.ZIL.44, 9-197 (37103) >) (ELSE >)> *************** **** FILE SS:PARSER.ZIL.70, 12-137 (29006) > )> **** FILE SS:GPARSER.ZIL.44, 9-209 (37437) > )> *************** **** FILE SS:PARSER.ZIL.70, 13-2 (29237) > (RMGL CNT) FIX (OBJ) OBJECT) **** FILE SS:GPARSER.ZIL.44, 10-2 (37674) PARSER.ZIL.70, 13-18 (29850) >> **** FILE SS:GPARSER.ZIL.44, 10-15 (38182) >> *************** **** FILE SS:PARSER.ZIL.70, 13-30 (30287) .LEN> **** FILE SS:GPARSER.ZIL.44, 10-26 (38583) .LEN> *************** **** FILE SS:PARSER.ZIL.70, 13-35 (30460) > > )>)>> GPARSER.ZIL.44, 10-31 (38759) > > )>)>> PARSER.ZIL.70, 13-48 (30964) (T )>)>> (TBL) TABLE (LVL) FIX (FLS) ANY) > > **** FILE SS:GPARSER.ZIL.44, 10-43 (39221) (T )>)>> > > *************** **** FILE SS:PARSER.ZIL.70, 13-64 (31404) > **** FILE SS:GPARSER.ZIL.44, 10-56 (39570) > *************** **** FILE SS:PARSER.ZIL.70, 13-78 (31851) >) (T )>>)>> > .OBJ> >> > >>> ) > > **** FILE SS:GPARSER.ZIL.44, 10-70 (40020) >) (T )>>)>> > .OBJ> >> > >>> ) > >> *************** **** FILE SS:PARSER.ZIL.70, 14-10 (32567) **** FILE SS:GPARSER.ZIL.44, 11-12 (40728) *************** **** FILE SS:PARSER.ZIL.70, 14-17 (32785) > **** FILE SS:GPARSER.ZIL.44, 11-19 (40949) > >> *************** **** FILE SS:PARSER.ZIL.70, 14-21 (32925) (<==? > T> >) (T )> > **** FILE SS:GPARSER.ZIL.44, 11-24 (41129) (> >) ( > T>> >) (T )> > *************** **** FILE SS:PARSER.ZIL.70, 14-34 (33300) ( )>)>)>>) (T)>> ) TMP) #DECL ((LOSS) ) **** FILE SS:GPARSER.ZIL.44, 11-43 (41675) ( > )>)>)>>) (T)>> ) TMP) *************** **** FILE SS:PARSER.ZIL.70, 14-47 (33723) )> > ) **** FILE SS:GPARSER.ZIL.44, 11-56 (42106) )> > ) *************** **** FILE SS:PARSER.ZIL.70, 14-58 (34103) (T)>> GPARSER.ZIL.44, 11-67 (42494) (T)>> PARSER.ZIL.70, 14-65 (34309) > ) ( )>>> > ) ( )>>> > )) #DECL ((RM OHERE) OBJECT (LIT) ) **** FILE SS:GPARSER.ZIL.44, 11-74 (42696) > >>) ( )>>> > ) ( )>>> > )) *************** **** FILE SS:PARSER.ZIL.70, 15-20 (34949) (> > ) **** FILE SS:GPARSER.ZIL.44, 12-20 (43290) *************** **** FILE SS:PARSER.ZIL.70, 15-28 (35168) **** FILE SS:GPARSER.ZIL.44, 12-24 (43402) *************** **** FILE SS:PARSER.ZIL.70, 15-37 (35474) .LIT> > 0> ,W?IT>> ) (T <>>)>> > 0> ,W?IT>> ) (T <>>)>> **** FILE SS:GPARSER.ZIL.44, 12-33 (43711) .LIT> ;> 0> ,W?IT>> ) (T <>>)>> ;> 0> ,W?IT>> ) (T <>>)>> ;"former CRUFTY routine, re-written by SWG" ) (> <- 2> 1>>>> ) (>> 1>>>>> ) (> >> )> > ***************