xref: /csrg-svn/contrib/dungeon/np1.F (revision 35973)
1*35973SbosticC SPARSE-	START OF PARSE
2*35973SbosticC
3*35973SbosticC COPYRIGHT 1980, INFOCOM COMPUTERS AND COMMUNICATIONS, CAMBRIDGE MA. 02142
4*35973SbosticC ALL RIGHTS RESERVED, COMMERCIAL USAGE STRICTLY PROHIBITED
5*35973SbosticC WRITTEN BY R. M. SUPNIK
6*35973SbosticC
7*35973SbosticC DECLARATIONS
8*35973SbosticC
9*35973SbosticC THIS ROUTINE DETAILS ON BIT 2 OF PRSFLG
10*35973SbosticC
11*35973Sbostic	INTEGER  FUNCTION  SPARSE(LBUF,LLNT,VBFLAG)
12*35973Sbostic	IMPLICIT INTEGER(A-Z)
13*35973Sbostic	INTEGER  LBUF(40)
14*35973Sbostic	LOGICAL  LIT,OTEST,VBFLAG
15*35973Sbostic#include "parser.h"
16*35973Sbostic#include "gamestate.h"
17*35973Sbostic#include "debug.h"
18*35973Sbostic#include "objects.h"
19*35973Sbostic#include "oindex.h"
20*35973Sbostic#include "advers.h"
21*35973Sbostic#include "verbs.h"
22*35973Sbostic#include "vocab.h"
23*35973SbosticC SPARSE, PAGE 2
24*35973SbosticC
25*35973SbosticC FUNCTIONS AND DATA
26*35973SbosticC
27*35973Sbostic	OTEST(R)=(R.GT.0).AND.(R.LT.R50MIN)
28*35973SbosticC
29*35973SbosticC   THE FOLLOWING DATA STATEMENT ORIGINALLY WAS:
30*35973SbosticC
31*35973SbosticC	DATA R50MIN/1RA/,R50WAL/3RWAL/
32*35973SbosticC
33*35973Sbostic	DATA R50MIN/1600/,R50WAL/36852/
34*35973SbosticC
35*35973SbosticC BUZZ WORDS--	IGNORED IN SYNTACTIC PROCESSING
36*35973SbosticC
37*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS CONVERTED FROM:
38*35973SbosticC
39*35973SbosticC	DATA BVOC/3RAND,0,2RBY,0,2RIS,0,1RA,0,
40*35973SbosticC&		2RAN,0,3RTHE,0,3RRUN,0,2RGO,0,3RPRO,3RCEE,0,0/
41*35973SbosticC
42*35973Sbostic	DATA BVOC/2164,0,4200,0,15160,0,1600,0,
43*35973Sbostic&		2160,0,32325,0,29654,0,11800,0,26335,5005,0,0/
44*35973SbosticC
45*35973SbosticC
46*35973SbosticC PREPOSITIONS--	MAPS PREPOSITIONS TO INDICES
47*35973SbosticC
48*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS CONVERTED FROM:
49*35973SbosticC
50*35973SbosticC	DATA PVOC/3ROVE,1RR,1,3RWIT,1RH,2,3RUSI,2RNG,2,3RTHR,3ROUG,2,
51*35973SbosticC&		2RAT,0,3,2RTO,0,4,2RIN,0,5,3RINS,3RIDE,5,3RINT,1RO,5,
52*35973SbosticC&		3RDOW,1RN,6,2RUP,0,7,3RUND,2RER,8,2ROF,0,9,2RON,0,10,
53*35973SbosticC&		3ROFF,0,11/
54*35973SbosticC
55*35973Sbostic	DATA PVOC/24885,28800,1,37180,12800,2,34369,22680,2,
56*35973Sbostic&		32338,24847,2,2400,0,3,32600,0,4,14960,0,5,
57*35973Sbostic&		14979,14565,5,14980,0,5,7023,22400,6,34240,0,7,
58*35973Sbostic&		34164,8720,8,24240,0,9,24560,0,10,24246,0,11/
59*35973SbosticC
60*35973SbosticC
61*35973SbosticC DIRECTIONS--	MAPS DIRECTIONS TO INDICES
62*35973SbosticC
63*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS CONVERTED FROM:
64*35973SbosticC
65*35973SbosticC	DATA DVOC/1RN,0,"2000,3RNOR,2RTH,"2000,1RS,0,"12000,
66*35973SbosticC&	 1RE,0,"6000,3REAS,1RT,"6000,1RW,0,"16000,3RWES,1RT,"16000,
67*35973SbosticC&	 2RSE,0,"10000,2RSW,0,"14000,
68*35973SbosticC&	 2RNE,0,"4000,2RNW,0,"20000,
69*35973SbosticC&	 1RU,0,"22000,2RUP,0,"22000,1RD,0,"24000,3RDOW,1RN,"24000,
70*35973SbosticC&	 3RLAU,3RNCH,"26000,3RLAN,1RD,"30000,3RENT,2RER,"32000,
71*35973SbosticC&	 3REXI,1RT,"34000,3ROUT,0,"34000,3RLEA,2RVE,"34000,
72*35973SbosticC&	 3RTRA,3RVEL,"36000,3RSOU,2RTH,"12000,
73*35973SbosticC&	 2RIN,0,"32000,
74*35973SbosticC&	 3RCRO,2RSS,"36000/
75*35973SbosticC
76*35973Sbostic	DATA DVOC/22400,0,o"2000",23018,32320,o"2000",30400,0,o"12000",
77*35973Sbostic&		8000,0,o"6000",8059,32000,o"6000",36800,0,o"16000",
78*35973Sbostic&		37019,32000,o"16000",30600,0,o"10000",31320,0,o"14000",
79*35973Sbostic&		22600,0,o"4000",23320,0,o"20000",
80*35973Sbostic&		33600,0,o"22000",34240,0,o"22000",6400,0,o"24000",
81*35973Sbostic&		7023,22400,o"24000",19261,22528,o"26000",
82*35973Sbostic&		19254,6400,o"30000",8580,8720,o"32000",
83*35973Sbostic&		8969,32000,o"34000",24860,0,o"34000",
84*35973Sbostic&		19401,35400,o"34000",32721,35412,o"36000",
85*35973Sbostic&		31021,32320,o"12000",14960,0,o"32000",
86*35973Sbostic&		5535,31160,o"36000"/
87*35973SbosticC
88*35973SbosticC
89*35973SbosticC SPARSE, PAGE 3
90*35973SbosticC
91*35973SbosticC ADJECTIVES--	MAPS ADJECTIVES TO OBJECT NUMBERS
92*35973SbosticC
93*35973SbosticC EACH ENTRY IS VARIABLE LENGTH AND CONSISTS OF A TWO WORD
94*35973SbosticC ADJECTIVE IN RADIX-50 FOLLOWED BY ONE OR MORE OBJECT NUMBERS.
95*35973SbosticC NOTE THAT ADJECTIVES CAN BE DISTINGUISHED FROM OBJECTS AS
96*35973SbosticC FOLLOWS-- ALL ADJECTIVES ARE .GE. 1RA (1600), WHILE ALL OBJECTS
97*35973SbosticC ARE .LE. OLNT (255 MAX).
98*35973SbosticC
99*35973SbosticC   THE DATA STATEMENT BELOW WAS CONVERTED FROM:
100*35973SbosticC
101*35973SbosticC	DATA AVOC1/3RBRO,2RWN,1,81,3RELO,3RNGA,1,3RHOT,0,3,3RPEP,3RPER,3,
102*35973SbosticC&	 3RVIT,3RREO,4,3RJAD,1RE,6,3RHUG,1RE,8,3RENO,3RRMO,8,122,
103*35973SbosticC&	 3RTRO,3RPHY,9,3RCLE,2RAR,10,3RLAR,2RGE,12,26,47,95,96,123,
104*35973SbosticC&	 133,135,146,147,150,176,3RNAS,2RTY,13,3RELV,3RISH,14,
105*35973SbosticC&	 3RBRA,2RSS,15,16,46,156,
106*35973SbosticC&	 3RBRO,3RKEN,16,22,92,113,155,158,3RORI,3RENT,17,
107*35973SbosticC&	 3RBLO,3RODY,20,3RRUS,2RTY,21,3RBUR,3RNED,22,
108*35973SbosticC&	 3RDEA,1RD,22,3ROLD,0,25,41,44,45,3RLEA,3RTHE,25,
109*35973SbosticC&	 3RPLA,3RTIN,26,3RPEA,2RRL,27,
110*35973SbosticC&	 3RMOB,1RY,31,3RCRY,3RSTA,32,126,
111*35973SbosticC&	 3RGOL,1RD,33,85,104,157,158,188,
112*35973SbosticC&	 3RIVO,2RRY,34,3RSAP,3RPHI,37,3RWOO,3RDEN,38,67,136,137,
113*35973SbosticC&	 165,173,174,175,3RWOO,1RD,38,67,136,137,165,173,174,175,
114*35973SbosticC&	 3RSTE,2REL,39,125,189,
115*35973SbosticC&	 3RDEN,3RTED,39,3RFAN,2RCY,40,3RANC,3RIEN,41,44,
116*35973SbosticC&	 3RSMA,2RLL,5,46,52,53,89,102,103,153,187,
117*35973SbosticC&	 3RBLA,2RCK,47,162,3RTOU,1RR,49,
118*35973SbosticC&	 3RVIS,3RCOU,55,3RVIC,3RIOU,62,
119*35973SbosticC&	 3RGLA,2RSS,10,126,132,3RTRA,1RP,66/
120*35973SbosticC
121*35973SbosticC
122*35973Sbostic	DATA AVOC1/3935,37360,1,81,8495,22681,1,13420,0,3,25816,25818,3,
123*35973Sbostic&	 35580,29015,4,16044,8000,6,13647,8000,8,8575,29335,8,122,
124*35973Sbostic&	 32735,25945,9,5285,2320,10,19258,11400,12,26,47,95,96,123,
125*35973Sbostic&	 133,135,146,147,150,176,22459,33000,13,8502,15168,14,
126*35973Sbostic&	 3921,31160,15,16,46,156,
127*35973Sbostic&	 3935,17814,16,22,92,113,155,158,24729,8580,17,
128*35973Sbostic&	 3695,24185,20,29659,33000,21,4058,22604,22,
129*35973Sbostic&	 6601,6400,22,24484,0,25,41,44,45,19401,32325,25,
130*35973Sbostic&	 26081,32374,26,25801,29280,27,
131*35973Sbostic&	 21402,40000,31,5545,31201,32,126,
132*35973Sbostic&	 11812,6400,33,85,104,157,158,188,
133*35973Sbostic&	 15295,29800,34,30456,25929,37,37415,6614,38,67,136,137,
134*35973Sbostic&	 165,173,174,175,37415,6400,38,67,136,137,165,173,174,175,
135*35973Sbostic&	 31205,8480,39,125,189,
136*35973Sbostic&	 6614,32204,39,9654,5800,40,2163,14614,41,44,
137*35973Sbostic&	 30921,19680,5,46,52,53,89,102,103,153,187,
138*35973Sbostic&	 3681,5240,47,162,32621,28800,49,
139*35973Sbostic&	 35579,5421,55,35563,15021,62,
140*35973Sbostic&	 11681,31160,10,126,132,32721,25600,66/
141*35973SbosticC
142*35973SbosticC
143*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
144*35973SbosticC
145*35973SbosticC	DATA AVOC2/3RFRO,2RNT,68,3RSTO,2RNE,69,150,214,3RMAN,3RGLE,72,
146*35973SbosticC&	 3RRED,0,79,94,140,161,170,171,3RYEL,3RLOW,80,159,
147*35973SbosticC&	 3RBLU,1RE,82,112,114,141,
148*35973SbosticC&	 3RVAM,3RPIR,83,3RMAG,2RIC,90,
149*35973SbosticC&	 3RSEA,3RWOR,90,3RTAN,0,91,3RSHA,2RRP,92,
150*35973SbosticC&	 3RWIC,3RKER,98,3RCLO,2RTH,100,
151*35973SbosticC&	 3RBRA,3RIDE,101,
152*35973SbosticC&	 3RGAU,2RDY,108,3RSQU,3RARE,109,127,3RCLA,1RY,109,
153*35973SbosticC&	 3RSHI,2RNY,110,3RTHI,1RN,110,
154*35973SbosticC&	 3RGRE,2REN,115,143,3RPUR,3RPLE,116,3RWHI,2RTE,117,147,160,
155*35973SbosticC&	 3RMAR,3RBLE,119,3RCOK,1RE,121,3REMP,2RTY,121,
156*35973SbosticC&	 3RROU,2RND,128,3RTRI,3RANG,129,
157*35973SbosticC&	2 3RRAR,1RE,134,3ROBL,3RONG,135,3REAT,3R$ME,138,
158*35973SbosticC&	 3REAT,2RME,138,3RORA,3RNGE,139,3RECC,1RH,141/
159*35973SbosticC
160*35973SbosticC
161*35973Sbostic	DATA AVOC2/10335,23200,68,31215,22600,69,150,214,20854,11685,72,
162*35973Sbostic&		29004,0,79,94,140,161,170,171,40212,19823,80,159,
163*35973Sbostic&		3701,8000,82,112,114,141,
164*35973Sbostic&		35253,25978,83,20847,14520,90,
165*35973Sbostic&		30601,37418,90,32054,0,91,30721,29440,92,
166*35973Sbostic&		37163,17818,98,5295,32320,100,
167*35973Sbostic&		3921,14565,101,
168*35973Sbostic&		11261,7400,108,31101,2325,109,127,5281,4000,109,
169*35973Sbostic&		30729,23400,110,32329,22400,110,
170*35973Sbostic&		11925,8560,115,143,26458,26085,116,
171*35973Sbostic&		37129,32200,117,147,160,
172*35973Sbostic&		20858,3685,119,5411,8000,121,8536,33000,121,
173*35973Sbostic&		29421,22560,128,32729,2167,129,
174*35973Sbostic&		28858,8000,134,24092,24567,135,8060,43725,138,
175*35973Sbostic&		8060,21000,138,24721,22685,139,8123,12800,141/
176*35973SbosticC
177*35973SbosticC
178*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
179*35973SbosticC
180*35973SbosticC	DATA AVOC3/3RROC,2RKY,147,3RSHE,2RER,147,
181*35973SbosticC&	 3R200,0,148,3RNEA,1RT,148,3RSHI,3RMME,151,
182*35973SbosticC&	 3RZUR,3RICH,152,3RBIR,2RDS,153,154,155,
183*35973SbosticC&	 3RENC,3RRUS,154,155,3RBEA,3RUTI,156,3RCLO,3RCKW,157,158,
184*35973SbosticC&	 3RMEC,3RHAN,157,158,
185*35973SbosticC&	 3RMAH,3ROGA,163,3RPIN,1RE,164,3RLON,1RG,166,
186*35973SbosticC&	 3RCEN,3RTER,166,3RSHO,2RRT,167,1RT,0,168,
187*35973SbosticC&	 3RCOM,3RPAS,169,211,3RBRO,3RNZE,172,3RCEL,1RL,174,175,
188*35973SbosticC&	 3RLOC,3RKED,174,3RSUN,0,177,
189*35973SbosticC&	 3RBAR,1RE,200,3RSON,1RG,203,
190*35973SbosticC&	 3RNOR,2RTH,205,3RNOR,3RTHE,205,3RSOU,2RTH,206,
191*35973SbosticC&	 3RSOU,3RTHE,206,3REAS,1RT,207,3REAS,3RTER,207,
192*35973SbosticC&	 3RWES,1RT,208,3RWES,3RTER,208,3RDUN,3RGEO,215/
193*35973SbosticC
194*35973SbosticC
195*35973Sbostic	DATA AVOC3/29403,18600,147,30725,8720,147,
196*35973Sbostic&		52430,0,148,22601,32000,148,30729,21325,151,
197*35973Sbostic&		42458,14528,152,3578,7160,153,154,155,
198*35973Sbostic&		8563,29659,154,155,3401,34409,156,5295,5263,157,158,
199*35973Sbostic&		21003,12854,157,158,
200*35973Sbostic&		20848,24281,163,25974,8000,164,19814,11200,166,
201*35973Sbostic&		5014,32218,166,30735,29600,167,32000,0,168,
202*35973Sbostic&		5413,25659,169,211,3935,23445,172,5012,19200,174,175,
203*35973Sbostic&		19803,17804,174,31254,0,177,
204*35973Sbostic&		3258,8000,200,31014,11200,203,
205*35973Sbostic&		23018,32320,205,23018,32325,205,31021,32320,206,
206*35973Sbostic&		31021,32325,206,8059,32000,207,8059,32218,207,
207*35973Sbostic&		37019,32000,208,37019,32218,208,7254,11415,215/
208*35973SbosticC
209*35973SbosticC
210*35973SbosticC
211*35973Sbostic	DATA AVOCND/-1/
212*35973SbosticC SPARSE, PAGE 4
213*35973SbosticC
214*35973SbosticC VERBS--	MAPS VERBS TO SYNTAX SLOTS
215*35973SbosticC
216*35973SbosticC EACH ENTRY IS VARIABLE LENGTH AND CONSISTS OF ONE OR MORE
217*35973SbosticC TWO WORD VERBS IN RADIX-50 FOLLOWED BY A SYNTAX WORD COUNT
218*35973SbosticC FOLLOWED BY ONE OR MORE SYNTAXES.  NOTE THAT VERBS CAN BE
219*35973SbosticC DISTINGUISHED FROM WORD COUNTS AS FOLLOWS--
220*35973SbosticC ALL VERBS ARE .GE. 1RA (1600), WHILE ALL SYNTAX WORD COUNTS
221*35973SbosticC ARE .LE. 255.
222*35973SbosticC
223*35973SbosticC SYNTAX ENTRIES CONSIST OF A FLAG WORD FOLLOWED BY 0, 1, OR 2
224*35973SbosticC OBJECT DESCRIPTIONS.  THE FLAG WORD HAS THE FOLLOWING FORMAT--
225*35973SbosticC
226*35973SbosticC BIT <14>	IF 1, SYNTAX INCLUDES DIRECT OBJECT
227*35973SbosticC BIT <13>	IF 1, SYNTAX INCLUDES INDIRECT OBJECT
228*35973SbosticC BIT <12>	IF 1, DIRECT OBJECT IS IMPLICIT (STANDARD FORM)
229*35973SbosticC BIT <11>	IF 1, DIRECT AND INDIRECT OBJECT MUST BE SWAPPED
230*35973SbosticC			AFTER SYNTAX PROCESSING
231*35973SbosticC BIT <10>	IF 1, THIS IS DEFAULT SYNTAX FOR ORPHANERY
232*35973SbosticC BITS <8:0>	VERB NUMBER FOR VAPPLI
233*35973SbosticC
234*35973SbosticC OBJECT DESCRIPTIONS CONSIST OF A FLAG WORD AND TWO FWIM WORDS.
235*35973SbosticC THE FLAG WORD HAS THE FOLLOWING FORMAT--
236*35973SbosticC
237*35973SbosticC BIT <14>	IF 1, SEARCH ADVENTURER FOR OBJECT
238*35973SbosticC BIT <13>	IF 1, SEARCH ROOM FOR OBJECT
239*35973SbosticC BIT <12>	IF 1, PARSER WILL TRY TO TAKE OBJECT
240*35973SbosticC BIT <11>	IF 1, ADVENTURER MUST HAVE OBJECT
241*35973SbosticC BIT <10>	IF 1, QUALIFYING BITS (NORMALLY -1,-1) ARE SAME
242*35973SbosticC			AS FWIM BITS
243*35973SbosticC BIT <9>	IF 1, OBJECT MUST BE REACHABLE
244*35973SbosticC BITS <8:0>	PREPOSITION NUMBER FOR SYNMCH
245*35973SbosticC
246*35973SbosticC THE FWIM WORDS HAVE THE SAME FORMAT AS THE TWO OBJECT FLAG WORDS.
247*35973SbosticC
248*35973SbosticC NOTE THAT BITS 12 AND 11 OF OBJECT DESCRIPTIONS ACTUALLY HAVE
249*35973SbosticC FOUR DISTINCT STATES--
250*35973SbosticC
251*35973SbosticC	BIT 12	BIT 11	MDLDESC		INTERPRETATION
252*35973SbosticC	------	------	-------		---------------
253*35973SbosticC
254*35973SbosticC	  0	  0	 --		NO PARSER ACTION
255*35973SbosticC	  0	  1	 HAVE		ADVENTURER MUST HAVE OBJECT
256*35973SbosticC	  1	  0	 TRY		TRY TO TAKE, DONT CARE IF FAIL
257*35973SbosticC	  1	  1	 TAKE		TRY TO TAKE, CARE IF FAIL
258*35973SbosticC
259*35973SbosticC SPARSE, PAGE 5
260*35973SbosticC
261*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
262*35973SbosticC
263*35973SbosticC	DATA VVOC1/3RBRI,2REF,1,70,3RVER,3RBOS,1,71,
264*35973SbosticC&	 3RSUP,3RERB,1,72,3RSTA,1RY,1,73,3RVER,3RSIO,1,74,
265*35973SbosticC&	 3RSWI,1RM,3RBAT,2RHE,3RWAD,1RE,1,75,3RGER,3RONI,1,76,
266*35973SbosticC&	 3RULY,3RSSE,3RODY,3RSSE,1,77,
267*35973SbosticC&	 3RWEL,1RL,1,78,3RPRA,1RY,1,79,3RTRE,3RASU,1,80,
268*35973SbosticC&	 3RTEM,3RPLE,1,81,3RBLA,2RST,1,82,3RSCO,2RRE,1,83,
269*35973SbosticC&	 1RQ,0,3RQUI,1RT,1,84,3RHEL,1RP,1,40,3RINF,1RO,1,41,
270*35973SbosticC&	 3RHIS,3RTOR,3RUPD,3RATE,1,42,3RBAC,1RK,1,43,
271*35973SbosticC&	 3RSIG,1RH,3RMUM,3RBLE,1,44/
272*35973SbosticC
273*35973SbosticC
274*35973Sbostic	DATA VVOC1/3929,8240,1,70,35418,3819,1,71,
275*35973Sbostic&		31256,8722,1,72,31201,40000,1,73,35418,30775,1,74,
276*35973Sbostic&		31329,20800,3260,13000,36844,8000,1,75,11418,24569,1,76,
277*35973Sbostic&		34105,31165,24185,31165,1,77,
278*35973Sbostic&		37012,19200,1,78,26321,40000,1,79,32725,2381,1,80,
279*35973Sbostic&		32213,26085,1,81,3681,31200,1,82,30535,29000,1,83,
280*35973Sbostic&		27200,0,28049,32000,1,84,13012,25600,1,40,
281*35973Sbostic&		14966,24000,1,41,
282*35973Sbostic&		13179,32618,34244,2405,1,42,3243,17600,1,43,
283*35973Sbostic&		30767,12800,21653,3685,1,44/
284*35973SbosticC
285*35973SbosticC
286*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
287*35973SbosticC
288*35973SbosticC	DATA VVOC1A/3RCHO,2RMP,3RLOS,1RE,3RBAR,1RF,1,45,
289*35973SbosticC&	 3RDUN,3RGEO,1,46,3RFRO,3RBOZ,1,47,3RFOO,0,3RBLE,3RTCH,
290*35973SbosticC&	 3RBAR,0,1,48,3RREP,3RENT,1,49,3RHOU,2RRS,3RSCH,3REDU,1,50,
291*35973SbosticC&	 3RWIN,0,1,51,3RYEL,1RL,3RSCR,3REAM,3RSHO,2RUT,1,52,
292*35973SbosticC&	 3RHOP,0,3RSKI,1RP,1,53,3RFUC,1RK,3RSHI,1RT,3RDAM,1RN,
293*35973SbosticC&	 3RCUR,2RSE,1,54,3RZOR,1RK,1,55,3RGRA,3RNIT,1,"50070,
294*35973SbosticC&	 3RSAV,1RE,1,149,3RRES,3RTOR,1,150,3RTIM,1RE,1,90,
295*35973SbosticC&	 3RDIA,3RGNO,1,94,3REXO,3RRCI,1,105,3RINV,3RENT,
296*35973SbosticC&	 1RI,0,1,133,3RWAI,1RT,1,128,
297*35973SbosticC&	 3RINC,3RANT,1,95,3RANS,3RWER,1,96/
298*35973SbosticC
299*35973SbosticC
300*35973SbosticC
301*35973Sbostic	DATA VVOC1A/5135,21440,19819,8000,3258,9600,1,45,
302*35973Sbostic&		7254,11415,1,46,10335,3826,1,47,10215,0,3685,32128,
303*35973Sbostic&		3258,0,1,48,29016,8580,1,49,13421,29560,30528,8181,1,50,
304*35973Sbostic&		37174,0,1,51,40212,19200,30538,8053,30735,34400,1,52,
305*35973Sbostic&		13416,0,30849,25600,1,53,
306*35973Sbostic&		10443,17600,30729,32000,6453,22400,5658,30600,1,54,
307*35973Sbostic&		42218,17600,1,55,11921,22780,1,o"50070",
308*35973Sbostic&		30462,8000,1,149,29019,32618,1,150,32373,8000,1,90,
309*35973Sbostic&		6761,11775,1,94,8975,28929,1,105,14982,8580,
310*35973Sbostic&		14400,0,1,133,36849,32000,1,128,
311*35973Sbostic&		14963,2180,1,95,2179,37018,1,96/
312*35973SbosticC
313*35973SbosticC
314*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
315*35973SbosticC
316*35973SbosticC	DATA VVOC1B/3RAGA,2RIN,1,57,3RNOO,2RBJ,1,58,
317*35973SbosticC&	 3RBUG,0,3RGRI,2RPE,3RCOM,3RPLA,1,59,
318*35973SbosticC&	 3RFEA,3RTUR,3RCOM,3RMEN,3RSUG,3RGES,3RIDE,1RA,1,60,
319*35973SbosticC&	 3RROO,1RM,1,65,3ROBJ,3RECT,1,66,3RRNA,2RME,1,67/
320*35973SbosticC
321*35973SbosticC
322*35973SbosticC
323*35973Sbostic	DATA VVOC1B/1881,14960,1,57,23015,3600,1,58,
324*35973Sbostic&		4047,0,11929,25800,5413,26081,1,59,
325*35973Sbostic&		9801,32858,5413,21014,31247,11419,14565,1600,1,60,
326*35973Sbostic&		29415,20800,1,65,24090,8140,1,66,29361,21000,1,67/
327*35973SbosticC
328*35973SbosticC
329*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
330*35973SbosticC
331*35973SbosticC	DATA VVOC2/3RDEF,3RLAT,1,"50147,
332*35973SbosticC&	 3RDES,3RCRI,3RWHA,1RT,3REXA,3RMIN,1,"50170,
333*35973SbosticC&	 3RFIL,1RL,11,"60206,"61000,"200,0,"61002,"400,0,
334*35973SbosticC&		"40206,"61000,"200,0,
335*35973SbosticC&	 3RFIN,1RD,3RSEE,1RK,3RWHE,2RRE,3RSEE,0,4,"40177,"60000,-1,-1,
336*35973SbosticC&	 3RFOL,3RLOW,2,"125,"50125,
337*35973SbosticC&	 3RKIC,1RK,3RBIT,1RE,3RTAU,2RNT,1,"50153,3RLOW,2RER,1,"50156,
338*35973SbosticC&	 3RPUS,1RH,3RPRE,2RSS,1,"50160,3RRIN,1RG,3RPEA,1RL,1,"50127,
339*35973SbosticC&	 3RRUB,0,3RCAR,3RESS,3RTOU,2RCH,3RFON,3RDLE,1,"50157,
340*35973SbosticC&	 3RSHA,2RKE,1,"50171,3RSPI,1RN,1,"50201,
341*35973SbosticC&	 3RUNT,2RIE,3RFRE,1RE,1,"50161,3RWAL,1RK,9,"50216,
342*35973SbosticC&		"40126,"61002,-1,-1,"40126,"61005,-1,-1/
343*35973SbosticC
344*35973SbosticC
345*35973SbosticC
346*35973Sbostic	DATA VVOC2/6606,19260,1,o"50147",
347*35973Sbostic&		6619,5529,37121,32000,8961,21174,1,o"50170",
348*35973Sbostic&		9972,19200,11,
349*35973Sbostic&			o"60206",o"61000",o"200",0,o"61002",o"400",0,
350*35973Sbostic&			o"40206",o"61000",o"200",0,
351*35973Sbostic&		9974,6400,30605,17600,37125,29000,30605,0,4,
352*35973Sbostic&			o"40177",o"60000",-1,-1,
353*35973Sbostic&		10212,19823,2,o"125",o"50125",
354*35973Sbostic&		17963,17600,3580,8000,32061,23200,1,o"50153",
355*35973Sbostic&		19823,8720,1,o"50156",
356*35973Sbostic&		26459,12800,26325,31160,1,o"50160",
357*35973Sbostic&		29174,11200,25801,19200,1,o"50127",
358*35973Sbostic&		29642,0,4858,8779,32621,5120,10214,6885,1,o"50157",
359*35973Sbostic&		30721,17800,1,o"50171",31049,22400,1,o"50201",
360*35973Sbostic&		34180,14600,10325,8000,1,o"50161",
361*35973Sbostic&		36852,17600,9,o"50216",o"40126",o"61002",-1,-1,
362*35973Sbostic&			o"40126",o"61005",-1,-1/
363*35973SbosticC
364*35973SbosticC
365*35973SbosticC
366*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
367*35973SbosticC
368*35973SbosticC	DATA VVOC3/3RATT,3RACK,3RFIG,2RHT,3RINJ,3RURE,3RHIT,0,3RHUR,1RT,
369*35973SbosticC&		7,"60215,"21000,0,"200,"44002,0,"1000,
370*35973SbosticC&	 3RBOA,2RRD,4,"40202,"21000,0,"2,
371*35973SbosticC&	 3RBRU,2RSH,3RCLE,2RAN,5,"52130,"70130,"61002,-1,-1,
372*35973SbosticC&	 3RBUR,1RN,3RIGN,3RITE,3RINC,3RINE,7,"60211,"61000,"20,0,
373*35973SbosticC&		"64002,"10,0,
374*35973SbosticC&	 3RCLI,2RMB,12,"40235,"20007,0,"4000,
375*35973SbosticC&		"40236,"20006,0,"4000,"40234,"20000,0,"4000,
376*35973SbosticC&	 3RCLO,2RSE,4,"40176,"61000,"10200,0,
377*35973SbosticC&	 3RDIG,0,4,"40131,"44002,"4,0,
378*35973SbosticC&	 3RDIS,3REMB,4,"40203,"20000,0,"2,
379*35973SbosticC&	 3RDRI,2RNK,3RIMB,3RIBE,3RSWA,3RLLO,4,"40210,"61000,"400,0,
380*35973SbosticC&	 3RDRO,1RP,3RREL,3REAS,11,"42221,"41000,-1,-1,
381*35973SbosticC&		"60221,"41000,-1,-1,"61005,-1,-1,
382*35973SbosticC&	 3REAT,0,3RCON,3RSUM,3RGOB,3RBLE,3RMUN,2RCH,3RTAS,2RTE,
383*35973SbosticC&		4,"40207,"75000,"2000,0,
384*35973SbosticC&	 3REXT,3RING,3RDOU,2RSE,4,"40174,"75000,"100,0/
385*35973SbosticC
386*35973SbosticC
387*35973Sbostic	DATA VVOC3/2420,1731,9967,13600,14970,34325,13180,0,13658,32000,
388*35973Sbostic&			7,o"60215",o"21000",0,o"200",o"44002",0,o"1000",
389*35973Sbostic&		3801,28960,4,o"40202",o"21000",0,o"2",
390*35973Sbostic&		3941,30720,5285,2160,5,o"52130",o"70130",o"61002",-1,-1,
391*35973Sbostic&		4058,22400,14694,15205,14963,14965,
392*35973Sbostic&			7,o"60211",o"61000",o"20",0,o"64002",o"10",0,
393*35973Sbostic&		5289,20880,12,o"40235",o"20007",0,o"4000",o"40236",
394*35973Sbostic&			o"20006",0,o"4000",o"40234",o"20000",0,o"4000",
395*35973Sbostic&		5295,30600,4,o"40176",o"61000",o"10200",0,
396*35973Sbostic&		6767,0,4,o"40131",o"44002",o"4",0,
397*35973Sbostic&		6779,8522,4,o"40203",o"20000",0,o"2",
398*35973Sbostic&		7129,22840,14922,14485,31321,19695,
399*35973Sbostic&			4,o"40210",o"61000",o"400",0,
400*35973Sbostic&		7135,25600,29012,8059,11,o"42221",o"41000",-1,-1,
401*35973Sbostic&			o"60221",o"41000",-1,-1,o"61005",-1,-1,
402*35973Sbostic&		8060,0,5414,31253,11802,3685,21654,5120,32059,32200,
403*35973Sbostic&			4,o"40207",o"75000",o"2000",0,
404*35973Sbostic&		8980,14967,7021,30600,4,o"40174",o"75000",o"100",0/
405*35973SbosticC
406*35973SbosticC
407*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
408*35973SbosticC
409*35973SbosticC	DATA VVOC4/3RGIV,1RE,3RHAN,1RD,3RDON,3RATE,11,"72222,"21004,
410*35973SbosticC&		"40,0,"64222,"21000,"40,0,"61000,-1,-1,
411*35973SbosticC&	 3RHEL,2RLO,2RHI,0,2,"2227,"50227,
412*35973SbosticC&	 3RBLO,1RW,15,"62146,"61007,-1,-1,"61002,"4,0,
413*35973SbosticC&		"40160,"61007,-1,-1,"40165,"61005,-1,-1,
414*35973SbosticC&	 3RINF,3RLAT,4,"70146,"61002,"4,0,
415*35973SbosticC&	 3RJUM,1RP,3RLEA,1RP,5,"133,"40133,"61001,-1,-1,
416*35973SbosticC&	 3RKIL,1RL,3RMUR,3RDER,3RSLA,1RY,3RSTA,1RB,3RDIS,3RPAT,
417*35973SbosticC&		7,"60213,"21000,0,"200,
418*35973SbosticC&		"44002,0,"1000,
419*35973SbosticC&	 3RKNO,2RCK,3RRAP,0,12,"42166,"61003,-1,-1,
420*35973SbosticC&		"40166,"61012,-1,-1,"40215,"23006,"40,0,
421*35973SbosticC&	 3RLIG,2RHT,11,"42173,"75000,"100,0,
422*35973SbosticC&		"60211,"61000,"100,0,"54002,"10,0,
423*35973SbosticC&	 3RLOC,1RK,4,"40134,"20000,-1,-1/
424*35973SbosticC
425*35973SbosticC
426*35973SbosticC
427*35973Sbostic	DATA VVOC4/11582,8000,12854,6400,7014,2405,11,o"72222",o"21004",
428*35973Sbostic&			o"40",0,o"64222",o"21000",o"40",
429*35973Sbostic&			0,o"61000",-1,-1,
430*35973Sbostic&		13012,19800,13160,0,2,o"2227",o"50227",
431*35973Sbostic&		3695,36800,15,o"62146",o"61007",-1,-1,o"61002",o"4",0,
432*35973Sbostic&			o"40160",o"61007",-1,-1,o"40165",o"61005",-1,-1,
433*35973Sbostic&		14966,19260,4,o"70146",o"61002",o"4",0,
434*35973Sbostic&		16853,25600,19401,25600,
435*35973Sbostic&			5,o"133",o"40133",o"61001",-1,-1,
436*35973Sbostic&		17972,19200,21658,6618,30881,40000,31201,3200,
437*35973Sbostic&			6779,25660,7,o"60213",o"21000",0,o"200",
438*35973Sbostic&			o"44002",0,o"1000",
439*35973Sbostic&		18175,5240,28856,0,12,o"42166",o"61003",-1,-1,o"40166",
440*35973Sbostic&			o"61012",-1,-1,o"40215",o"23006",o"40",0,
441*35973Sbostic&		19567,13600,11,o"42173",o"75000",o"100",0,o"60211",
442*35973Sbostic&			o"61000",o"100",0,o"54002",o"10",0,
443*35973Sbostic&		19803,17600,4,o"40134",o"20000",-1,-1/
444*35973SbosticC
445*35973SbosticC
446*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
447*35973SbosticC
448*35973SbosticC	DATA VVOC5/3RLOO,1RK,1RL,0,3RSTA,2RRE,3RGAZ,1RE,
449*35973SbosticC&		13,"167,"40167,"60003,-1,-1,
450*35973SbosticC&		"40231,"61010,-1,-1,"40230,"60005,-1,-1,
451*35973SbosticC&	 3RMEL,1RT,3RLIQ,3RUIF,4,"70145,"61002,"10,0,
452*35973SbosticC&	 3RMOV,1RE,4,"40172,"20000,-1,-1,
453*35973SbosticC&	 3RPUL,1RL,3RTUG,0,8,"42172,"21000,-1,-1,
454*35973SbosticC&		"40172,"21012,-1,-1,
455*35973SbosticC&	 3RMUN,1RG,3RHAC,1RK,3RFRO,1RB,3RDAM,3RAGE,
456*35973SbosticC&		5,"52212,"70212,"44002,-1,-1,
457*35973SbosticC&	 3ROPE,1RN,11,"42175,"61000,"10200,0,
458*35973SbosticC&		"60175,"61000,"10200,0,"54002,"4,"1000,
459*35973SbosticC&	 3RPIC,1RK,4,"40204,"61007,"20000,"40,
460*35973SbosticC&	 3RPLU,1RG,3RGLU,1RE,3RPAT,2RCH,4,"70152,"61002,-1,-1,
461*35973SbosticC&	 3RPOK,1RE,3RBRE,2RAK,3RJAB,0,7,"60212,"21000,0,"200,
462*35973SbosticC&		"44002,0,"1000,
463*35973SbosticC&	 3RPOU,1RR,3RSPI,2RLL,11,"42223,"42000,"400,0,
464*35973SbosticC&		"60223,"42000,"400,0,"60005,-1,-1,
465*35973SbosticC&		3RPUM,1RP,4,"60232,"60007,-1,-1/
466*35973SbosticC
467*35973SbosticC
468*35973SbosticC
469*35973Sbostic	DATA VVOC5/19815,17600,19200,0,31201,29000,11266,8000,
470*35973Sbostic&			13,o"167",o"40167",o"60003",-1,-1,
471*35973Sbostic&			o"40231",o"61010",-1,-1,o"40230",o"60005",-1,-1,
472*35973Sbostic&		21012,32000,19577,33966,4,o"70145",o"61002",o"10",0,
473*35973Sbostic&		21422,8000,4,o"40172",o"20000",-1,-1,
474*35973Sbostic&		26452,19200,32847,0,8,o"42172",o"21000",-1,-1,
475*35973Sbostic&			o"40172",o"21012",-1,-1,
476*35973Sbostic&		21654,11200,12843,17600,10335,3200,6453,1885,
477*35973Sbostic&			5,o"52212",o"70212",o"44002",-1,-1,
478*35973Sbostic&		24645,22400,11,o"42175",o"61000",o"10200",0,o"60175",
479*35973Sbostic&			o"61000",o"10200",0,o"54002",o"4",o"1000",
480*35973Sbostic&		25963,17600,4,o"40204",o"61007",o"20000",o"40",
481*35973Sbostic&		26101,11200,11701,8000,25660,5120,
482*35973Sbostic&			4,o"70152",o"61002",-1,-1,
483*35973Sbostic&		26211,8000,3925,2040,16042,0,7,o"60212",o"21000",
484*35973Sbostic&			0,o"200",o"44002",0,o"1000",
485*35973Sbostic&		26221,28800,31049,19680,11,o"42223",o"42000",o"400",0,
486*35973Sbostic&			o"60223",o"42000",o"400",0,o"60005",-1,-1,
487*35973Sbostic&		26453,25600,4,o"60232",o"60007",-1,-1/
488*35973SbosticC
489*35973SbosticC
490*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
491*35973SbosticC
492*35973SbosticC	DATA VVOC6/3RPUT,0,3RINS,3RERT,3RSTU,2RFF,3RPLA,2RCE,
493*35973SbosticC&		8,"72220,"61005,-1,-1,
494*35973SbosticC&		"40221,"61006,-1,-1,
495*35973SbosticC&	 3RRAI,2RSE,3RLIF,1RT,5,"52155,"40155,"61007,-1,-1,
496*35973SbosticC&	 3RREA,1RD,3RSKI,1RM,11,"42144,"71000,"40000,0,
497*35973SbosticC&		"60144,"71000,"40000,0,"61002,-1,-1,
498*35973SbosticC&	 3RSTR,3RIKE,12,"60215,"23000,"40,0,
499*35973SbosticC&		"44002,0,"1000,"42215,"23000,"40,0,"50173,
500*35973SbosticC&	 3RSWI,2RNG,3RTHR,3RUST,7,"60214,"44000,0,"1000,
501*35973SbosticC&		"21003,0,"200,
502*35973SbosticC&	 3RTAK,1RE,3RGET,0,3RHOL,1RD,3RCAR,2RRY,3RREM,3ROVE,
503*35973SbosticC&		4,"40204,"61000,"20000,"40,
504*35973SbosticC&	 3RTEL,1RL,3RCOM,3RMAN,3RREQ,3RUES,4,"40217,"20000,0,"2000,
505*35973SbosticC&	 3RTHR,2ROW,3RHUR,1RL,3RCHU,2RCK,14,"60224,"44000,-1,-1,
506*35973SbosticC&		"21003,"40,0,"60224,"44000,-1,-1,"21002,"40,0/
507*35973SbosticC
508*35973SbosticC
509*35973SbosticC
510*35973Sbostic	DATA VVOC6/26460,0,14979,8740,31221,9840,26081,5000,
511*35973Sbostic&			8,o"72220",o"61005",-1,-1,
512*35973Sbostic&			o"40221",o"61006",-1,-1,
513*35973Sbostic&		28849,30600,19566,32000,
514*35973Sbostic&			5,o"52155",o"40155",o"61007",-1,-1,
515*35973Sbostic&		29001,6400,30849,20800,11,o"42144",o"71000",o"40000",0,
516*35973Sbostic&			o"60144",o"71000",o"40000",0,o"61002",-1,-1,
517*35973Sbostic&		31218,14845,12,o"60215",o"23000",o"40",0,o"44002",
518*35973Sbostic&			0,o"1000",o"42215",o"23000",o"40",0,o"50173",
519*35973Sbostic&		31329,22680,32338,34380,7,o"60214",o"44000",0,o"1000",
520*35973Sbostic&			o"21003",0,o"200",
521*35973Sbostic&		32051,8000,11420,0,13412,6400,4858,29800,29013,24885,
522*35973Sbostic&			4,o"40204",o"61000",o"20000",o"40",
523*35973Sbostic&		32212,19200,5413,20854,29017,33819,
524*35973Sbostic&			4,o"40217",o"20000",0,o"2000",
525*35973Sbostic&		32338,24920,13658,19200,5141,5240,14,o"60224",o"44000",
526*35973Sbostic&			-1,-1,o"21003",o"40",0,o"60224",o"44000",
527*35973Sbostic&			-1,-1,o"21002",o"40",0/
528*35973SbosticC
529*35973SbosticC
530*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
531*35973SbosticC
532*35973SbosticC	DATA VVOC7/3RTIE,0,3RFAS,3RTEN,11,"70162,"61004,-1,-1,
533*35973SbosticC&		"60163,"21000,"40,0,"65002,"4,0,
534*35973SbosticC&	 3RTUR,1RN,3RSET,0,22,"62164,"61000,"2,0,
535*35973SbosticC&		"64002,"4,0,
536*35973SbosticC&		"40173,"75012,"100,0,"40174,"75013,"100,0,
537*35973SbosticC&		"60237,"61000,"2,0,"20004,-1,-1,
538*35973SbosticC&	 3RUNL,3ROCK,7,"60135,"21000,-1,-1,
539*35973SbosticC&		"74002,"4,0,
540*35973SbosticC&	 3RWAK,1RE,3RSUR,3RPRI,3RALA,2RRM,3RSTA,3RRTL,
541*35973SbosticC&		8,"42150,"20000,"40,0,
542*35973SbosticC&		"40150,"20007,"40,0,
543*35973SbosticC&	 3RWAV,1RE,3RFLA,3RUNT,3RBRA,3RNDI,4,"40154,"40000,-1,-1,
544*35973SbosticC&	 3RWIN,1RD,5,"50233,"40233,"61007,-1,-1/
545*35973SbosticC
546*35973SbosticC
547*35973SbosticC
548*35973Sbostic	DATA VVOC7/32365,0,9659,32214,11,o"70162",o"61004",-1,-1,
549*35973Sbostic&		o"60163",o"21000",o"40",0,o"65002",o"4",0,
550*35973Sbostic&	 32858,22400,30620,0,22,o"62164",o"61000",o"2",0,
551*35973Sbostic&		o"64002",o"4",0,
552*35973Sbostic&		o"40173",o"75012",o"100",0,o"40174",o"75013",o"100",0,
553*35973Sbostic&		o"60237",o"61000",o"2",0,o"20004",-1,-1,
554*35973Sbostic&	 34172,24131,7,o"60135",o"21000",-1,-1,
555*35973Sbostic&		o"74002",o"4",0,
556*35973Sbostic&	 36851,8000,31258,26329,2081,29320,31201,29612,
557*35973Sbostic&		8,o"42150",o"20000",o"40",0,
558*35973Sbostic&		o"40150",o"20007",o"40",0,
559*35973Sbostic&	 36862,8000,10081,34180,3921,22569,4,o"40154",o"40000",-1,-1,
560*35973Sbostic&	 37174,6400,5,o"50233",o"40233",o"61007",-1,-1/
561*35973SbosticC
562*35973SbosticC
563*35973Sbostic	DATA VVOCND/-1/
564*35973SbosticC SPARSE, PAGE 6
565*35973SbosticC
566*35973SbosticC OBJECTS--	MAPS OBJECTS TO OBJECT INDICES
567*35973SbosticC
568*35973SbosticC SAME FORMAT AS AVOC.
569*35973SbosticC
570*35973SbosticC
571*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
572*35973SbosticC
573*35973SbosticC	DATA OVOC1/3RBAG,0,1,25,100,3RSAC,1RK,1,3RGAR,3RLIC,2,
574*35973SbosticC&	 3RCLO,2RVE,2,3RFOO,1RD,3,3RSAN,3RDWI,3,3RLUN,2RCH,3,
575*35973SbosticC&	 3RDIN,3RNER,3,
576*35973SbosticC&	 3RGUN,1RK,4,55,3RPIE,2RCE,4,143,186,3RSLA,1RG,4,3RCOA,1RL,5,
577*35973SbosticC&	 3RPIL,1RE,5,18,38,78,87,88,122,3RHEA,1RP,5,
578*35973SbosticC&	 3RFIG,3RURI,6,
579*35973SbosticC&	 3RMAC,3RHIN,7,3RPDP,2R10,7,3RPDP,2R11,7,3RDRY,2RER,7,
580*35973SbosticC&	 3RLID,0,7,3RDIA,3RMON,8,3RCAS,1RE,9,123,3RBOT,3RTLE,10,121,
581*35973SbosticC&	 3RCON,3RTAI,10,3RWAT,2RER,11,209,3RQUA,3RNTI,11,209,
582*35973SbosticC&	 3RLIQ,3RUID,11,209,3RH2O,0,11,209,
583*35973SbosticC&	 3RROP,1RE,12,101,3RHEM,1RP,12,3RCOI,1RL,12,110,
584*35973SbosticC&	 3RKNI,2RFE,13,21,3RBLA,2RDE,13,14,3RSWO,2RRD,14,3RORC,3RHRI,14,
585*35973SbosticC&	 3RGLA,3RMDR,14,3RLAM,1RP,15,16,22,3RLAN,3RTER,15,16,22,
586*35973SbosticC&	 3RRUG,0,17,3RCAR,3RPET,17,
587*35973SbosticC&	 3RLEA,3RVES,18,3RLEA,1RF,18,3RTRO,2RLL,19,
588*35973SbosticC&	 3RAXE,0,20,3RDIN,3RNER,3/
589*35973SbosticC
590*35973SbosticC
591*35973Sbostic	DATA OVOC1/3247,0,1,25,100,30443,17600,1,11258,19563,2,
592*35973Sbostic&	 5295,35400,2,10215,6400,3,30454,7329,3,20054,5120,3,
593*35973Sbostic&	 6774,22618,3,
594*35973Sbostic&	 12054,17600,4,55,25965,5000,4,143,186,30881,11200,4,5401,19200,5,
595*35973Sbostic&	 25972,8000,5,18,38,78,87,88,122,13001,25600,5,
596*35973Sbostic&	 9967,34329,6,
597*35973Sbostic&	 20843,13174,7,25776,50800,7,25776,50840,7,7145,8720,7,
598*35973Sbostic&	 19564,0,7,6761,21414,8,4859,8000,9,123,3820,32485,10,121,
599*35973Sbostic&	 5414,32049,10,36860,8720,11,209,28041,23209,11,209,
600*35973Sbostic&	 19577,33964,11,209,14095,0,11,209,
601*35973Sbostic&	 29416,8000,12,101, 13013,25600,12,5409,19200,12,110,
602*35973Sbostic&	 18169,9800,13,21,3681,6600,13,14,31335,28960,14,24723,13529,14,
603*35973Sbostic&	 11681,20978,14,19253,25600,15,16,22,19254,32218,15,16,22,
604*35973Sbostic&	 29647,0,17,4858,25820,17,
605*35973Sbostic&	 19401,35419,18,19401,9600,18,32735,19680,19,
606*35973Sbostic&	 2565,0,20,6774,22618,3/
607*35973SbosticC
608*35973SbosticC
609*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
610*35973SbosticC
611*35973SbosticC	DATA OVOC2/3RKEY,1RS,23,3RKEY,0,23,
612*35973SbosticC&	 3RSET,0,23,3RBON,2RES,24,3RSKE,3RLET,24,3RBOD,1RY,24,73,
613*35973SbosticC&	 3RCOI,2RNS,25,3RBAR,0,26,165,168,
614*35973SbosticC&	 3RNEC,3RKLA,27,3RPEA,3RRLS,27,3RMIR,3RROR,28,29,212,
615*35973SbosticC&	 3RICE,0,30,3RMAS,1RS,30,3RGLA,3RCIE,30,3RRUB,1RY,31,
616*35973SbosticC&	 3RTRI,3RDEN,32,3RFOR,1RK,32,3RCOF,3RFIN,33,3RCAS,3RKET,33,
617*35973SbosticC&	 3RTOR,2RCH,34,3RCAG,1RE,35,36,124,125,3RDUM,3RBWA,35,36,
618*35973SbosticC&	 3RBAS,3RKET,35,36,98,113,3RBRA,3RCEL,37,
619*35973SbosticC&	 3RJEW,2REL,37,3RTIM,3RBER,38,3RBOX,0,39,53,105,3RSTR,3RADI,40,
620*35973SbosticC&	 3RVIO,3RLIN,40,3RENG,3RRAV,41,3RINS,3RCRI,41,44,3RGHO,2RST,42,
621*35973SbosticC&	 3RSPI,3RRIT,42,3RFIE,2RND,42,3RGRA,2RIL,43,3RPRA,3RYER,44,47,
622*35973SbosticC&	 3RTRU,2RNK,45,3RCHE,2RST,45,3RBEL,1RL,46,
623*35973SbosticC&	 3RBOO,1RK,47,49,114,115,116,117,3RBIB,2RLE,47/
624*35973SbosticC
625*35973SbosticC
626*35973Sbostic	DATA OVOC2/17825,30400,23,17825,0,23,
627*35973Sbostic&	 30620,0,23,3814,8760,24,30845,19420,24,3804,40000,24,73,
628*35973Sbostic&	 5409,23160,25,3258,0,26,165,168,
629*35973Sbostic&	 22603,18081,27,25801,29299,27,21178,29418,28,29,212,
630*35973Sbostic&	 14525,0,30,20859,30400,30,11681,5165,30,29642,40000,31,
631*35973Sbostic&	 32729,6614,32,10218,17600,32,5406,9974,33,4859,17820,33,
632*35973Sbostic&	 32618,5120,34,4847,8000,35,36,124,125,7253,4121,35,36,
633*35973Sbostic&	 3259,17820,35,36,98,113,3921,5012,37,
634*35973Sbostic&	 16223,8480,37,32373,3418,38,3824,0,39,53,105,31218,1769,40,
635*35973Sbostic&	 35575,19574,40,8567,28862,41,14979,5529,41,44,11535,31200,42,
636*35973Sbostic&	 31049,29180,42,9965,22560,42,11921,14880,43,26321,40218,44,47,
637*35973Sbostic&	 32741,22840,45,5125,31200,45,3412,19200,46,
638*35973Sbostic&	 3815,17600,47,49,114,115,116,117,3562,19400,47/
639*35973SbosticC
640*35973SbosticC
641*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
642*35973SbosticC
643*35973SbosticC	DATA OVOC3/3RGOO,3RDBO,47,3RCAN,3RDLE,48,3RPAI,1RR,48,
644*35973SbosticC&	 3RGUI,3RDEB,49,
645*35973SbosticC&	 3RGUI,2RDE,49,3RPAP,2RER,50,122,143,186,3RNEW,3RSPA,50,
646*35973SbosticC&	 3RISS,2RUE,50,3RREP,3RORT,50,3RMAG,3RAZI,50,3RNEW,1RS,50,
647*35973SbosticC&	 3RMAT,3RCHB,51,
648*35973SbosticC&	 3RMAT,2RCH,51,3RMAT,3RCHE,51,3RADV,3RERT,52,3RPAM,3RPHL,52,
649*35973SbosticC&	 3RLEA,3RFLE,52,3RBOO,3RKLE,52,3RMAI,3RLBO,53,
650*35973SbosticC&	 3RTUB,1RE,54,3RTOO,3RTHP,54,3RPUT,2RTY,55,3RMAT,3RERI,55,
651*35973SbosticC&	 3RGLU,1RE,55,3RWRE,3RNCH,56,3RSCR,3REWD,57,
652*35973SbosticC&	 3RCYC,3RLOP,58,3RMON,3RSTE,58,3RCHA,3RLIC,59,3RCUP,0,59,
653*35973SbosticC&	 3RGOB,3RLET,59,3RPAI,3RNTI,60,149,3RART,0,60,149,
654*35973SbosticC&	 3RCAN,3RVAS,60,3RPIC,3RTUR,60,3RWOR,1RK,60,
655*35973SbosticC&	 3RMAS,3RTER,60,215,3RTHI,2REF,61,3RROB,3RBER,61,
656*35973SbosticC&	 3RCRI,3RMIN,61,3RBAN,3RDIT,61,3RCRO,2ROK,61,3RGEN,1RT,61,
657*35973SbosticC&	 3RGEN,3RTLE,61,3RMAN,0,61,3RTHU,1RG,61,
658*35973SbosticC&	 3RBAG,3RMAN,61,3RSTI,3RLLE,62/
659*35973SbosticC
660*35973SbosticC
661*35973Sbostic	DATA OVOC3/11815,6495,47,4854,6885,48,25649,28800,48,
662*35973Sbostic&	 12049,6602,49,
663*35973Sbostic&	 12049,6600,49,256656,8720,50,122,143,186,22623,31041,50,
664*35973Sbostic&	 15179,33800,50,29016,24740,50,20847,2649,50,22623,30400,50,
665*35973Sbostic&	 20860,5122,51,
666*35973Sbostic&	 20860,5120,51,20860,5125,51,1782,8740,52,25653,25932,52,
667*35973Sbostic&	 19401,10085,52,3815,18085,52,20849,19295,53,
668*35973Sbostic&	 32842,8000,54,32615,32336,54,26460,33000,55,20860,8729,55,
669*35973Sbostic&	 11701,8000,55,37525,22528,56,30538,8924,57,
670*35973Sbostic&	 5803,19816,58,21414,31205,58,5121,19563,59,5656,0,59,
671*35973Sbostic&	 11802,19420,59,25649,23209,60,149,2340,0,60,149,
672*35973Sbostic&	 4854,35259,60,25963,32858,60,37418,17600,60,
673*35973Sbostic&	 20859,32218,60,215,32329,8240,61,29402,3418,61,
674*35973Sbostic&	 5529,21175,61,3254,6780,61,5535,24440,61,11414,32000,61,
675*35973Sbostic&	 11414,32485,61,20854,0,61,32341,11200,61,
676*35973Sbostic&	 3247,20854,61,31209,19685,62/
677*35973SbosticC
678*35973SbosticC
679*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
680*35973SbosticC
681*35973SbosticC	DATA OVOC4/3RWIN,3RDOW,63,3RBOL,1RT,64,3RNUT,0,64,
682*35973SbosticC&	 3RGRA,2RTE,65,3RGRA,3RTIN,65,3RDOO,1RR,66,67,68,69,
683*35973SbosticC&	 164,172,173,174,175,189,3RTRA,3RPDO,66,
684*35973SbosticC&	 3RTRA,3RP$D,66,3RSWI,3RTCH,70,76,79,80,81,82,170,
685*35973SbosticC&	 3RHEA,1RD,71,120,3RCOR,3RPSE,72,73,3RBOD,3RIES,73,
686*35973SbosticC&	 3RDAM,0,74,3RGAT,2RES,74,76,3RGAT,1RE,74,76,
687*35973SbosticC&	 3RFCD,0,74,3RRAI,1RL,75,3RRAI,3RLIN,75,
688*35973SbosticC&	 3RBUT,3RTON,76,79,80,81,82,127,128,129,170,176,
689*35973SbosticC&	 3RBUB,3RBLE,77,3RLEA,1RK,78,3RDRI,1RP,78,
690*35973SbosticC&	 3RHOL,1RE,78,107,
691*35973SbosticC&	 3RBAT,0,83,3RRAI,3RNBO,84,
692*35973SbosticC&	 3RPOT,0,85,3RSTA,3RTUE,86,3RSCU,3RLPT,86,3RROC,1RK,86,
693*35973SbosticC&	 3RBOA,1RT,87,88,90,3RPLA,3RSTI,87,88,
694*35973SbosticC&	 3RPUM,1RP,89/
695*35973SbosticC
696*35973SbosticC
697*35973Sbostic	DATA OVOC4/37174,7023,63,3812,32000,64,23260,0,64,
698*35973Sbostic&	 11921,32200,65,11921,32374,65,7015,28800,66,67,68,69,
699*35973Sbostic&	 164,172,173,174,175,189,32721,25775,66,
700*35973Sbostic&	 32721,26684,66,31329,32128,70,76,79,80,81,82,170,
701*35973Sbostic&	 13001,6400,71,120,5418,26365,72,73,3804,14619,73,
702*35973Sbostic&	 6453,0,74,11260,8760,74,76,11260,8000,74,76,
703*35973Sbostic&	 9724,0,74,28849,19200,75,28849,19574,75,
704*35973Sbostic&	 4060,32614,76,79,80,81,82,127,128,129,170,176,
705*35973Sbostic&	 4042,3685,77,19401,17600,78,7129,25600,78,
706*35973Sbostic&	 13412,8000,78,107,
707*35973Sbostic&	 3260,0,83,28849,22495,84,
708*35973Sbostic&	 26220,0,85,31201,32845,86,30541,19860,86,29403,17600,86,
709*35973Sbostic&	 3801,32000,87,88,90,26081,31209,87,88,
710*35973Sbostic&	 26453,25600,89/
711*35973SbosticC
712*35973SbosticC
713*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
714*35973SbosticC
715*35973SbosticC	DATA OVOC5/3RAIR,3RPUM,89,3RAIR,3R$PU,89,3RLAB,2REL,91,112,
716*35973SbosticC&	 3RFIN,3REPR,91,3RSTI,2RCK,92,3RBAR,3RREL,93,3RBUO,1RY,94,
717*35973SbosticC&	 3REME,3RRAL,95,3RSHO,3RVEL,96,3RGUA,2RNO,97,3RCRA,1RP,97,
718*35973SbosticC&	 3RSHI,1RT,97,3RHUN,1RK,97,3RBAL,3RLOO,98,113,
719*35973SbosticC&	 3RREC,3REPT,99,3RWIR,1RE,101,110,
720*35973SbosticC&	 3RHOO,1RK,102,103,3RZOR,3RKMI,104,148,3RCOI,1RN,104,
721*35973SbosticC&	 3RSAF,1RE,105,3RCAR,1RD,106,188,3RNOT,1RE,106,186,
722*35973SbosticC&	 3RSLO,1RT,107,187,3RCRO,2RWN,108,3RBRI,2RCK,109,
723*35973SbosticC&	 3RFUS,1RE,110,3RGNO,2RME,111,152,
724*35973SbosticC&	 3RSTA,2RMP,118,
725*35973SbosticC&	 3RTOM,1RB,119,3RCRY,2RPT,119,3RGRA,2RVE,119,3RHEA,2RDS,120,
726*35973SbosticC&	 3RPOL,2RES,120,3RIMP,3RLEM,120/
727*35973SbosticC
728*35973SbosticC
729*35973Sbostic	DATA OVOC5/1978,26453,89,1978,43861,89,19242,8480,91,112,
730*35973Sbostic&	 9974,8658,91,31209,5240,92,3258,29012,93,4055,40000,94,
731*35973Sbostic&	 8525,28852,95,30735,35412,96,12041,23000,97,5521,25600,97,
732*35973Sbostic&	 30729,32000,97,13654,17600,97,3252,19815,98,113,
733*35973Sbostic&	 29003,8660,99,37178,8000,101,110,
734*35973Sbostic&	 13415,17600,102,103,42218,18129,104,148,5409,22400,104,
735*35973Sbostic&	 30446,8000,105,4858,6400,106,188,23020,8000,106,186,
736*35973Sbostic&	 30895,32000,107,187,5535,37360,108,3929,5240,109,
737*35973Sbostic&	 10459,8000,110,11775,21000,111,152,
738*35973Sbostic&	 31201,21440,118,
739*35973Sbostic&	 32613,3200,119,5545,26400,119,11921,35400,119,13001,7160,120,
740*35973Sbostic&	 26212,8760,120,14936,19413,120/
741*35973SbosticC
742*35973SbosticC
743*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
744*35973SbosticC
745*35973SbosticC	DATA OVOC6/3RLOS,3RERS,120,3RCOK,2RES,121,
746*35973SbosticC&	 3RLIS,3RTIN,122,3RSTA,2RCK,122,
747*35973SbosticC&	 3RPRI,3RNTO,122,
748*35973SbosticC&	 3RSPH,3RERE,126,3RBAL,1RL,126,
749*35973SbosticC&	 3RETC,3RHIN,130,131,
750*35973SbosticC&	 3RWAL,2RLS,130,131,198,205,206,207,208,3RWAL,1RL,
751*35973SbosticC&	 130,131,159,160,161,162,163,164,198,205,206,207,208,
752*35973SbosticC&	 3RFLA,2RSK,132,3RPOO,1RL,133,3RSEW,3RAGE,133,
753*35973SbosticC&	 3RTIN,0,134,3RSAF,3RFRO,134,3RSPI,3RCES,134,3RTAB,2RLE,135,
754*35973SbosticC&	 3RPOS,1RT,136,166,167,3RPOS,2RTS,136,3RBUC,3RKET,137,
755*35973SbosticC&	 3RCAK,1RE,138,139,140,141,3RICI,2RNG,139,140,141,
756*35973SbosticC&	 3RROB,2ROT,142,3RROB,2RBY,142,
757*35973SbosticC&	 3RC3P,1RO,142,3RR2D,1R2,142/
758*35973SbosticC
759*35973SbosticC
760*35973Sbostic	DATA OVOC6/19819,8739,120,5411,8760,121,
761*35973Sbostic&	 19579,32374,122,31201,5240,122,
762*35973Sbostic&	 26329,23215,122,
763*35973Sbostic&	 31048,8725,126,3252,19200,126,
764*35973Sbostic&	 8803,13174,130,131,
765*35973Sbostic&	 36852,19960,130,131,198,205,206,207,208,36852,19200,
766*35973Sbostic&	 130,131,159,160,161,162,163,164,198,205,206,207,208,
767*35973Sbostic&	 10081,30840,132,26215,19200,133,30623,1885,133,
768*35973Sbostic&	 32374,0,134,30446,10335,134,31049,5019,134,32042,19400,135,
769*35973Sbostic&	 26219,32000,136,166,167,26219,32760,136,4043,17820,137,
770*35973Sbostic&	 4851,8000,138,139,140,141,14529,22680,139,140,141,
771*35973Sbostic&	 29402,24800,142,29402,4200,142,
772*35973Sbostic&	 6136,24000,142,30084,51200,142/
773*35973SbosticC
774*35973SbosticC
775*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
776*35973SbosticC
777*35973SbosticC	DATA OVOC6A/3RPAN,2REL,159,160,161,162,163,164,213,
778*35973SbosticC&	 3RPOL,1RE,166,167,3RTBA,1RR,168,3RT$B,2RAR,168,
779*35973SbosticC&	 3RARR,2ROW,169,3RPOI,2RNT,169,3RBEA,1RM,171,
780*35973SbosticC&	 3RDIA,1RL,177,3RSUN,3RDIA,177,1R1,0,178,
781*35973SbosticC&	 3RONE,0,178,1R2,0,179,3RTWO,0,179,1R3,0,180,
782*35973SbosticC&	 3RTHR,2REE,180,1R4,0,181,3RFOU,1RR,181,1R5,0,182,
783*35973SbosticC&	 3RFIV,1RE,182,1R6,0,183,3RSIX,0,183,1R7,0,184,
784*35973SbosticC&	 3RSEV,2REN,184,1R8,0,185,3REIG,2RHT,185,
785*35973SbosticC&	 3RWAR,3RNIN,186,3RSLI,1RT,187,
786*35973SbosticC&	 2RIT,0,192,3RTHA,1RT,192,3RTHI,1RS,192/
787*35973SbosticC
788*35973SbosticC
789*35973Sbostic	DATA OVOC6A/25654,8480,159,160,161,162,163,164,213,
790*35973Sbostic&	 26212,8000,166,167,32081,28800,168,33082,2320,168,
791*35973Sbostic&	 2338,24920,169,26209,23200,169,3401,20800,171,
792*35973Sbostic&	 6761,19200,177,31254,6761,177,49600,0,178,
793*35973Sbostic&	 24565,0,178,51200,0,179,32935,0,179,52800,0,180,
794*35973Sbostic&	 32338,8200,180,54400,0,181,10221,28800,181,56000,0,182,
795*35973Sbostic&	 9982,8000,182,57600,0,183,30784,0,183,59200,0,184,
796*35973Sbostic&	 30622,8560,184,60800,0,185,8367,13600,185,
797*35973Sbostic&	 36858,22774,186,30889,32000,187,
798*35973Sbostic&	 15200,0,192,32321,32000,192,32329,30400,192/
799*35973SbosticC
800*35973SbosticC
801*35973SbosticC   THE FOLLOWING DATA STATEMENT WAS ORIGINALLY:
802*35973SbosticC
803*35973SbosticC	DATA OVOC7/2RME,0,193,3RMYS,3RELF,193,3RCRE,3RTIN,193,
804*35973SbosticC&	 3RALL,0,194,3REVE,3RRYT,194,
805*35973SbosticC&	 3RTRE,3RASU,195,3RVAL,3RUAB,195,3RSAI,3RLOR,196,3RTEE,2RTH,197,
806*35973SbosticC&	 3RGRU,1RE,199,3RHAN,1RD,200,3RHAN,2RDS,200,
807*35973SbosticC&	 3RLUN,2RGS,201,3RAIR,0,201,3RAVI,3RATO,202,
808*35973SbosticC&	 3RFLY,2RER,202,3RTRE,1RE,144,145,204,
809*35973SbosticC&	 3RCLI,2RFF,146,147,3RLED,2RGE,146,147,3RPOR,3RTRA,149,
810*35973SbosticC&	 3RSTA,2RCK,148,3RBIL,2RLS,148,
811*35973SbosticC&	 3RVAU,2RLT,150,3RCUB,1RE,150,3RLET,3RTER,67,150,
812*35973SbosticC&	 3RCUR,3RTAI,151,3RLIG,2RHT,151,3RNES,1RT,153,
813*35973SbosticC&	 3REGG,0,154,155,3RBAU,3RBLE,156,3RCAN,3RARY,157,158,
814*35973SbosticC&	 3RBIR,1RD,203,3RSON,3RGBI,203,
815*35973SbosticC&	 3RGUA,2RRD,210,3RGUA,3RRDI,210,3RROS,1RE,211,
816*35973SbosticC&	 3RSTR,3RUCT,212,3RCHA,3RNNE,214,
817*35973SbosticC&	 3RKEE,3RPER,215,3RLAD,3RDER,216/
818*35973SbosticC
819*35973SbosticC
820*35973Sbostic	DATA OVOC7/21000,0,193,21819,8486,193,5525,32374,193,
821*35973Sbostic&	 2092,0,194,8885,29820,194,
822*35973Sbostic&	 32725,2381,195,35252,33642,195,30449,19818,196,32205,32320,197,
823*35973Sbostic&	 11941,8000,199,12854,6400,200,12854,7160,200,
824*35973Sbostic&	 20054,11960,201,1978,0,201,2489,2415,202,
825*35973Sbostic&	 10105,8720,202,32725,8000,144,145,204,
826*35973Sbostic&	 5289,9840,146,147,19404,11400,146,147,26218,32721,149,
827*35973Sbostic&	 31201,5240,148,3572,19960,148,
828*35973Sbostic&	 35261,20000,150,5642,8000,150,19420,32218,67,150,
829*35973Sbostic&	 5658,32049,151,19567,13600,151,22619,32000,153,
830*35973Sbostic&	 8287,0,154,155,3261,3685,156,4854,2345,157,158,
831*35973Sbostic&	 3578,6400,203,31014,11289,203,
832*35973Sbostic&	 12041,28960,210,12041,28969,210,29419,8000,211,
833*35973Sbostic&	 31218,33740,212,5121,22965,214,
834*35973Sbostic&	 17805,25818,215,19244,6618,216/
835*35973SbosticC
836*35973SbosticC
837*35973Sbostic	DATA OVOCND/-1/
838*35973SbosticC SPARSE, PAGE 7
839*35973SbosticC
840*35973SbosticC SET UP FOR PARSING
841*35973SbosticC
842*35973Sbostic	SPARSE=-1
843*35973SbosticC						!ASSUME PARSE FAILS.
844*35973Sbostic	ADJ=0
845*35973SbosticC						!CLEAR PARTS HOLDERS.
846*35973Sbostic	ACT=0
847*35973Sbostic	PREP=0
848*35973Sbostic	PPTR=0
849*35973Sbostic	O1=0
850*35973Sbostic	O2=0
851*35973Sbostic	P1=0
852*35973Sbostic	P2=0
853*35973Sbostic#ifdef debug
854*35973Sbostic	DFLAG=and(PRSFLG,4).NE.0
855*35973Sbostic#endif
856*35973SbosticC
857*35973Sbostic	BUZLNT=20
858*35973Sbostic	PRPLNT=48
859*35973Sbostic	DIRLNT=75
860*35973SbosticC SPARSE, PAGE 8
861*35973SbosticC
862*35973SbosticC NOW LOOP OVER INPUT BUFFER OF LEXICAL TOKENS.
863*35973SbosticC
864*35973Sbostic	DO 1000 I=1,LLNT,2
865*35973SbosticC						!TWO WORDS/TOKEN.
866*35973Sbostic	  LBUF1=LBUF(I)
867*35973SbosticC						!GET CURRENT TOKEN.
868*35973Sbostic	  LBUF2=LBUF(I+1)
869*35973Sbostic#ifdef debug
870*35973Sbostic	  if (dflag) write(0,*) 'lbuf1=',lbuf1,' lbuf2=',lbuf2
871*35973Sbostic#endif
872*35973Sbostic	  IF(LBUF1.EQ.0) GO TO 1500
873*35973SbosticC						!END OF BUFFER?
874*35973SbosticC
875*35973SbosticC CHECK FOR BUZZ WORD
876*35973SbosticC
877*35973Sbostic	  DO 50 J=1,BUZLNT,2
878*35973Sbostic	    IF((LBUF1.EQ.BVOC(J)).AND.(LBUF2.EQ.BVOC(J+1)))
879*35973Sbostic&		GO TO 1000
880*35973Sbostic50	  CONTINUE
881*35973SbosticC
882*35973SbosticC CHECK FOR ACTION OR DIRECTION
883*35973SbosticC
884*35973Sbostic	  IF(ACT.NE.0) GO TO 75
885*35973SbosticC						!GOT ACTION ALREADY?
886*35973Sbostic	  J=1
887*35973SbosticC						!CHECK FOR ACTION.
888*35973Sbostic125	  IF((LBUF1.EQ.VVOC(J)).AND.(LBUF2.EQ.VVOC(J+1)))
889*35973Sbostic&		GO TO 3000
890*35973Sbostic150	  J=J+2
891*35973SbosticC						!ADV TO NEXT SYNONYM.
892*35973Sbostic	  IF(.NOT.OTEST(VVOC(J))) GO TO 125
893*35973SbosticC						!ANOTHER VERB?
894*35973Sbostic	  J=J+VVOC(J)+1
895*35973SbosticC						!NO, ADVANCE OVER SYNTAX.
896*35973Sbostic	  IF(VVOC(J).NE.-1) GO TO 125
897*35973SbosticC						!TABLE DONE?
898*35973SbosticC
899*35973Sbostic75	  IF((ACT.NE.0).AND.((VVOC(ACT).NE.R50WAL).OR.
900*35973Sbostic&		(PREP.NE.0))) GO TO 200
901*35973Sbostic	  DO 100 J=1,DIRLNT,3
902*35973SbosticC						!THEN CHK FOR DIR.
903*35973Sbostic	    IF((LBUF1.EQ.DVOC(J)).AND.(LBUF2.EQ.DVOC(J+1)))
904*35973Sbostic&		GO TO 2000
905*35973Sbostic100	  CONTINUE
906*35973SbosticC
907*35973SbosticC NOT AN ACTION, CHECK FOR PREPOSITION, ADJECTIVE, OR OBJECT.
908*35973SbosticC
909*35973Sbostic200	  DO 250 J=1,PRPLNT,3
910*35973SbosticC						!LOOK FOR PREPOSITION.
911*35973Sbostic	    IF((LBUF1.EQ.PVOC(J)).AND.(LBUF2.EQ.PVOC(J+1)))
912*35973Sbostic&		GO TO 4000
913*35973Sbostic250	  CONTINUE
914*35973SbosticC
915*35973Sbostic	  J=1
916*35973SbosticC						!LOOK FOR ADJECTIVE.
917*35973Sbostic300	  IF((LBUF1.EQ.AVOC(J)).AND.(LBUF2.EQ.AVOC(J+1)))
918*35973Sbostic&		GO TO 5000
919*35973Sbostic	  J=J+1
920*35973Sbostic325	  J=J+1
921*35973SbosticC						!ADVANCE TO NEXT ENTRY.
922*35973Sbostic	  IF(OTEST(AVOC(J))) GO TO 325
923*35973SbosticC						!A RADIX 50 CONSTANT?
924*35973Sbostic	  IF(AVOC(J).NE.-1) GO TO 300
925*35973SbosticC						!POSSIBLY, END TABLE?
926*35973SbosticC
927*35973Sbostic	  J=1
928*35973SbosticC						!LOOK FOR OBJECT.
929*35973Sbostic450	  IF((LBUF1.EQ.OVOC(J)).AND.(LBUF2.EQ.OVOC(J+1)))
930*35973Sbostic&		GO TO 600
931*35973Sbostic	  J=J+1
932*35973Sbostic500	  J=J+1
933*35973Sbostic	  IF(OTEST(OVOC(J))) GO TO 500
934*35973Sbostic	  IF(OVOC(J).NE.-1) GO TO 450
935*35973SbosticC
936*35973SbosticC NOT RECOGNIZABLE
937*35973SbosticC
938*35973Sbostic	  IF(VBFLAG) CALL RSPEAK(601)
939*35973Sbostic	  RETURN
940*35973SbosticC SPARSE, PAGE 9
941*35973SbosticC
942*35973SbosticC OBJECT PROCESSING (CONTINUATION OF DO LOOP ON PREV PAGE)
943*35973SbosticC
944*35973Sbostic600	  OBJ=GETOBJ(J,ADJ,0)
945*35973SbosticC						!IDENTIFY OBJECT.
946*35973Sbostic#ifdef debug
947*35973Sbostic	  IF(DFLAG) PRINT 60,J,OBJ
948*35973Sbostic#ifdef NOCC
949*35973Sbostic60	  FORMAT('SPARSE- OBJ AT ',I6,'  OBJ= ',I6)
950*35973Sbostic#else NOCC
951*35973Sbostic60	  FORMAT(' SPARSE- OBJ AT ',I6,'  OBJ= ',I6)
952*35973Sbostic#endif NOCC
953*35973Sbostic#endif
954*35973Sbostic	  IF(OBJ.LE.0) GO TO 6000
955*35973SbosticC						!IF LE, COULDNT.
956*35973Sbostic	  IF(OBJ.NE.ITOBJ) GO TO 650
957*35973SbosticC						!"IT"?
958*35973Sbostic	  OBJ=GETOBJ(0,0,LASTIT)
959*35973SbosticC						!FIND LAST.
960*35973Sbostic	  IF(OBJ.LE.0) GO TO 6000
961*35973SbosticC						!IF LE, COULDNT.
962*35973SbosticC
963*35973Sbostic650	  IF(PREP.EQ.9) GO TO 8000
964*35973SbosticC						!"OF" OBJ?
965*35973Sbostic	  IF(PPTR.EQ.2) GO TO 7000
966*35973SbosticC						!TOO MANY OBJS?
967*35973Sbostic	  PPTR=PPTR+1
968*35973Sbostic	  OBJVEC(PPTR)=OBJ
969*35973SbosticC						!STUFF INTO VECTOR.
970*35973Sbostic	  PRPVEC(PPTR)=PREP
971*35973Sbostic700	  PREP=0
972*35973Sbostic	  ADJ=0
973*35973SbosticC Go to end of do loop (moved "1000 CONTINUE" to end of module, to avoid
974*35973SbosticC complaints about people jumping back into the doloop.)
975*35973Sbostic	  GOTO 1000
976*35973SbosticC SPARSE, PAGE 10
977*35973SbosticC
978*35973SbosticC SPECIAL PARSE PROCESSORS
979*35973SbosticC
980*35973SbosticC 2000--	DIRECTION
981*35973SbosticC
982*35973Sbostic2000	PRSA=WALKW
983*35973Sbostic	PRSO=DVOC(J+2)
984*35973Sbostic	SPARSE=1
985*35973Sbostic#ifdef debug
986*35973Sbostic	IF(DFLAG) PRINT 10,J
987*35973Sbostic#ifdef NOCC
988*35973Sbostic10	FORMAT('SPARSE- DIR AT ',I6)
989*35973Sbostic#else NOCC
990*35973Sbostic10	FORMAT(' SPARSE- DIR AT ',I6)
991*35973Sbostic#endif NOCC
992*35973Sbostic#endif debug
993*35973Sbostic	RETURN
994*35973SbosticC
995*35973SbosticC 3000--	ACTION
996*35973SbosticC
997*35973Sbostic3000	ACT=J
998*35973Sbostic	OACT=0
999*35973Sbostic#ifdef debug
1000*35973Sbostic	IF(DFLAG) PRINT 20,J
1001*35973Sbostic#ifdef NOCC
1002*35973Sbostic20	FORMAT('SPARSE- ACT AT ',I6)
1003*35973Sbostic#else NOCC
1004*35973Sbostic20	FORMAT(' SPARSE- ACT AT ',I6)
1005*35973Sbostic#endif NOCC
1006*35973Sbostic	if(dflag) write(0,*) "count=",vvoc(j+2)," vnr=",vvoc(j+3)
1007*35973Sbostic#endif
1008*35973Sbostic	GO TO 1000
1009*35973SbosticC
1010*35973SbosticC 4000--	PREPOSITION
1011*35973SbosticC
1012*35973Sbostic4000	IF(PREP.NE.0) GO TO 4500
1013*35973Sbostic	PREP=PVOC(J+2)
1014*35973Sbostic	ADJ=0
1015*35973Sbostic#ifdef debug
1016*35973Sbostic	IF(DFLAG) PRINT 30,J
1017*35973Sbostic#ifdef NOCC
1018*35973Sbostic30	FORMAT('SPARSE- PREP AT ',I6)
1019*35973Sbostic#else NOCC
1020*35973Sbostic30	FORMAT(' SPARSE- PREP AT ',I6)
1021*35973Sbostic#endif NOCC
1022*35973Sbostic#endif debug
1023*35973Sbostic	GO TO 1000
1024*35973SbosticC
1025*35973Sbostic4500	IF(VBFLAG) CALL RSPEAK(616)
1026*35973Sbostic	RETURN
1027*35973SbosticC
1028*35973SbosticC 5000--	ADJECTIVE
1029*35973SbosticC
1030*35973Sbostic5000	ADJ=J
1031*35973Sbostic	J=(and(ONAME,OFLAG))
1032*35973Sbostic#ifdef debug
1033*35973Sbostic	IF(DFLAG) PRINT 40,ADJ,J
1034*35973Sbostic#ifdef NOCC
1035*35973Sbostic40	FORMAT('SPARSE- ADJ AT ',I6,' ORPHAN= ',I6)
1036*35973Sbostic#else NOCC
1037*35973Sbostic40	FORMAT(' SPARSE- ADJ AT ',I6,' ORPHAN= ',I6)
1038*35973Sbostic#endif NOCC
1039*35973Sbostic#endif debug
1040*35973Sbostic	IF((J.NE.0).AND.(I.GE.LLNT)) GO TO 600
1041*35973Sbostic	GO TO 1000
1042*35973SbosticC
1043*35973SbosticC 6000--	UNIDENTIFIABLE OBJECT (INDEX INTO OVOC IS J)
1044*35973SbosticC
1045*35973Sbostic6000	IF(OBJ.LT.0) GO TO 6100
1046*35973Sbostic	J=579
1047*35973Sbostic	IF(LIT(HERE)) J=618
1048*35973Sbostic	IF(VBFLAG) CALL RSPEAK(J)
1049*35973Sbostic	RETURN
1050*35973SbosticC
1051*35973Sbostic6100	IF(OBJ.NE.-10000) GO TO 6200
1052*35973Sbostic	IF(VBFLAG) CALL RSPSUB(620,ODESC2(AVEHIC(WINNER)))
1053*35973Sbostic	RETURN
1054*35973SbosticC
1055*35973Sbostic6200	IF(VBFLAG) CALL RSPEAK(619)
1056*35973Sbostic	IF(ACT.EQ.0) ACT=(and(OFLAG,OACT))
1057*35973Sbostic	CALL ORPHAN(-1,ACT,O1,PREP,J)
1058*35973Sbostic	RETURN
1059*35973SbosticC
1060*35973SbosticC 7000--	TOO MANY OBJECTS.
1061*35973SbosticC
1062*35973Sbostic7000	IF(VBFLAG) CALL RSPEAK(617)
1063*35973Sbostic	RETURN
1064*35973SbosticC
1065*35973SbosticC 8000--	RANDOMNESS FOR "OF" WORDS
1066*35973SbosticC
1067*35973Sbostic8000	IF(OBJVEC(PPTR).EQ.OBJ) GO TO 700
1068*35973Sbostic	IF(VBFLAG) CALL RSPEAK(601)
1069*35973Sbostic	RETURN
1070*35973SbosticC
1071*35973SbosticC End of do-loop.
1072*35973SbosticC
1073*35973Sbostic1000	CONTINUE
1074*35973SbosticC						!AT LAST.
1075*35973SbosticC
1076*35973SbosticC NOW SOME MISC CLEANUP -- We fell out of the do-loop
1077*35973SbosticC
1078*35973Sbostic1500	IF(ACT.EQ.0) ACT=(and(OFLAG,OACT))
1079*35973Sbostic	IF(ACT.EQ.0) GO TO 9000
1080*35973SbosticC						!IF STILL NONE, PUNT.
1081*35973Sbostic	IF(ADJ.NE.0) GO TO 10000
1082*35973SbosticC						!IF DANGLING ADJ, PUNT.
1083*35973SbosticC
1084*35973Sbostic	IF((OFLAG.NE.0).AND.(OPREP.NE.0).AND.(PREP.EQ.0).AND.
1085*35973Sbostic&		(O1.NE.0).AND.(O2.EQ.0).AND.(ACT.EQ.OACT))
1086*35973Sbostic&		GO TO 11000
1087*35973SbosticC
1088*35973Sbostic	SPARSE=0
1089*35973SbosticC						!PARSE SUCCEEDS.
1090*35973Sbostic	IF(PREP.EQ.0) GO TO 1750
1091*35973SbosticC						!IF DANGLING PREP,
1092*35973Sbostic	IF((PPTR.EQ.0).OR.(PRPVEC(PPTR).NE.0))
1093*35973Sbostic&		GO TO 12000
1094*35973Sbostic	PRPVEC(PPTR)=PREP
1095*35973SbosticC						!CVT TO 'PICK UP FROB'.
1096*35973SbosticC
1097*35973SbosticC 1750--	RETURN A RESULT
1098*35973SbosticC
1099*35973Sbostic1750	CONTINUE
1100*35973SbosticC						!WIN.
1101*35973Sbostic#ifdef debug
1102*35973Sbostic	IF(DFLAG) PRINT 70,ACT,O1,O2,P1,P2
1103*35973Sbostic#ifdef NOCC
1104*35973Sbostic70	FORMAT('SPARSE RESULTS- ',5I7)
1105*35973Sbostic#else NOCC
1106*35973Sbostic70	FORMAT(' SPARSE RESULTS- ',5I7)
1107*35973Sbostic#endif NOCC
1108*35973Sbostic	if(dflag) write(0,*) "sparse=",sparse
1109*35973Sbostic#endif
1110*35973Sbostic	RETURN
1111*35973SbosticC						!LOSE.
1112*35973SbosticC
1113*35973SbosticC 9000--	NO ACTION, PUNT
1114*35973SbosticC
1115*35973Sbostic9000	IF(O1.EQ.0) GO TO 10000
1116*35973SbosticC						!ANY DIRECT OBJECT?
1117*35973Sbostic	IF(VBFLAG) CALL RSPSUB(621,ODESC2(O1))
1118*35973SbosticC						!WHAT TO DO?
1119*35973Sbostic	CALL ORPHAN(-1,0,O1,0,0)
1120*35973Sbostic	RETURN
1121*35973SbosticC
1122*35973SbosticC 10000--	TOTAL CHOMP
1123*35973SbosticC
1124*35973Sbostic10000	IF(VBFLAG) CALL RSPEAK(622)
1125*35973SbosticC						!HUH?
1126*35973Sbostic	RETURN
1127*35973SbosticC
1128*35973SbosticC 11000--	ORPHAN PREPOSITION.  CONDITIONS ARE
1129*35973SbosticC		O1.NE.0, O2=0, PREP=0, ACT=OACT
1130*35973SbosticC
1131*35973Sbostic11000	IF(OSLOT.NE.0) GO TO 11500
1132*35973SbosticC						!ORPHAN OBJECT?
1133*35973Sbostic	P1=OPREP
1134*35973SbosticC						!NO, JUST USE PREP.
1135*35973Sbostic	GO TO 1750
1136*35973SbosticC
1137*35973Sbostic11500	O2=O1
1138*35973SbosticC						!YES, USE AS DIRECT OBJ.
1139*35973Sbostic	P2=OPREP
1140*35973Sbostic	O1=OSLOT
1141*35973Sbostic	P1=0
1142*35973Sbostic	GO TO 1750
1143*35973SbosticC
1144*35973SbosticC 12000--	TRUE HANGING PREPOSITION.
1145*35973SbosticC		ORPHAN FOR LATER.
1146*35973SbosticC
1147*35973Sbostic12000	CALL ORPHAN(-1,ACT,0,PREP,0)
1148*35973SbosticC						!ORPHAN PREP.
1149*35973Sbostic	GO TO 1750
1150*35973SbosticC
1151*35973Sbostic	END
1152