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