1: C SPARSE- START OF PARSE 2: C 3: C COPYRIGHT 1980, INFOCOM COMPUTERS AND COMMUNICATIONS, CAMBRIDGE MA. 02142 4: C ALL RIGHTS RESERVED, COMMERCIAL USAGE STRICTLY PROHIBITED 5: C WRITTEN BY R. M. SUPNIK 6: C 7: C DECLARATIONS 8: C 9: C THIS ROUTINE DETAILS ON BIT 2 OF PRSFLG 10: C 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" 23: C SPARSE, PAGE 2 24: C 25: C FUNCTIONS AND DATA 26: C 27: OTEST(R)=(R.GT.0).AND.(R.LT.R50MIN) 28: C 29: C THE FOLLOWING DATA STATEMENT ORIGINALLY WAS: 30: C 31: C DATA R50MIN/1RA/,R50WAL/3RWAL/ 32: C 33: DATA R50MIN/1600/,R50WAL/36852/ 34: C 35: C BUZZ WORDS-- IGNORED IN SYNTACTIC PROCESSING 36: C 37: C THE FOLLOWING DATA STATEMENT WAS CONVERTED FROM: 38: C 39: C DATA BVOC/3RAND,0,2RBY,0,2RIS,0,1RA,0, 40: C& 2RAN,0,3RTHE,0,3RRUN,0,2RGO,0,3RPRO,3RCEE,0,0/ 41: C 42: DATA BVOC/2164,0,4200,0,15160,0,1600,0, 43: & 2160,0,32325,0,29654,0,11800,0,26335,5005,0,0/ 44: C 45: C 46: C PREPOSITIONS-- MAPS PREPOSITIONS TO INDICES 47: C 48: C THE FOLLOWING DATA STATEMENT WAS CONVERTED FROM: 49: C 50: C DATA PVOC/3ROVE,1RR,1,3RWIT,1RH,2,3RUSI,2RNG,2,3RTHR,3ROUG,2, 51: C& 2RAT,0,3,2RTO,0,4,2RIN,0,5,3RINS,3RIDE,5,3RINT,1RO,5, 52: C& 3RDOW,1RN,6,2RUP,0,7,3RUND,2RER,8,2ROF,0,9,2RON,0,10, 53: C& 3ROFF,0,11/ 54: C 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/ 59: C 60: C 61: C DIRECTIONS-- MAPS DIRECTIONS TO INDICES 62: C 63: C THE FOLLOWING DATA STATEMENT WAS CONVERTED FROM: 64: C 65: C DATA DVOC/1RN,0,"2000,3RNOR,2RTH,"2000,1RS,0,"12000, 66: C& 1RE,0,"6000,3REAS,1RT,"6000,1RW,0,"16000,3RWES,1RT,"16000, 67: C& 2RSE,0,"10000,2RSW,0,"14000, 68: C& 2RNE,0,"4000,2RNW,0,"20000, 69: C& 1RU,0,"22000,2RUP,0,"22000,1RD,0,"24000,3RDOW,1RN,"24000, 70: C& 3RLAU,3RNCH,"26000,3RLAN,1RD,"30000,3RENT,2RER,"32000, 71: C& 3REXI,1RT,"34000,3ROUT,0,"34000,3RLEA,2RVE,"34000, 72: C& 3RTRA,3RVEL,"36000,3RSOU,2RTH,"12000, 73: C& 2RIN,0,"32000, 74: C& 3RCRO,2RSS,"36000/ 75: C 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"/ 87: C 88: C 89: C SPARSE, PAGE 3 90: C 91: C ADJECTIVES-- MAPS ADJECTIVES TO OBJECT NUMBERS 92: C 93: C EACH ENTRY IS VARIABLE LENGTH AND CONSISTS OF A TWO WORD 94: C ADJECTIVE IN RADIX-50 FOLLOWED BY ONE OR MORE OBJECT NUMBERS. 95: C NOTE THAT ADJECTIVES CAN BE DISTINGUISHED FROM OBJECTS AS 96: C FOLLOWS-- ALL ADJECTIVES ARE .GE. 1RA (1600), WHILE ALL OBJECTS 97: C ARE .LE. OLNT (255 MAX). 98: C 99: C THE DATA STATEMENT BELOW WAS CONVERTED FROM: 100: C 101: C DATA AVOC1/3RBRO,2RWN,1,81,3RELO,3RNGA,1,3RHOT,0,3,3RPEP,3RPER,3, 102: C& 3RVIT,3RREO,4,3RJAD,1RE,6,3RHUG,1RE,8,3RENO,3RRMO,8,122, 103: C& 3RTRO,3RPHY,9,3RCLE,2RAR,10,3RLAR,2RGE,12,26,47,95,96,123, 104: C& 133,135,146,147,150,176,3RNAS,2RTY,13,3RELV,3RISH,14, 105: C& 3RBRA,2RSS,15,16,46,156, 106: C& 3RBRO,3RKEN,16,22,92,113,155,158,3RORI,3RENT,17, 107: C& 3RBLO,3RODY,20,3RRUS,2RTY,21,3RBUR,3RNED,22, 108: C& 3RDEA,1RD,22,3ROLD,0,25,41,44,45,3RLEA,3RTHE,25, 109: C& 3RPLA,3RTIN,26,3RPEA,2RRL,27, 110: C& 3RMOB,1RY,31,3RCRY,3RSTA,32,126, 111: C& 3RGOL,1RD,33,85,104,157,158,188, 112: C& 3RIVO,2RRY,34,3RSAP,3RPHI,37,3RWOO,3RDEN,38,67,136,137, 113: C& 165,173,174,175,3RWOO,1RD,38,67,136,137,165,173,174,175, 114: C& 3RSTE,2REL,39,125,189, 115: C& 3RDEN,3RTED,39,3RFAN,2RCY,40,3RANC,3RIEN,41,44, 116: C& 3RSMA,2RLL,5,46,52,53,89,102,103,153,187, 117: C& 3RBLA,2RCK,47,162,3RTOU,1RR,49, 118: C& 3RVIS,3RCOU,55,3RVIC,3RIOU,62, 119: C& 3RGLA,2RSS,10,126,132,3RTRA,1RP,66/ 120: C 121: C 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/ 141: C 142: C 143: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 144: C 145: C DATA AVOC2/3RFRO,2RNT,68,3RSTO,2RNE,69,150,214,3RMAN,3RGLE,72, 146: C& 3RRED,0,79,94,140,161,170,171,3RYEL,3RLOW,80,159, 147: C& 3RBLU,1RE,82,112,114,141, 148: C& 3RVAM,3RPIR,83,3RMAG,2RIC,90, 149: C& 3RSEA,3RWOR,90,3RTAN,0,91,3RSHA,2RRP,92, 150: C& 3RWIC,3RKER,98,3RCLO,2RTH,100, 151: C& 3RBRA,3RIDE,101, 152: C& 3RGAU,2RDY,108,3RSQU,3RARE,109,127,3RCLA,1RY,109, 153: C& 3RSHI,2RNY,110,3RTHI,1RN,110, 154: C& 3RGRE,2REN,115,143,3RPUR,3RPLE,116,3RWHI,2RTE,117,147,160, 155: C& 3RMAR,3RBLE,119,3RCOK,1RE,121,3REMP,2RTY,121, 156: C& 3RROU,2RND,128,3RTRI,3RANG,129, 157: C& 2 3RRAR,1RE,134,3ROBL,3RONG,135,3REAT,3R$ME,138, 158: C& 3REAT,2RME,138,3RORA,3RNGE,139,3RECC,1RH,141/ 159: C 160: C 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/ 176: C 177: C 178: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 179: C 180: C DATA AVOC3/3RROC,2RKY,147,3RSHE,2RER,147, 181: C& 3R200,0,148,3RNEA,1RT,148,3RSHI,3RMME,151, 182: C& 3RZUR,3RICH,152,3RBIR,2RDS,153,154,155, 183: C& 3RENC,3RRUS,154,155,3RBEA,3RUTI,156,3RCLO,3RCKW,157,158, 184: C& 3RMEC,3RHAN,157,158, 185: C& 3RMAH,3ROGA,163,3RPIN,1RE,164,3RLON,1RG,166, 186: C& 3RCEN,3RTER,166,3RSHO,2RRT,167,1RT,0,168, 187: C& 3RCOM,3RPAS,169,211,3RBRO,3RNZE,172,3RCEL,1RL,174,175, 188: C& 3RLOC,3RKED,174,3RSUN,0,177, 189: C& 3RBAR,1RE,200,3RSON,1RG,203, 190: C& 3RNOR,2RTH,205,3RNOR,3RTHE,205,3RSOU,2RTH,206, 191: C& 3RSOU,3RTHE,206,3REAS,1RT,207,3REAS,3RTER,207, 192: C& 3RWES,1RT,208,3RWES,3RTER,208,3RDUN,3RGEO,215/ 193: C 194: C 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/ 208: C 209: C 210: C 211: DATA AVOCND/-1/ 212: C SPARSE, PAGE 4 213: C 214: C VERBS-- MAPS VERBS TO SYNTAX SLOTS 215: C 216: C EACH ENTRY IS VARIABLE LENGTH AND CONSISTS OF ONE OR MORE 217: C TWO WORD VERBS IN RADIX-50 FOLLOWED BY A SYNTAX WORD COUNT 218: C FOLLOWED BY ONE OR MORE SYNTAXES. NOTE THAT VERBS CAN BE 219: C DISTINGUISHED FROM WORD COUNTS AS FOLLOWS-- 220: C ALL VERBS ARE .GE. 1RA (1600), WHILE ALL SYNTAX WORD COUNTS 221: C ARE .LE. 255. 222: C 223: C SYNTAX ENTRIES CONSIST OF A FLAG WORD FOLLOWED BY 0, 1, OR 2 224: C OBJECT DESCRIPTIONS. THE FLAG WORD HAS THE FOLLOWING FORMAT-- 225: C 226: C BIT <14> IF 1, SYNTAX INCLUDES DIRECT OBJECT 227: C BIT <13> IF 1, SYNTAX INCLUDES INDIRECT OBJECT 228: C BIT <12> IF 1, DIRECT OBJECT IS IMPLICIT (STANDARD FORM) 229: C BIT <11> IF 1, DIRECT AND INDIRECT OBJECT MUST BE SWAPPED 230: C AFTER SYNTAX PROCESSING 231: C BIT <10> IF 1, THIS IS DEFAULT SYNTAX FOR ORPHANERY 232: C BITS <8:0> VERB NUMBER FOR VAPPLI 233: C 234: C OBJECT DESCRIPTIONS CONSIST OF A FLAG WORD AND TWO FWIM WORDS. 235: C THE FLAG WORD HAS THE FOLLOWING FORMAT-- 236: C 237: C BIT <14> IF 1, SEARCH ADVENTURER FOR OBJECT 238: C BIT <13> IF 1, SEARCH ROOM FOR OBJECT 239: C BIT <12> IF 1, PARSER WILL TRY TO TAKE OBJECT 240: C BIT <11> IF 1, ADVENTURER MUST HAVE OBJECT 241: C BIT <10> IF 1, QUALIFYING BITS (NORMALLY -1,-1) ARE SAME 242: C AS FWIM BITS 243: C BIT <9> IF 1, OBJECT MUST BE REACHABLE 244: C BITS <8:0> PREPOSITION NUMBER FOR SYNMCH 245: C 246: C THE FWIM WORDS HAVE THE SAME FORMAT AS THE TWO OBJECT FLAG WORDS. 247: C 248: C NOTE THAT BITS 12 AND 11 OF OBJECT DESCRIPTIONS ACTUALLY HAVE 249: C FOUR DISTINCT STATES-- 250: C 251: C BIT 12 BIT 11 MDLDESC INTERPRETATION 252: C ------ ------ ------- --------------- 253: C 254: C 0 0 -- NO PARSER ACTION 255: C 0 1 HAVE ADVENTURER MUST HAVE OBJECT 256: C 1 0 TRY TRY TO TAKE, DONT CARE IF FAIL 257: C 1 1 TAKE TRY TO TAKE, CARE IF FAIL 258: C 259: C SPARSE, PAGE 5 260: C 261: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 262: C 263: C DATA VVOC1/3RBRI,2REF,1,70,3RVER,3RBOS,1,71, 264: C& 3RSUP,3RERB,1,72,3RSTA,1RY,1,73,3RVER,3RSIO,1,74, 265: C& 3RSWI,1RM,3RBAT,2RHE,3RWAD,1RE,1,75,3RGER,3RONI,1,76, 266: C& 3RULY,3RSSE,3RODY,3RSSE,1,77, 267: C& 3RWEL,1RL,1,78,3RPRA,1RY,1,79,3RTRE,3RASU,1,80, 268: C& 3RTEM,3RPLE,1,81,3RBLA,2RST,1,82,3RSCO,2RRE,1,83, 269: C& 1RQ,0,3RQUI,1RT,1,84,3RHEL,1RP,1,40,3RINF,1RO,1,41, 270: C& 3RHIS,3RTOR,3RUPD,3RATE,1,42,3RBAC,1RK,1,43, 271: C& 3RSIG,1RH,3RMUM,3RBLE,1,44/ 272: C 273: C 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/ 284: C 285: C 286: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 287: C 288: C DATA VVOC1A/3RCHO,2RMP,3RLOS,1RE,3RBAR,1RF,1,45, 289: C& 3RDUN,3RGEO,1,46,3RFRO,3RBOZ,1,47,3RFOO,0,3RBLE,3RTCH, 290: C& 3RBAR,0,1,48,3RREP,3RENT,1,49,3RHOU,2RRS,3RSCH,3REDU,1,50, 291: C& 3RWIN,0,1,51,3RYEL,1RL,3RSCR,3REAM,3RSHO,2RUT,1,52, 292: C& 3RHOP,0,3RSKI,1RP,1,53,3RFUC,1RK,3RSHI,1RT,3RDAM,1RN, 293: C& 3RCUR,2RSE,1,54,3RZOR,1RK,1,55,3RGRA,3RNIT,1,"50070, 294: C& 3RSAV,1RE,1,149,3RRES,3RTOR,1,150,3RTIM,1RE,1,90, 295: C& 3RDIA,3RGNO,1,94,3REXO,3RRCI,1,105,3RINV,3RENT, 296: C& 1RI,0,1,133,3RWAI,1RT,1,128, 297: C& 3RINC,3RANT,1,95,3RANS,3RWER,1,96/ 298: C 299: C 300: C 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/ 312: C 313: C 314: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 315: C 316: C DATA VVOC1B/3RAGA,2RIN,1,57,3RNOO,2RBJ,1,58, 317: C& 3RBUG,0,3RGRI,2RPE,3RCOM,3RPLA,1,59, 318: C& 3RFEA,3RTUR,3RCOM,3RMEN,3RSUG,3RGES,3RIDE,1RA,1,60, 319: C& 3RROO,1RM,1,65,3ROBJ,3RECT,1,66,3RRNA,2RME,1,67/ 320: C 321: C 322: C 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/ 327: C 328: C 329: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 330: C 331: C DATA VVOC2/3RDEF,3RLAT,1,"50147, 332: C& 3RDES,3RCRI,3RWHA,1RT,3REXA,3RMIN,1,"50170, 333: C& 3RFIL,1RL,11,"60206,"61000,"200,0,"61002,"400,0, 334: C& "40206,"61000,"200,0, 335: C& 3RFIN,1RD,3RSEE,1RK,3RWHE,2RRE,3RSEE,0,4,"40177,"60000,-1,-1, 336: C& 3RFOL,3RLOW,2,"125,"50125, 337: C& 3RKIC,1RK,3RBIT,1RE,3RTAU,2RNT,1,"50153,3RLOW,2RER,1,"50156, 338: C& 3RPUS,1RH,3RPRE,2RSS,1,"50160,3RRIN,1RG,3RPEA,1RL,1,"50127, 339: C& 3RRUB,0,3RCAR,3RESS,3RTOU,2RCH,3RFON,3RDLE,1,"50157, 340: C& 3RSHA,2RKE,1,"50171,3RSPI,1RN,1,"50201, 341: C& 3RUNT,2RIE,3RFRE,1RE,1,"50161,3RWAL,1RK,9,"50216, 342: C& "40126,"61002,-1,-1,"40126,"61005,-1,-1/ 343: C 344: C 345: C 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/ 363: C 364: C 365: C 366: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 367: C 368: C DATA VVOC3/3RATT,3RACK,3RFIG,2RHT,3RINJ,3RURE,3RHIT,0,3RHUR,1RT, 369: C& 7,"60215,"21000,0,"200,"44002,0,"1000, 370: C& 3RBOA,2RRD,4,"40202,"21000,0,"2, 371: C& 3RBRU,2RSH,3RCLE,2RAN,5,"52130,"70130,"61002,-1,-1, 372: C& 3RBUR,1RN,3RIGN,3RITE,3RINC,3RINE,7,"60211,"61000,"20,0, 373: C& "64002,"10,0, 374: C& 3RCLI,2RMB,12,"40235,"20007,0,"4000, 375: C& "40236,"20006,0,"4000,"40234,"20000,0,"4000, 376: C& 3RCLO,2RSE,4,"40176,"61000,"10200,0, 377: C& 3RDIG,0,4,"40131,"44002,"4,0, 378: C& 3RDIS,3REMB,4,"40203,"20000,0,"2, 379: C& 3RDRI,2RNK,3RIMB,3RIBE,3RSWA,3RLLO,4,"40210,"61000,"400,0, 380: C& 3RDRO,1RP,3RREL,3REAS,11,"42221,"41000,-1,-1, 381: C& "60221,"41000,-1,-1,"61005,-1,-1, 382: C& 3REAT,0,3RCON,3RSUM,3RGOB,3RBLE,3RMUN,2RCH,3RTAS,2RTE, 383: C& 4,"40207,"75000,"2000,0, 384: C& 3REXT,3RING,3RDOU,2RSE,4,"40174,"75000,"100,0/ 385: C 386: C 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/ 405: C 406: C 407: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 408: C 409: C DATA VVOC4/3RGIV,1RE,3RHAN,1RD,3RDON,3RATE,11,"72222,"21004, 410: C& "40,0,"64222,"21000,"40,0,"61000,-1,-1, 411: C& 3RHEL,2RLO,2RHI,0,2,"2227,"50227, 412: C& 3RBLO,1RW,15,"62146,"61007,-1,-1,"61002,"4,0, 413: C& "40160,"61007,-1,-1,"40165,"61005,-1,-1, 414: C& 3RINF,3RLAT,4,"70146,"61002,"4,0, 415: C& 3RJUM,1RP,3RLEA,1RP,5,"133,"40133,"61001,-1,-1, 416: C& 3RKIL,1RL,3RMUR,3RDER,3RSLA,1RY,3RSTA,1RB,3RDIS,3RPAT, 417: C& 7,"60213,"21000,0,"200, 418: C& "44002,0,"1000, 419: C& 3RKNO,2RCK,3RRAP,0,12,"42166,"61003,-1,-1, 420: C& "40166,"61012,-1,-1,"40215,"23006,"40,0, 421: C& 3RLIG,2RHT,11,"42173,"75000,"100,0, 422: C& "60211,"61000,"100,0,"54002,"10,0, 423: C& 3RLOC,1RK,4,"40134,"20000,-1,-1/ 424: C 425: C 426: C 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/ 444: C 445: C 446: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 447: C 448: C DATA VVOC5/3RLOO,1RK,1RL,0,3RSTA,2RRE,3RGAZ,1RE, 449: C& 13,"167,"40167,"60003,-1,-1, 450: C& "40231,"61010,-1,-1,"40230,"60005,-1,-1, 451: C& 3RMEL,1RT,3RLIQ,3RUIF,4,"70145,"61002,"10,0, 452: C& 3RMOV,1RE,4,"40172,"20000,-1,-1, 453: C& 3RPUL,1RL,3RTUG,0,8,"42172,"21000,-1,-1, 454: C& "40172,"21012,-1,-1, 455: C& 3RMUN,1RG,3RHAC,1RK,3RFRO,1RB,3RDAM,3RAGE, 456: C& 5,"52212,"70212,"44002,-1,-1, 457: C& 3ROPE,1RN,11,"42175,"61000,"10200,0, 458: C& "60175,"61000,"10200,0,"54002,"4,"1000, 459: C& 3RPIC,1RK,4,"40204,"61007,"20000,"40, 460: C& 3RPLU,1RG,3RGLU,1RE,3RPAT,2RCH,4,"70152,"61002,-1,-1, 461: C& 3RPOK,1RE,3RBRE,2RAK,3RJAB,0,7,"60212,"21000,0,"200, 462: C& "44002,0,"1000, 463: C& 3RPOU,1RR,3RSPI,2RLL,11,"42223,"42000,"400,0, 464: C& "60223,"42000,"400,0,"60005,-1,-1, 465: C& 3RPUM,1RP,4,"60232,"60007,-1,-1/ 466: C 467: C 468: C 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/ 488: C 489: C 490: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 491: C 492: C DATA VVOC6/3RPUT,0,3RINS,3RERT,3RSTU,2RFF,3RPLA,2RCE, 493: C& 8,"72220,"61005,-1,-1, 494: C& "40221,"61006,-1,-1, 495: C& 3RRAI,2RSE,3RLIF,1RT,5,"52155,"40155,"61007,-1,-1, 496: C& 3RREA,1RD,3RSKI,1RM,11,"42144,"71000,"40000,0, 497: C& "60144,"71000,"40000,0,"61002,-1,-1, 498: C& 3RSTR,3RIKE,12,"60215,"23000,"40,0, 499: C& "44002,0,"1000,"42215,"23000,"40,0,"50173, 500: C& 3RSWI,2RNG,3RTHR,3RUST,7,"60214,"44000,0,"1000, 501: C& "21003,0,"200, 502: C& 3RTAK,1RE,3RGET,0,3RHOL,1RD,3RCAR,2RRY,3RREM,3ROVE, 503: C& 4,"40204,"61000,"20000,"40, 504: C& 3RTEL,1RL,3RCOM,3RMAN,3RREQ,3RUES,4,"40217,"20000,0,"2000, 505: C& 3RTHR,2ROW,3RHUR,1RL,3RCHU,2RCK,14,"60224,"44000,-1,-1, 506: C& "21003,"40,0,"60224,"44000,-1,-1,"21002,"40,0/ 507: C 508: C 509: C 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/ 528: C 529: C 530: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 531: C 532: C DATA VVOC7/3RTIE,0,3RFAS,3RTEN,11,"70162,"61004,-1,-1, 533: C& "60163,"21000,"40,0,"65002,"4,0, 534: C& 3RTUR,1RN,3RSET,0,22,"62164,"61000,"2,0, 535: C& "64002,"4,0, 536: C& "40173,"75012,"100,0,"40174,"75013,"100,0, 537: C& "60237,"61000,"2,0,"20004,-1,-1, 538: C& 3RUNL,3ROCK,7,"60135,"21000,-1,-1, 539: C& "74002,"4,0, 540: C& 3RWAK,1RE,3RSUR,3RPRI,3RALA,2RRM,3RSTA,3RRTL, 541: C& 8,"42150,"20000,"40,0, 542: C& "40150,"20007,"40,0, 543: C& 3RWAV,1RE,3RFLA,3RUNT,3RBRA,3RNDI,4,"40154,"40000,-1,-1, 544: C& 3RWIN,1RD,5,"50233,"40233,"61007,-1,-1/ 545: C 546: C 547: C 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/ 561: C 562: C 563: DATA VVOCND/-1/ 564: C SPARSE, PAGE 6 565: C 566: C OBJECTS-- MAPS OBJECTS TO OBJECT INDICES 567: C 568: C SAME FORMAT AS AVOC. 569: C 570: C 571: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 572: C 573: C DATA OVOC1/3RBAG,0,1,25,100,3RSAC,1RK,1,3RGAR,3RLIC,2, 574: C& 3RCLO,2RVE,2,3RFOO,1RD,3,3RSAN,3RDWI,3,3RLUN,2RCH,3, 575: C& 3RDIN,3RNER,3, 576: C& 3RGUN,1RK,4,55,3RPIE,2RCE,4,143,186,3RSLA,1RG,4,3RCOA,1RL,5, 577: C& 3RPIL,1RE,5,18,38,78,87,88,122,3RHEA,1RP,5, 578: C& 3RFIG,3RURI,6, 579: C& 3RMAC,3RHIN,7,3RPDP,2R10,7,3RPDP,2R11,7,3RDRY,2RER,7, 580: C& 3RLID,0,7,3RDIA,3RMON,8,3RCAS,1RE,9,123,3RBOT,3RTLE,10,121, 581: C& 3RCON,3RTAI,10,3RWAT,2RER,11,209,3RQUA,3RNTI,11,209, 582: C& 3RLIQ,3RUID,11,209,3RH2O,0,11,209, 583: C& 3RROP,1RE,12,101,3RHEM,1RP,12,3RCOI,1RL,12,110, 584: C& 3RKNI,2RFE,13,21,3RBLA,2RDE,13,14,3RSWO,2RRD,14,3RORC,3RHRI,14, 585: C& 3RGLA,3RMDR,14,3RLAM,1RP,15,16,22,3RLAN,3RTER,15,16,22, 586: C& 3RRUG,0,17,3RCAR,3RPET,17, 587: C& 3RLEA,3RVES,18,3RLEA,1RF,18,3RTRO,2RLL,19, 588: C& 3RAXE,0,20,3RDIN,3RNER,3/ 589: C 590: C 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/ 607: C 608: C 609: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 610: C 611: C DATA OVOC2/3RKEY,1RS,23,3RKEY,0,23, 612: C& 3RSET,0,23,3RBON,2RES,24,3RSKE,3RLET,24,3RBOD,1RY,24,73, 613: C& 3RCOI,2RNS,25,3RBAR,0,26,165,168, 614: C& 3RNEC,3RKLA,27,3RPEA,3RRLS,27,3RMIR,3RROR,28,29,212, 615: C& 3RICE,0,30,3RMAS,1RS,30,3RGLA,3RCIE,30,3RRUB,1RY,31, 616: C& 3RTRI,3RDEN,32,3RFOR,1RK,32,3RCOF,3RFIN,33,3RCAS,3RKET,33, 617: C& 3RTOR,2RCH,34,3RCAG,1RE,35,36,124,125,3RDUM,3RBWA,35,36, 618: C& 3RBAS,3RKET,35,36,98,113,3RBRA,3RCEL,37, 619: C& 3RJEW,2REL,37,3RTIM,3RBER,38,3RBOX,0,39,53,105,3RSTR,3RADI,40, 620: C& 3RVIO,3RLIN,40,3RENG,3RRAV,41,3RINS,3RCRI,41,44,3RGHO,2RST,42, 621: C& 3RSPI,3RRIT,42,3RFIE,2RND,42,3RGRA,2RIL,43,3RPRA,3RYER,44,47, 622: C& 3RTRU,2RNK,45,3RCHE,2RST,45,3RBEL,1RL,46, 623: C& 3RBOO,1RK,47,49,114,115,116,117,3RBIB,2RLE,47/ 624: C 625: C 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/ 639: C 640: C 641: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 642: C 643: C DATA OVOC3/3RGOO,3RDBO,47,3RCAN,3RDLE,48,3RPAI,1RR,48, 644: C& 3RGUI,3RDEB,49, 645: C& 3RGUI,2RDE,49,3RPAP,2RER,50,122,143,186,3RNEW,3RSPA,50, 646: C& 3RISS,2RUE,50,3RREP,3RORT,50,3RMAG,3RAZI,50,3RNEW,1RS,50, 647: C& 3RMAT,3RCHB,51, 648: C& 3RMAT,2RCH,51,3RMAT,3RCHE,51,3RADV,3RERT,52,3RPAM,3RPHL,52, 649: C& 3RLEA,3RFLE,52,3RBOO,3RKLE,52,3RMAI,3RLBO,53, 650: C& 3RTUB,1RE,54,3RTOO,3RTHP,54,3RPUT,2RTY,55,3RMAT,3RERI,55, 651: C& 3RGLU,1RE,55,3RWRE,3RNCH,56,3RSCR,3REWD,57, 652: C& 3RCYC,3RLOP,58,3RMON,3RSTE,58,3RCHA,3RLIC,59,3RCUP,0,59, 653: C& 3RGOB,3RLET,59,3RPAI,3RNTI,60,149,3RART,0,60,149, 654: C& 3RCAN,3RVAS,60,3RPIC,3RTUR,60,3RWOR,1RK,60, 655: C& 3RMAS,3RTER,60,215,3RTHI,2REF,61,3RROB,3RBER,61, 656: C& 3RCRI,3RMIN,61,3RBAN,3RDIT,61,3RCRO,2ROK,61,3RGEN,1RT,61, 657: C& 3RGEN,3RTLE,61,3RMAN,0,61,3RTHU,1RG,61, 658: C& 3RBAG,3RMAN,61,3RSTI,3RLLE,62/ 659: C 660: C 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/ 677: C 678: C 679: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 680: C 681: C DATA OVOC4/3RWIN,3RDOW,63,3RBOL,1RT,64,3RNUT,0,64, 682: C& 3RGRA,2RTE,65,3RGRA,3RTIN,65,3RDOO,1RR,66,67,68,69, 683: C& 164,172,173,174,175,189,3RTRA,3RPDO,66, 684: C& 3RTRA,3RP$D,66,3RSWI,3RTCH,70,76,79,80,81,82,170, 685: C& 3RHEA,1RD,71,120,3RCOR,3RPSE,72,73,3RBOD,3RIES,73, 686: C& 3RDAM,0,74,3RGAT,2RES,74,76,3RGAT,1RE,74,76, 687: C& 3RFCD,0,74,3RRAI,1RL,75,3RRAI,3RLIN,75, 688: C& 3RBUT,3RTON,76,79,80,81,82,127,128,129,170,176, 689: C& 3RBUB,3RBLE,77,3RLEA,1RK,78,3RDRI,1RP,78, 690: C& 3RHOL,1RE,78,107, 691: C& 3RBAT,0,83,3RRAI,3RNBO,84, 692: C& 3RPOT,0,85,3RSTA,3RTUE,86,3RSCU,3RLPT,86,3RROC,1RK,86, 693: C& 3RBOA,1RT,87,88,90,3RPLA,3RSTI,87,88, 694: C& 3RPUM,1RP,89/ 695: C 696: C 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/ 711: C 712: C 713: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 714: C 715: C DATA OVOC5/3RAIR,3RPUM,89,3RAIR,3R$PU,89,3RLAB,2REL,91,112, 716: C& 3RFIN,3REPR,91,3RSTI,2RCK,92,3RBAR,3RREL,93,3RBUO,1RY,94, 717: C& 3REME,3RRAL,95,3RSHO,3RVEL,96,3RGUA,2RNO,97,3RCRA,1RP,97, 718: C& 3RSHI,1RT,97,3RHUN,1RK,97,3RBAL,3RLOO,98,113, 719: C& 3RREC,3REPT,99,3RWIR,1RE,101,110, 720: C& 3RHOO,1RK,102,103,3RZOR,3RKMI,104,148,3RCOI,1RN,104, 721: C& 3RSAF,1RE,105,3RCAR,1RD,106,188,3RNOT,1RE,106,186, 722: C& 3RSLO,1RT,107,187,3RCRO,2RWN,108,3RBRI,2RCK,109, 723: C& 3RFUS,1RE,110,3RGNO,2RME,111,152, 724: C& 3RSTA,2RMP,118, 725: C& 3RTOM,1RB,119,3RCRY,2RPT,119,3RGRA,2RVE,119,3RHEA,2RDS,120, 726: C& 3RPOL,2RES,120,3RIMP,3RLEM,120/ 727: C 728: C 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/ 741: C 742: C 743: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 744: C 745: C DATA OVOC6/3RLOS,3RERS,120,3RCOK,2RES,121, 746: C& 3RLIS,3RTIN,122,3RSTA,2RCK,122, 747: C& 3RPRI,3RNTO,122, 748: C& 3RSPH,3RERE,126,3RBAL,1RL,126, 749: C& 3RETC,3RHIN,130,131, 750: C& 3RWAL,2RLS,130,131,198,205,206,207,208,3RWAL,1RL, 751: C& 130,131,159,160,161,162,163,164,198,205,206,207,208, 752: C& 3RFLA,2RSK,132,3RPOO,1RL,133,3RSEW,3RAGE,133, 753: C& 3RTIN,0,134,3RSAF,3RFRO,134,3RSPI,3RCES,134,3RTAB,2RLE,135, 754: C& 3RPOS,1RT,136,166,167,3RPOS,2RTS,136,3RBUC,3RKET,137, 755: C& 3RCAK,1RE,138,139,140,141,3RICI,2RNG,139,140,141, 756: C& 3RROB,2ROT,142,3RROB,2RBY,142, 757: C& 3RC3P,1RO,142,3RR2D,1R2,142/ 758: C 759: C 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/ 773: C 774: C 775: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 776: C 777: C DATA OVOC6A/3RPAN,2REL,159,160,161,162,163,164,213, 778: C& 3RPOL,1RE,166,167,3RTBA,1RR,168,3RT$B,2RAR,168, 779: C& 3RARR,2ROW,169,3RPOI,2RNT,169,3RBEA,1RM,171, 780: C& 3RDIA,1RL,177,3RSUN,3RDIA,177,1R1,0,178, 781: C& 3RONE,0,178,1R2,0,179,3RTWO,0,179,1R3,0,180, 782: C& 3RTHR,2REE,180,1R4,0,181,3RFOU,1RR,181,1R5,0,182, 783: C& 3RFIV,1RE,182,1R6,0,183,3RSIX,0,183,1R7,0,184, 784: C& 3RSEV,2REN,184,1R8,0,185,3REIG,2RHT,185, 785: C& 3RWAR,3RNIN,186,3RSLI,1RT,187, 786: C& 2RIT,0,192,3RTHA,1RT,192,3RTHI,1RS,192/ 787: C 788: C 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/ 799: C 800: C 801: C THE FOLLOWING DATA STATEMENT WAS ORIGINALLY: 802: C 803: C DATA OVOC7/2RME,0,193,3RMYS,3RELF,193,3RCRE,3RTIN,193, 804: C& 3RALL,0,194,3REVE,3RRYT,194, 805: C& 3RTRE,3RASU,195,3RVAL,3RUAB,195,3RSAI,3RLOR,196,3RTEE,2RTH,197, 806: C& 3RGRU,1RE,199,3RHAN,1RD,200,3RHAN,2RDS,200, 807: C& 3RLUN,2RGS,201,3RAIR,0,201,3RAVI,3RATO,202, 808: C& 3RFLY,2RER,202,3RTRE,1RE,144,145,204, 809: C& 3RCLI,2RFF,146,147,3RLED,2RGE,146,147,3RPOR,3RTRA,149, 810: C& 3RSTA,2RCK,148,3RBIL,2RLS,148, 811: C& 3RVAU,2RLT,150,3RCUB,1RE,150,3RLET,3RTER,67,150, 812: C& 3RCUR,3RTAI,151,3RLIG,2RHT,151,3RNES,1RT,153, 813: C& 3REGG,0,154,155,3RBAU,3RBLE,156,3RCAN,3RARY,157,158, 814: C& 3RBIR,1RD,203,3RSON,3RGBI,203, 815: C& 3RGUA,2RRD,210,3RGUA,3RRDI,210,3RROS,1RE,211, 816: C& 3RSTR,3RUCT,212,3RCHA,3RNNE,214, 817: C& 3RKEE,3RPER,215,3RLAD,3RDER,216/ 818: C 819: C 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/ 835: C 836: C 837: DATA OVOCND/-1/ 838: C SPARSE, PAGE 7 839: C 840: C SET UP FOR PARSING 841: C 842: SPARSE=-1 843: C !ASSUME PARSE FAILS. 844: ADJ=0 845: C !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 856: C 857: BUZLNT=20 858: PRPLNT=48 859: DIRLNT=75 860: C SPARSE, PAGE 8 861: C 862: C NOW LOOP OVER INPUT BUFFER OF LEXICAL TOKENS. 863: C 864: DO 1000 I=1,LLNT,2 865: C !TWO WORDS/TOKEN. 866: LBUF1=LBUF(I) 867: C !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 873: C !END OF BUFFER? 874: C 875: C CHECK FOR BUZZ WORD 876: C 877: DO 50 J=1,BUZLNT,2 878: IF((LBUF1.EQ.BVOC(J)).AND.(LBUF2.EQ.BVOC(J+1))) 879: & GO TO 1000 880: 50 CONTINUE 881: C 882: C CHECK FOR ACTION OR DIRECTION 883: C 884: IF(ACT.NE.0) GO TO 75 885: C !GOT ACTION ALREADY? 886: J=1 887: C !CHECK FOR ACTION. 888: 125 IF((LBUF1.EQ.VVOC(J)).AND.(LBUF2.EQ.VVOC(J+1))) 889: & GO TO 3000 890: 150 J=J+2 891: C !ADV TO NEXT SYNONYM. 892: IF(.NOT.OTEST(VVOC(J))) GO TO 125 893: C !ANOTHER VERB? 894: J=J+VVOC(J)+1 895: C !NO, ADVANCE OVER SYNTAX. 896: IF(VVOC(J).NE.-1) GO TO 125 897: C !TABLE DONE? 898: C 899: 75 IF((ACT.NE.0).AND.((VVOC(ACT).NE.R50WAL).OR. 900: & (PREP.NE.0))) GO TO 200 901: DO 100 J=1,DIRLNT,3 902: C !THEN CHK FOR DIR. 903: IF((LBUF1.EQ.DVOC(J)).AND.(LBUF2.EQ.DVOC(J+1))) 904: & GO TO 2000 905: 100 CONTINUE 906: C 907: C NOT AN ACTION, CHECK FOR PREPOSITION, ADJECTIVE, OR OBJECT. 908: C 909: 200 DO 250 J=1,PRPLNT,3 910: C !LOOK FOR PREPOSITION. 911: IF((LBUF1.EQ.PVOC(J)).AND.(LBUF2.EQ.PVOC(J+1))) 912: & GO TO 4000 913: 250 CONTINUE 914: C 915: J=1 916: C !LOOK FOR ADJECTIVE. 917: 300 IF((LBUF1.EQ.AVOC(J)).AND.(LBUF2.EQ.AVOC(J+1))) 918: & GO TO 5000 919: J=J+1 920: 325 J=J+1 921: C !ADVANCE TO NEXT ENTRY. 922: IF(OTEST(AVOC(J))) GO TO 325 923: C !A RADIX 50 CONSTANT? 924: IF(AVOC(J).NE.-1) GO TO 300 925: C !POSSIBLY, END TABLE? 926: C 927: J=1 928: C !LOOK FOR OBJECT. 929: 450 IF((LBUF1.EQ.OVOC(J)).AND.(LBUF2.EQ.OVOC(J+1))) 930: & GO TO 600 931: J=J+1 932: 500 J=J+1 933: IF(OTEST(OVOC(J))) GO TO 500 934: IF(OVOC(J).NE.-1) GO TO 450 935: C 936: C NOT RECOGNIZABLE 937: C 938: IF(VBFLAG) CALL RSPEAK(601) 939: RETURN 940: C SPARSE, PAGE 9 941: C 942: C OBJECT PROCESSING (CONTINUATION OF DO LOOP ON PREV PAGE) 943: C 944: 600 OBJ=GETOBJ(J,ADJ,0) 945: C !IDENTIFY OBJECT. 946: #ifdef debug 947: IF(DFLAG) PRINT 60,J,OBJ 948: #ifdef NOCC 949: 60 FORMAT('SPARSE- OBJ AT ',I6,' OBJ= ',I6) 950: #else NOCC 951: 60 FORMAT(' SPARSE- OBJ AT ',I6,' OBJ= ',I6) 952: #endif NOCC 953: #endif 954: IF(OBJ.LE.0) GO TO 6000 955: C !IF LE, COULDNT. 956: IF(OBJ.NE.ITOBJ) GO TO 650 957: C !"IT"? 958: OBJ=GETOBJ(0,0,LASTIT) 959: C !FIND LAST. 960: IF(OBJ.LE.0) GO TO 6000 961: C !IF LE, COULDNT. 962: C 963: 650 IF(PREP.EQ.9) GO TO 8000 964: C !"OF" OBJ? 965: IF(PPTR.EQ.2) GO TO 7000 966: C !TOO MANY OBJS? 967: PPTR=PPTR+1 968: OBJVEC(PPTR)=OBJ 969: C !STUFF INTO VECTOR. 970: PRPVEC(PPTR)=PREP 971: 700 PREP=0 972: ADJ=0 973: C Go to end of do loop (moved "1000 CONTINUE" to end of module, to avoid 974: C complaints about people jumping back into the doloop.) 975: GOTO 1000 976: C SPARSE, PAGE 10 977: C 978: C SPECIAL PARSE PROCESSORS 979: C 980: C 2000-- DIRECTION 981: C 982: 2000 PRSA=WALKW 983: PRSO=DVOC(J+2) 984: SPARSE=1 985: #ifdef debug 986: IF(DFLAG) PRINT 10,J 987: #ifdef NOCC 988: 10 FORMAT('SPARSE- DIR AT ',I6) 989: #else NOCC 990: 10 FORMAT(' SPARSE- DIR AT ',I6) 991: #endif NOCC 992: #endif debug 993: RETURN 994: C 995: C 3000-- ACTION 996: C 997: 3000 ACT=J 998: OACT=0 999: #ifdef debug 1000: IF(DFLAG) PRINT 20,J 1001: #ifdef NOCC 1002: 20 FORMAT('SPARSE- ACT AT ',I6) 1003: #else NOCC 1004: 20 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 1009: C 1010: C 4000-- PREPOSITION 1011: C 1012: 4000 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 1018: 30 FORMAT('SPARSE- PREP AT ',I6) 1019: #else NOCC 1020: 30 FORMAT(' SPARSE- PREP AT ',I6) 1021: #endif NOCC 1022: #endif debug 1023: GO TO 1000 1024: C 1025: 4500 IF(VBFLAG) CALL RSPEAK(616) 1026: RETURN 1027: C 1028: C 5000-- ADJECTIVE 1029: C 1030: 5000 ADJ=J 1031: J=(and(ONAME,OFLAG)) 1032: #ifdef debug 1033: IF(DFLAG) PRINT 40,ADJ,J 1034: #ifdef NOCC 1035: 40 FORMAT('SPARSE- ADJ AT ',I6,' ORPHAN= ',I6) 1036: #else NOCC 1037: 40 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 1042: C 1043: C 6000-- UNIDENTIFIABLE OBJECT (INDEX INTO OVOC IS J) 1044: C 1045: 6000 IF(OBJ.LT.0) GO TO 6100 1046: J=579 1047: IF(LIT(HERE)) J=618 1048: IF(VBFLAG) CALL RSPEAK(J) 1049: RETURN 1050: C 1051: 6100 IF(OBJ.NE.-10000) GO TO 6200 1052: IF(VBFLAG) CALL RSPSUB(620,ODESC2(AVEHIC(WINNER))) 1053: RETURN 1054: C 1055: 6200 IF(VBFLAG) CALL RSPEAK(619) 1056: IF(ACT.EQ.0) ACT=(and(OFLAG,OACT)) 1057: CALL ORPHAN(-1,ACT,O1,PREP,J) 1058: RETURN 1059: C 1060: C 7000-- TOO MANY OBJECTS. 1061: C 1062: 7000 IF(VBFLAG) CALL RSPEAK(617) 1063: RETURN 1064: C 1065: C 8000-- RANDOMNESS FOR "OF" WORDS 1066: C 1067: 8000 IF(OBJVEC(PPTR).EQ.OBJ) GO TO 700 1068: IF(VBFLAG) CALL RSPEAK(601) 1069: RETURN 1070: C 1071: C End of do-loop. 1072: C 1073: 1000 CONTINUE 1074: C !AT LAST. 1075: C 1076: C NOW SOME MISC CLEANUP -- We fell out of the do-loop 1077: C 1078: 1500 IF(ACT.EQ.0) ACT=(and(OFLAG,OACT)) 1079: IF(ACT.EQ.0) GO TO 9000 1080: C !IF STILL NONE, PUNT. 1081: IF(ADJ.NE.0) GO TO 10000 1082: C !IF DANGLING ADJ, PUNT. 1083: C 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 1087: C 1088: SPARSE=0 1089: C !PARSE SUCCEEDS. 1090: IF(PREP.EQ.0) GO TO 1750 1091: C !IF DANGLING PREP, 1092: IF((PPTR.EQ.0).OR.(PRPVEC(PPTR).NE.0)) 1093: & GO TO 12000 1094: PRPVEC(PPTR)=PREP 1095: C !CVT TO 'PICK UP FROB'. 1096: C 1097: C 1750-- RETURN A RESULT 1098: C 1099: 1750 CONTINUE 1100: C !WIN. 1101: #ifdef debug 1102: IF(DFLAG) PRINT 70,ACT,O1,O2,P1,P2 1103: #ifdef NOCC 1104: 70 FORMAT('SPARSE RESULTS- ',5I7) 1105: #else NOCC 1106: 70 FORMAT(' SPARSE RESULTS- ',5I7) 1107: #endif NOCC 1108: if(dflag) write(0,*) "sparse=",sparse 1109: #endif 1110: RETURN 1111: C !LOSE. 1112: C 1113: C 9000-- NO ACTION, PUNT 1114: C 1115: 9000 IF(O1.EQ.0) GO TO 10000 1116: C !ANY DIRECT OBJECT? 1117: IF(VBFLAG) CALL RSPSUB(621,ODESC2(O1)) 1118: C !WHAT TO DO? 1119: CALL ORPHAN(-1,0,O1,0,0) 1120: RETURN 1121: C 1122: C 10000-- TOTAL CHOMP 1123: C 1124: 10000 IF(VBFLAG) CALL RSPEAK(622) 1125: C !HUH? 1126: RETURN 1127: C 1128: C 11000-- ORPHAN PREPOSITION. CONDITIONS ARE 1129: C O1.NE.0, O2=0, PREP=0, ACT=OACT 1130: C 1131: 11000 IF(OSLOT.NE.0) GO TO 11500 1132: C !ORPHAN OBJECT? 1133: P1=OPREP 1134: C !NO, JUST USE PREP. 1135: GO TO 1750 1136: C 1137: 11500 O2=O1 1138: C !YES, USE AS DIRECT OBJ. 1139: P2=OPREP 1140: O1=OSLOT 1141: P1=0 1142: GO TO 1750 1143: C 1144: C 12000-- TRUE HANGING PREPOSITION. 1145: C ORPHAN FOR LATER. 1146: C 1147: 12000 CALL ORPHAN(-1,ACT,0,PREP,0) 1148: C !ORPHAN PREP. 1149: GO TO 1750 1150: C 1151: END