001 package ch.uzh.ifi.attempto.acewiki.core.grammar; 002 003 import java.util.ArrayList; 004 import java.util.HashMap; 005 006 import ch.uzh.ifi.attempto.chartparser.Nonterminal; 007 import ch.uzh.ifi.attempto.chartparser.Rule; 008 import ch.uzh.ifi.attempto.chartparser.StringRef; 009 import ch.uzh.ifi.attempto.chartparser.Terminal; 010 import ch.uzh.ifi.attempto.chartparser.Category; 011 012 /** 013 * This grammar class is automatically generated by the SWI Prolog program "generate_java.pl". 014 */ 015 @SuppressWarnings("all") 016 public class StandardGrammar extends ch.uzh.ifi.attempto.chartparser.Grammar { 017 018 /** 019 * Creates a new grammar object. 020 */ 021 public StandardGrammar() { 022 super("text"); 023 ArrayList<Category> l = new ArrayList<Category>(); 024 Category c; 025 HashMap<Integer, StringRef> featureHash = new HashMap<Integer, StringRef>(); 026 027 l.clear(); 028 featureHash.clear(); 029 c = new Nonterminal("text"); 030 l.add(c); 031 addRule(new Rule(l, false)); 032 l.clear(); 033 featureHash.clear(); 034 c = new Nonterminal("text"); 035 l.add(c); 036 c = new Nonterminal("textelement"); 037 l.add(c); 038 c = new Nonterminal("text"); 039 l.add(c); 040 addRule(new Rule(l, false)); 041 l.clear(); 042 featureHash.clear(); 043 c = new Nonterminal("textelement"); 044 l.add(c); 045 c = new Nonterminal("declaration"); 046 l.add(c); 047 addRule(new Rule(l, false)); 048 l.clear(); 049 featureHash.clear(); 050 c = new Nonterminal("textelement"); 051 l.add(c); 052 c = new Nonterminal("question"); 053 l.add(c); 054 addRule(new Rule(l, false)); 055 l.clear(); 056 featureHash.clear(); 057 c = new Nonterminal("declaration"); 058 l.add(c); 059 c = new Nonterminal("sentence"); 060 l.add(c); 061 c = new Terminal("."); 062 l.add(c); 063 addRule(new Rule(l, false)); 064 l.clear(); 065 featureHash.clear(); 066 c = new Nonterminal("question"); 067 l.add(c); 068 c = new Nonterminal("simple_sentence_2"); 069 c.setFeature("whin", new StringRef("right")); 070 c.setFeature("whout", new StringRef("left")); 071 l.add(c); 072 c = new Terminal("?"); 073 l.add(c); 074 addRule(new Rule(l, false)); 075 l.clear(); 076 featureHash.clear(); 077 c = new Nonterminal("sentence"); 078 l.add(c); 079 c = new Nonterminal("sentence_coord_1"); 080 l.add(c); 081 addRule(new Rule(l, true)); 082 l.clear(); 083 featureHash.clear(); 084 c = new Nonterminal("sentence"); 085 l.add(c); 086 c = new Terminal("for every"); 087 l.add(c); 088 c = new Nonterminal("noun_constr"); 089 l.add(c); 090 c = new Nonterminal("sentence_coord_1"); 091 l.add(c); 092 addRule(new Rule(l, false)); 093 l.clear(); 094 featureHash.clear(); 095 c = new Nonterminal("sentence"); 096 l.add(c); 097 c = new Terminal("if"); 098 l.add(c); 099 c = new Nonterminal("sentence_coord_1"); 100 l.add(c); 101 c = new Terminal("then"); 102 l.add(c); 103 c = new Nonterminal("sentence_coord_1"); 104 l.add(c); 105 addRule(new Rule(l, false)); 106 l.clear(); 107 featureHash.clear(); 108 c = new Nonterminal("sentence_coord_1"); 109 l.add(c); 110 c = new Nonterminal("sentence_coord_2"); 111 l.add(c); 112 addRule(new Rule(l, true)); 113 l.clear(); 114 featureHash.clear(); 115 c = new Nonterminal("sentence_coord_1"); 116 l.add(c); 117 c = new Nonterminal("sentence_coord_2"); 118 l.add(c); 119 c = new Terminal("or"); 120 l.add(c); 121 c = new Nonterminal("sentence_coord_1"); 122 l.add(c); 123 addRule(new Rule(l, false)); 124 l.clear(); 125 featureHash.clear(); 126 c = new Nonterminal("sentence_coord_2"); 127 l.add(c); 128 c = new Nonterminal("simple_sentence"); 129 l.add(c); 130 addRule(new Rule(l, true)); 131 l.clear(); 132 featureHash.clear(); 133 c = new Nonterminal("sentence_coord_2"); 134 l.add(c); 135 c = new Nonterminal("simple_sentence"); 136 l.add(c); 137 c = new Terminal("and"); 138 l.add(c); 139 c = new Nonterminal("sentence_coord_2"); 140 l.add(c); 141 addRule(new Rule(l, true)); 142 l.clear(); 143 featureHash.clear(); 144 c = new Nonterminal("simple_sentence"); 145 l.add(c); 146 c = new Terminal("it is false that"); 147 l.add(c); 148 c = new Nonterminal("simple_sentence_2"); 149 c.setFeature("whin", new StringRef("minus")); 150 c.setFeature("whout", new StringRef("minus")); 151 l.add(c); 152 addRule(new Rule(l, false)); 153 l.clear(); 154 featureHash.clear(); 155 c = new Nonterminal("simple_sentence"); 156 l.add(c); 157 c = new Terminal("there is"); 158 l.add(c); 159 c = new Nonterminal("nounphrase"); 160 c.setFeature("exist", new StringRef("plus")); 161 c.setFeature("def", new StringRef("minus")); 162 c.setFeature("pl", new StringRef("minus")); 163 c.setFeature("verb", new StringRef("be")); 164 c.setFeature("whin", new StringRef("minus")); 165 c.setFeature("whout", new StringRef("minus")); 166 l.add(c); 167 addRule(new Rule(l, true)); 168 l.clear(); 169 featureHash.clear(); 170 c = new Nonterminal("simple_sentence"); 171 l.add(c); 172 c = new Terminal("there is"); 173 l.add(c); 174 c = new Nonterminal("nounphrase"); 175 c.setFeature("exist", new StringRef("plus")); 176 c.setFeature("def", new StringRef("minus")); 177 c.setFeature("pl", new StringRef("minus")); 178 c.setFeature("verb", new StringRef("be")); 179 c.setFeature("whin", new StringRef("minus")); 180 c.setFeature("whout", new StringRef("minus")); 181 l.add(c); 182 c = new Terminal("such that"); 183 l.add(c); 184 c = new Nonterminal("simple_sentence"); 185 l.add(c); 186 addRule(new Rule(l, true)); 187 l.clear(); 188 featureHash.clear(); 189 c = new Nonterminal("simple_sentence"); 190 l.add(c); 191 c = new Terminal("there are"); 192 l.add(c); 193 c = new Nonterminal("nounphrase"); 194 c.setFeature("exist", new StringRef("plus")); 195 c.setFeature("def", new StringRef("minus")); 196 c.setFeature("pl", new StringRef("plus")); 197 c.setFeature("whin", new StringRef("minus")); 198 c.setFeature("whout", new StringRef("minus")); 199 l.add(c); 200 addRule(new Rule(l, true)); 201 l.clear(); 202 featureHash.clear(); 203 c = new Nonterminal("simple_sentence"); 204 l.add(c); 205 c = new Nonterminal("simple_sentence_2"); 206 c.setFeature("whin", new StringRef("minus")); 207 c.setFeature("whout", new StringRef("minus")); 208 l.add(c); 209 addRule(new Rule(l, true)); 210 l.clear(); 211 featureHash.clear(); 212 c = new Nonterminal("simple_sentence_2"); 213 setFeature(c, "whin", 0, featureHash); 214 setFeature(c, "whout", 1, featureHash); 215 l.add(c); 216 c = new Nonterminal("nounphrase"); 217 c.setFeature("exist", new StringRef("plus")); 218 setFeature(c, "pl", 2, featureHash); 219 setFeature(c, "whin", 0, featureHash); 220 setFeature(c, "whout", 3, featureHash); 221 l.add(c); 222 c = new Nonterminal("verbphrase_coord_1"); 223 setFeature(c, "pl", 2, featureHash); 224 setFeature(c, "whin", 3, featureHash); 225 setFeature(c, "whout", 1, featureHash); 226 l.add(c); 227 addRule(new Rule(l, true)); 228 l.clear(); 229 featureHash.clear(); 230 c = new Nonterminal("simple_sentence_2"); 231 c.setFeature("whin", new StringRef("minus")); 232 c.setFeature("whout", new StringRef("minus")); 233 l.add(c); 234 c = new Nonterminal("nounphrase"); 235 c.setFeature("exist", new StringRef("minus")); 236 l.add(c); 237 c = new Nonterminal("verbphrase_coord_1"); 238 c.setFeature("pl", new StringRef("minus")); 239 c.setFeature("whin", new StringRef("minus")); 240 c.setFeature("whout", new StringRef("minus")); 241 l.add(c); 242 addRule(new Rule(l, false)); 243 l.clear(); 244 featureHash.clear(); 245 c = new Nonterminal("verbphrase_coord_1"); 246 setFeature(c, "pl", 0, featureHash); 247 setFeature(c, "whin", 1, featureHash); 248 setFeature(c, "whout", 2, featureHash); 249 l.add(c); 250 c = new Nonterminal("verbphrase_coord_2"); 251 setFeature(c, "pl", 0, featureHash); 252 setFeature(c, "whin", 1, featureHash); 253 setFeature(c, "whout", 2, featureHash); 254 l.add(c); 255 addRule(new Rule(l, true)); 256 l.clear(); 257 featureHash.clear(); 258 c = new Nonterminal("verbphrase_coord_1"); 259 setFeature(c, "pl", 0, featureHash); 260 setFeature(c, "whin", 1, featureHash); 261 setFeature(c, "whout", 1, featureHash); 262 l.add(c); 263 c = new Nonterminal("verbphrase_coord_2"); 264 setFeature(c, "pl", 0, featureHash); 265 setFeature(c, "whin", 1, featureHash); 266 setFeature(c, "whout", 1, featureHash); 267 l.add(c); 268 c = new Terminal("or"); 269 l.add(c); 270 c = new Nonterminal("verbphrase_coord_1"); 271 setFeature(c, "pl", 0, featureHash); 272 setFeature(c, "whin", 1, featureHash); 273 setFeature(c, "whout", 1, featureHash); 274 l.add(c); 275 addRule(new Rule(l, false)); 276 l.clear(); 277 featureHash.clear(); 278 c = new Nonterminal("verbphrase_coord_2"); 279 setFeature(c, "pl", 0, featureHash); 280 setFeature(c, "whin", 1, featureHash); 281 setFeature(c, "whout", 2, featureHash); 282 l.add(c); 283 c = new Nonterminal("verbphrase_cut"); 284 setFeature(c, "pl", 0, featureHash); 285 setFeature(c, "whin", 1, featureHash); 286 setFeature(c, "whout", 2, featureHash); 287 l.add(c); 288 addRule(new Rule(l, true)); 289 l.clear(); 290 featureHash.clear(); 291 c = new Nonterminal("verbphrase_coord_2"); 292 setFeature(c, "pl", 0, featureHash); 293 setFeature(c, "whin", 1, featureHash); 294 setFeature(c, "whout", 1, featureHash); 295 l.add(c); 296 c = new Nonterminal("verbphrase_cut"); 297 setFeature(c, "pl", 0, featureHash); 298 setFeature(c, "whin", 1, featureHash); 299 setFeature(c, "whout", 1, featureHash); 300 l.add(c); 301 c = new Terminal("and"); 302 l.add(c); 303 c = new Nonterminal("verbphrase_coord_2"); 304 setFeature(c, "pl", 0, featureHash); 305 setFeature(c, "whin", 1, featureHash); 306 setFeature(c, "whout", 1, featureHash); 307 l.add(c); 308 addRule(new Rule(l, true)); 309 l.clear(); 310 featureHash.clear(); 311 c = new Nonterminal("verbphrase_cut"); 312 setFeature(c, "that", 0, featureHash); 313 setFeature(c, "pl", 1, featureHash); 314 setFeature(c, "whin", 2, featureHash); 315 setFeature(c, "whout", 3, featureHash); 316 l.add(c); 317 c = new Nonterminal("verbphrase"); 318 c.setFeature("neg", new StringRef("minus")); 319 setFeature(c, "that", 0, featureHash); 320 setFeature(c, "pl", 1, featureHash); 321 setFeature(c, "whin", 2, featureHash); 322 setFeature(c, "whout", 3, featureHash); 323 l.add(c); 324 addRule(new Rule(l, true)); 325 l.clear(); 326 featureHash.clear(); 327 c = new Nonterminal("verbphrase_cut"); 328 setFeature(c, "that", 0, featureHash); 329 setFeature(c, "pl", 1, featureHash); 330 setFeature(c, "whin", 2, featureHash); 331 setFeature(c, "whout", 3, featureHash); 332 l.add(c); 333 c = new Nonterminal("verbphrase"); 334 c.setFeature("neg", new StringRef("plus")); 335 setFeature(c, "that", 0, featureHash); 336 setFeature(c, "pl", 1, featureHash); 337 setFeature(c, "whin", 2, featureHash); 338 setFeature(c, "whout", 3, featureHash); 339 l.add(c); 340 addRule(new Rule(l, false)); 341 l.clear(); 342 featureHash.clear(); 343 c = new Nonterminal("verbphrase"); 344 setFeature(c, "neg", 0, featureHash); 345 setFeature(c, "that", 1, featureHash); 346 setFeature(c, "pl", 2, featureHash); 347 setFeature(c, "whin", 3, featureHash); 348 setFeature(c, "whout", 4, featureHash); 349 l.add(c); 350 c = new Nonterminal("verb"); 351 c.setFeature("verb", new StringRef("full")); 352 setFeature(c, "pl", 2, featureHash); 353 setFeature(c, "neg", 0, featureHash); 354 l.add(c); 355 c = new Nonterminal("nounphrase_cut"); 356 setFeature(c, "that", 1, featureHash); 357 c.setFeature("verb", new StringRef("full")); 358 setFeature(c, "whin", 3, featureHash); 359 setFeature(c, "whout", 4, featureHash); 360 l.add(c); 361 addRule(new Rule(l, true)); 362 l.clear(); 363 featureHash.clear(); 364 c = new Nonterminal("verbphrase"); 365 setFeature(c, "neg", 0, featureHash); 366 setFeature(c, "that", 1, featureHash); 367 setFeature(c, "pl", 2, featureHash); 368 setFeature(c, "whin", 3, featureHash); 369 setFeature(c, "whout", 4, featureHash); 370 l.add(c); 371 c = new Nonterminal("verb"); 372 c.setFeature("verb", new StringRef("be")); 373 setFeature(c, "pl", 2, featureHash); 374 setFeature(c, "neg", 0, featureHash); 375 l.add(c); 376 c = new Nonterminal("nounphrase_cut"); 377 c.setFeature("of", new StringRef("plus")); 378 setFeature(c, "that", 1, featureHash); 379 c.setFeature("pl", new StringRef("minus")); 380 c.setFeature("verb", new StringRef("be")); 381 setFeature(c, "whin", 3, featureHash); 382 setFeature(c, "whout", 4, featureHash); 383 l.add(c); 384 addRule(new Rule(l, true)); 385 l.clear(); 386 featureHash.clear(); 387 c = new Nonterminal("verbphrase"); 388 setFeature(c, "neg", 0, featureHash); 389 setFeature(c, "that", 1, featureHash); 390 c.setFeature("pl", new StringRef("minus")); 391 setFeature(c, "whin", 2, featureHash); 392 setFeature(c, "whout", 3, featureHash); 393 l.add(c); 394 c = new Nonterminal("verb"); 395 c.setFeature("verb", new StringRef("be")); 396 c.setFeature("pl", new StringRef("minus")); 397 setFeature(c, "neg", 0, featureHash); 398 l.add(c); 399 c = new Nonterminal("nounphrase_cut"); 400 c.setFeature("of", new StringRef("minus")); 401 setFeature(c, "that", 1, featureHash); 402 c.setFeature("pl", new StringRef("minus")); 403 c.setFeature("verb", new StringRef("be")); 404 setFeature(c, "whin", 2, featureHash); 405 setFeature(c, "whout", 3, featureHash); 406 l.add(c); 407 addRule(new Rule(l, true)); 408 l.clear(); 409 featureHash.clear(); 410 c = new Nonterminal("verbphrase"); 411 setFeature(c, "neg", 0, featureHash); 412 setFeature(c, "that", 1, featureHash); 413 setFeature(c, "pl", 2, featureHash); 414 setFeature(c, "whin", 3, featureHash); 415 setFeature(c, "whout", 4, featureHash); 416 l.add(c); 417 c = new Nonterminal("verb"); 418 c.setFeature("verb", new StringRef("be")); 419 setFeature(c, "pl", 2, featureHash); 420 setFeature(c, "neg", 0, featureHash); 421 l.add(c); 422 c = new Terminal("TRADJ"); 423 l.add(c); 424 c = new Nonterminal("nounphrase_cut"); 425 setFeature(c, "that", 1, featureHash); 426 c.setFeature("verb", new StringRef("full")); 427 setFeature(c, "whin", 3, featureHash); 428 setFeature(c, "whout", 4, featureHash); 429 l.add(c); 430 addRule(new Rule(l, true)); 431 l.clear(); 432 featureHash.clear(); 433 c = new Nonterminal("verbphrase"); 434 setFeature(c, "neg", 0, featureHash); 435 setFeature(c, "that", 1, featureHash); 436 setFeature(c, "pl", 2, featureHash); 437 setFeature(c, "whin", 3, featureHash); 438 setFeature(c, "whout", 4, featureHash); 439 l.add(c); 440 c = new Nonterminal("verb"); 441 c.setFeature("verb", new StringRef("be")); 442 setFeature(c, "pl", 2, featureHash); 443 setFeature(c, "neg", 0, featureHash); 444 l.add(c); 445 c = new Terminal("PVERB"); 446 l.add(c); 447 c = new Nonterminal("nounphrase_cut"); 448 setFeature(c, "that", 1, featureHash); 449 c.setFeature("verb", new StringRef("full")); 450 setFeature(c, "whin", 3, featureHash); 451 setFeature(c, "whout", 4, featureHash); 452 l.add(c); 453 addRule(new Rule(l, true)); 454 l.clear(); 455 featureHash.clear(); 456 c = new Nonterminal("nounphrase_cut"); 457 c.setFeature("exist", new StringRef("plus")); 458 setFeature(c, "that", 0, featureHash); 459 setFeature(c, "of", 1, featureHash); 460 setFeature(c, "def", 2, featureHash); 461 setFeature(c, "pl", 3, featureHash); 462 setFeature(c, "verb", 4, featureHash); 463 setFeature(c, "whin", 5, featureHash); 464 setFeature(c, "whout", 6, featureHash); 465 l.add(c); 466 c = new Nonterminal("nounphrase"); 467 c.setFeature("exist", new StringRef("plus")); 468 setFeature(c, "that", 0, featureHash); 469 setFeature(c, "of", 1, featureHash); 470 setFeature(c, "def", 2, featureHash); 471 setFeature(c, "pl", 3, featureHash); 472 setFeature(c, "verb", 4, featureHash); 473 setFeature(c, "whin", 5, featureHash); 474 setFeature(c, "whout", 6, featureHash); 475 l.add(c); 476 addRule(new Rule(l, true)); 477 l.clear(); 478 featureHash.clear(); 479 c = new Nonterminal("nounphrase_cut"); 480 c.setFeature("exist", new StringRef("minus")); 481 setFeature(c, "that", 0, featureHash); 482 setFeature(c, "of", 1, featureHash); 483 setFeature(c, "def", 2, featureHash); 484 setFeature(c, "pl", 3, featureHash); 485 setFeature(c, "verb", 4, featureHash); 486 setFeature(c, "whin", 5, featureHash); 487 setFeature(c, "whout", 6, featureHash); 488 l.add(c); 489 c = new Nonterminal("nounphrase"); 490 c.setFeature("exist", new StringRef("minus")); 491 setFeature(c, "that", 0, featureHash); 492 setFeature(c, "of", 1, featureHash); 493 setFeature(c, "def", 2, featureHash); 494 setFeature(c, "pl", 3, featureHash); 495 setFeature(c, "verb", 4, featureHash); 496 setFeature(c, "whin", 5, featureHash); 497 setFeature(c, "whout", 6, featureHash); 498 l.add(c); 499 addRule(new Rule(l, false)); 500 l.clear(); 501 featureHash.clear(); 502 c = new Nonterminal("nounphrase"); 503 c.setFeature("exist", new StringRef("plus")); 504 setFeature(c, "that", 0, featureHash); 505 c.setFeature("of", new StringRef("minus")); 506 c.setFeature("def", new StringRef("plus")); 507 c.setFeature("pl", new StringRef("minus")); 508 setFeature(c, "whin", 1, featureHash); 509 setFeature(c, "whout", 2, featureHash); 510 l.add(c); 511 c = new Terminal("PROPERNAME"); 512 l.add(c); 513 c = new Nonterminal("that_phrase"); 514 setFeature(c, "that", 0, featureHash); 515 setFeature(c, "whin", 1, featureHash); 516 setFeature(c, "whout", 2, featureHash); 517 l.add(c); 518 addRule(new Rule(l, true)); 519 l.clear(); 520 featureHash.clear(); 521 c = new Nonterminal("nounphrase"); 522 c.setFeature("exist", new StringRef("plus")); 523 c.setFeature("that", new StringRef("minus")); 524 c.setFeature("of", new StringRef("minus")); 525 c.setFeature("def", new StringRef("plus")); 526 c.setFeature("pl", new StringRef("minus")); 527 setFeature(c, "whin", 0, featureHash); 528 setFeature(c, "whout", 0, featureHash); 529 l.add(c); 530 c = new Terminal("VARIABLE"); 531 l.add(c); 532 addRule(new Rule(l, true)); 533 l.clear(); 534 featureHash.clear(); 535 c = new Nonterminal("nounphrase"); 536 c.setFeature("exist", new StringRef("plus")); 537 c.setFeature("that", new StringRef("minus")); 538 c.setFeature("of", new StringRef("minus")); 539 c.setFeature("def", new StringRef("plus")); 540 c.setFeature("pl", new StringRef("minus")); 541 setFeature(c, "whin", 0, featureHash); 542 setFeature(c, "whout", 0, featureHash); 543 l.add(c); 544 c = new Terminal("REFERENCE"); 545 l.add(c); 546 addRule(new Rule(l, true)); 547 l.clear(); 548 featureHash.clear(); 549 c = new Nonterminal("nounphrase"); 550 c.setFeature("exist", new StringRef("plus")); 551 setFeature(c, "that", 0, featureHash); 552 setFeature(c, "of", 1, featureHash); 553 c.setFeature("pl", new StringRef("minus")); 554 setFeature(c, "whin", 2, featureHash); 555 setFeature(c, "whout", 3, featureHash); 556 l.add(c); 557 c = new Terminal("a"); 558 l.add(c); 559 c = new Nonterminal("noun_constr"); 560 setFeature(c, "that", 0, featureHash); 561 setFeature(c, "of", 1, featureHash); 562 setFeature(c, "whin", 2, featureHash); 563 setFeature(c, "whout", 3, featureHash); 564 l.add(c); 565 addRule(new Rule(l, true)); 566 l.clear(); 567 featureHash.clear(); 568 c = new Nonterminal("nounphrase"); 569 c.setFeature("exist", new StringRef("plus")); 570 setFeature(c, "that", 0, featureHash); 571 setFeature(c, "of", 1, featureHash); 572 c.setFeature("pl", new StringRef("minus")); 573 setFeature(c, "whin", 2, featureHash); 574 setFeature(c, "whout", 3, featureHash); 575 l.add(c); 576 c = new Terminal("an"); 577 l.add(c); 578 c = new Nonterminal("noun_constr"); 579 setFeature(c, "that", 0, featureHash); 580 setFeature(c, "of", 1, featureHash); 581 setFeature(c, "whin", 2, featureHash); 582 setFeature(c, "whout", 3, featureHash); 583 l.add(c); 584 addRule(new Rule(l, true)); 585 l.clear(); 586 featureHash.clear(); 587 c = new Nonterminal("nounphrase"); 588 c.setFeature("exist", new StringRef("plus")); 589 setFeature(c, "that", 0, featureHash); 590 c.setFeature("of", new StringRef("minus")); 591 c.setFeature("pl", new StringRef("minus")); 592 setFeature(c, "whin", 1, featureHash); 593 setFeature(c, "whout", 2, featureHash); 594 l.add(c); 595 c = new Nonterminal("exist_anon"); 596 l.add(c); 597 c = new Terminal("VARIABLE"); 598 l.add(c); 599 c = new Nonterminal("that_phrase"); 600 setFeature(c, "that", 0, featureHash); 601 setFeature(c, "whin", 1, featureHash); 602 setFeature(c, "whout", 2, featureHash); 603 l.add(c); 604 addRule(new Rule(l, true)); 605 l.clear(); 606 featureHash.clear(); 607 c = new Nonterminal("nounphrase"); 608 c.setFeature("exist", new StringRef("plus")); 609 setFeature(c, "that", 0, featureHash); 610 c.setFeature("of", new StringRef("minus")); 611 c.setFeature("pl", new StringRef("minus")); 612 setFeature(c, "whin", 1, featureHash); 613 setFeature(c, "whout", 2, featureHash); 614 l.add(c); 615 c = new Nonterminal("exist_anon"); 616 l.add(c); 617 c = new Nonterminal("that_phrase"); 618 setFeature(c, "that", 0, featureHash); 619 setFeature(c, "whin", 1, featureHash); 620 setFeature(c, "whout", 2, featureHash); 621 l.add(c); 622 addRule(new Rule(l, true)); 623 l.clear(); 624 featureHash.clear(); 625 c = new Nonterminal("nounphrase"); 626 c.setFeature("exist", new StringRef("plus")); 627 c.setFeature("that", new StringRef("minus")); 628 c.setFeature("of", new StringRef("minus")); 629 c.setFeature("pl", new StringRef("plus")); 630 c.setFeature("verb", new StringRef("full")); 631 setFeature(c, "whin", 0, featureHash); 632 setFeature(c, "whout", 0, featureHash); 633 l.add(c); 634 c = new Nonterminal("num_quant"); 635 l.add(c); 636 c = new Terminal("NUMBER"); 637 l.add(c); 638 c = new Terminal("NOUNPL"); 639 l.add(c); 640 addRule(new Rule(l, true)); 641 l.clear(); 642 featureHash.clear(); 643 c = new Nonterminal("nounphrase"); 644 c.setFeature("exist", new StringRef("plus")); 645 c.setFeature("that", new StringRef("minus")); 646 c.setFeature("of", new StringRef("minus")); 647 c.setFeature("pl", new StringRef("minus")); 648 c.setFeature("verb", new StringRef("full")); 649 setFeature(c, "whin", 0, featureHash); 650 setFeature(c, "whout", 0, featureHash); 651 l.add(c); 652 c = new Nonterminal("num_quant"); 653 l.add(c); 654 c = new Terminal("1"); 655 l.add(c); 656 c = new Terminal("NOUN"); 657 l.add(c); 658 addRule(new Rule(l, true)); 659 l.clear(); 660 featureHash.clear(); 661 c = new Nonterminal("nounphrase"); 662 c.setFeature("exist", new StringRef("plus")); 663 c.setFeature("that", new StringRef("minus")); 664 c.setFeature("of", new StringRef("minus")); 665 c.setFeature("pl", new StringRef("minus")); 666 c.setFeature("whin", new StringRef("right")); 667 c.setFeature("whout", new StringRef("left")); 668 l.add(c); 669 c = new Terminal("what"); 670 l.add(c); 671 addRule(new Rule(l, true)); 672 l.clear(); 673 featureHash.clear(); 674 c = new Nonterminal("nounphrase"); 675 c.setFeature("exist", new StringRef("plus")); 676 c.setFeature("that", new StringRef("minus")); 677 c.setFeature("of", new StringRef("minus")); 678 c.setFeature("pl", new StringRef("minus")); 679 c.setFeature("whin", new StringRef("right")); 680 c.setFeature("whout", new StringRef("left")); 681 l.add(c); 682 c = new Terminal("who"); 683 l.add(c); 684 addRule(new Rule(l, true)); 685 l.clear(); 686 featureHash.clear(); 687 c = new Nonterminal("nounphrase"); 688 c.setFeature("exist", new StringRef("plus")); 689 setFeature(c, "that", 0, featureHash); 690 setFeature(c, "of", 1, featureHash); 691 c.setFeature("pl", new StringRef("minus")); 692 c.setFeature("whin", new StringRef("right")); 693 c.setFeature("whout", new StringRef("left")); 694 l.add(c); 695 c = new Terminal("which"); 696 l.add(c); 697 c = new Nonterminal("noun_constr"); 698 setFeature(c, "that", 0, featureHash); 699 setFeature(c, "of", 1, featureHash); 700 c.setFeature("whin", new StringRef("left")); 701 c.setFeature("whout", new StringRef("left")); 702 l.add(c); 703 addRule(new Rule(l, true)); 704 l.clear(); 705 featureHash.clear(); 706 c = new Nonterminal("nounphrase"); 707 c.setFeature("exist", new StringRef("plus")); 708 c.setFeature("that", new StringRef("minus")); 709 c.setFeature("of", new StringRef("minus")); 710 c.setFeature("pl", new StringRef("plus")); 711 c.setFeature("whin", new StringRef("right")); 712 c.setFeature("whout", new StringRef("left")); 713 l.add(c); 714 c = new Terminal("which"); 715 l.add(c); 716 c = new Terminal("NOUNPL"); 717 l.add(c); 718 addRule(new Rule(l, true)); 719 l.clear(); 720 featureHash.clear(); 721 c = new Nonterminal("nounphrase"); 722 c.setFeature("exist", new StringRef("minus")); 723 setFeature(c, "that", 0, featureHash); 724 setFeature(c, "of", 1, featureHash); 725 c.setFeature("pl", new StringRef("minus")); 726 c.setFeature("whin", new StringRef("minus")); 727 c.setFeature("whout", new StringRef("minus")); 728 l.add(c); 729 c = new Terminal("every"); 730 l.add(c); 731 c = new Nonterminal("noun_constr"); 732 setFeature(c, "that", 0, featureHash); 733 setFeature(c, "of", 1, featureHash); 734 c.setFeature("whin", new StringRef("minus")); 735 c.setFeature("whout", new StringRef("minus")); 736 l.add(c); 737 addRule(new Rule(l, true)); 738 l.clear(); 739 featureHash.clear(); 740 c = new Nonterminal("nounphrase"); 741 c.setFeature("exist", new StringRef("minus")); 742 setFeature(c, "that", 0, featureHash); 743 c.setFeature("of", new StringRef("minus")); 744 c.setFeature("pl", new StringRef("minus")); 745 c.setFeature("whin", new StringRef("minus")); 746 c.setFeature("whout", new StringRef("minus")); 747 l.add(c); 748 c = new Nonterminal("univ_anon"); 749 l.add(c); 750 c = new Terminal("VARIABLE"); 751 l.add(c); 752 c = new Nonterminal("that_phrase"); 753 setFeature(c, "that", 0, featureHash); 754 c.setFeature("whin", new StringRef("minus")); 755 c.setFeature("whout", new StringRef("minus")); 756 l.add(c); 757 addRule(new Rule(l, true)); 758 l.clear(); 759 featureHash.clear(); 760 c = new Nonterminal("nounphrase"); 761 c.setFeature("exist", new StringRef("minus")); 762 setFeature(c, "that", 0, featureHash); 763 c.setFeature("of", new StringRef("minus")); 764 c.setFeature("pl", new StringRef("minus")); 765 c.setFeature("whin", new StringRef("minus")); 766 c.setFeature("whout", new StringRef("minus")); 767 l.add(c); 768 c = new Nonterminal("univ_anon"); 769 l.add(c); 770 c = new Nonterminal("that_phrase"); 771 setFeature(c, "that", 0, featureHash); 772 c.setFeature("whin", new StringRef("minus")); 773 c.setFeature("whout", new StringRef("minus")); 774 l.add(c); 775 addRule(new Rule(l, true)); 776 l.clear(); 777 featureHash.clear(); 778 c = new Nonterminal("nounphrase"); 779 c.setFeature("exist", new StringRef("minus")); 780 setFeature(c, "that", 0, featureHash); 781 setFeature(c, "of", 1, featureHash); 782 c.setFeature("pl", new StringRef("minus")); 783 c.setFeature("whin", new StringRef("minus")); 784 c.setFeature("whout", new StringRef("minus")); 785 l.add(c); 786 c = new Terminal("no"); 787 l.add(c); 788 c = new Nonterminal("noun_constr"); 789 setFeature(c, "that", 0, featureHash); 790 setFeature(c, "of", 1, featureHash); 791 c.setFeature("whin", new StringRef("minus")); 792 c.setFeature("whout", new StringRef("minus")); 793 l.add(c); 794 addRule(new Rule(l, true)); 795 l.clear(); 796 featureHash.clear(); 797 c = new Nonterminal("nounphrase"); 798 c.setFeature("exist", new StringRef("minus")); 799 setFeature(c, "that", 0, featureHash); 800 c.setFeature("of", new StringRef("minus")); 801 c.setFeature("pl", new StringRef("minus")); 802 c.setFeature("whin", new StringRef("minus")); 803 c.setFeature("whout", new StringRef("minus")); 804 l.add(c); 805 c = new Nonterminal("neg_anon"); 806 l.add(c); 807 c = new Terminal("VARIABLE"); 808 l.add(c); 809 c = new Nonterminal("that_phrase"); 810 setFeature(c, "that", 0, featureHash); 811 c.setFeature("whin", new StringRef("minus")); 812 c.setFeature("whout", new StringRef("minus")); 813 l.add(c); 814 addRule(new Rule(l, true)); 815 l.clear(); 816 featureHash.clear(); 817 c = new Nonterminal("nounphrase"); 818 c.setFeature("exist", new StringRef("minus")); 819 setFeature(c, "that", 0, featureHash); 820 c.setFeature("of", new StringRef("minus")); 821 c.setFeature("pl", new StringRef("minus")); 822 c.setFeature("whin", new StringRef("minus")); 823 c.setFeature("whout", new StringRef("minus")); 824 l.add(c); 825 c = new Nonterminal("neg_anon"); 826 l.add(c); 827 c = new Nonterminal("that_phrase"); 828 setFeature(c, "that", 0, featureHash); 829 c.setFeature("whin", new StringRef("minus")); 830 c.setFeature("whout", new StringRef("minus")); 831 l.add(c); 832 addRule(new Rule(l, true)); 833 l.clear(); 834 featureHash.clear(); 835 c = new Nonterminal("noun_constr"); 836 setFeature(c, "that", 0, featureHash); 837 c.setFeature("of", new StringRef("minus")); 838 setFeature(c, "whin", 1, featureHash); 839 setFeature(c, "whout", 2, featureHash); 840 l.add(c); 841 c = new Terminal("NOUN"); 842 l.add(c); 843 c = new Terminal("VARIABLE"); 844 l.add(c); 845 c = new Nonterminal("that_phrase"); 846 setFeature(c, "that", 0, featureHash); 847 setFeature(c, "whin", 1, featureHash); 848 setFeature(c, "whout", 2, featureHash); 849 l.add(c); 850 addRule(new Rule(l, true)); 851 l.clear(); 852 featureHash.clear(); 853 c = new Nonterminal("noun_constr"); 854 setFeature(c, "that", 0, featureHash); 855 c.setFeature("of", new StringRef("minus")); 856 setFeature(c, "whin", 1, featureHash); 857 setFeature(c, "whout", 2, featureHash); 858 l.add(c); 859 c = new Terminal("NOUN"); 860 l.add(c); 861 c = new Nonterminal("that_phrase"); 862 setFeature(c, "that", 0, featureHash); 863 setFeature(c, "whin", 1, featureHash); 864 setFeature(c, "whout", 2, featureHash); 865 l.add(c); 866 addRule(new Rule(l, true)); 867 l.clear(); 868 featureHash.clear(); 869 c = new Nonterminal("noun_constr"); 870 setFeature(c, "that", 0, featureHash); 871 c.setFeature("of", new StringRef("plus")); 872 setFeature(c, "whin", 1, featureHash); 873 setFeature(c, "whout", 2, featureHash); 874 l.add(c); 875 c = new Terminal("NOUNOF"); 876 l.add(c); 877 c = new Nonterminal("nounphrase_cut"); 878 setFeature(c, "that", 0, featureHash); 879 setFeature(c, "whin", 1, featureHash); 880 setFeature(c, "whout", 2, featureHash); 881 l.add(c); 882 addRule(new Rule(l, true)); 883 l.clear(); 884 featureHash.clear(); 885 c = new Nonterminal("verb"); 886 c.setFeature("verb", new StringRef("be")); 887 c.setFeature("neg", new StringRef("minus")); 888 c.setFeature("pl", new StringRef("minus")); 889 l.add(c); 890 c = new Terminal("is"); 891 l.add(c); 892 addRule(new Rule(l, true)); 893 l.clear(); 894 featureHash.clear(); 895 c = new Nonterminal("verb"); 896 c.setFeature("verb", new StringRef("be")); 897 c.setFeature("neg", new StringRef("plus")); 898 c.setFeature("pl", new StringRef("minus")); 899 l.add(c); 900 c = new Terminal("is not"); 901 l.add(c); 902 addRule(new Rule(l, true)); 903 l.clear(); 904 featureHash.clear(); 905 c = new Nonterminal("verb"); 906 c.setFeature("verb", new StringRef("be")); 907 c.setFeature("neg", new StringRef("plus")); 908 c.setFeature("pl", new StringRef("minus")); 909 l.add(c); 910 c = new Terminal("is"); 911 l.add(c); 912 c = new Terminal("not"); 913 l.add(c); 914 addRule(new Rule(l, true)); 915 l.clear(); 916 featureHash.clear(); 917 c = new Nonterminal("verb"); 918 c.setFeature("verb", new StringRef("be")); 919 c.setFeature("neg", new StringRef("minus")); 920 c.setFeature("pl", new StringRef("plus")); 921 l.add(c); 922 c = new Terminal("are"); 923 l.add(c); 924 addRule(new Rule(l, true)); 925 l.clear(); 926 featureHash.clear(); 927 c = new Nonterminal("verb"); 928 c.setFeature("verb", new StringRef("be")); 929 c.setFeature("neg", new StringRef("plus")); 930 c.setFeature("pl", new StringRef("plus")); 931 l.add(c); 932 c = new Terminal("are not"); 933 l.add(c); 934 addRule(new Rule(l, true)); 935 l.clear(); 936 featureHash.clear(); 937 c = new Nonterminal("verb"); 938 c.setFeature("verb", new StringRef("be")); 939 c.setFeature("neg", new StringRef("plus")); 940 c.setFeature("pl", new StringRef("plus")); 941 l.add(c); 942 c = new Terminal("are"); 943 l.add(c); 944 c = new Terminal("not"); 945 l.add(c); 946 addRule(new Rule(l, true)); 947 l.clear(); 948 featureHash.clear(); 949 c = new Nonterminal("verb"); 950 c.setFeature("verb", new StringRef("full")); 951 c.setFeature("neg", new StringRef("minus")); 952 c.setFeature("pl", new StringRef("minus")); 953 l.add(c); 954 c = new Terminal("VERB"); 955 l.add(c); 956 addRule(new Rule(l, true)); 957 l.clear(); 958 featureHash.clear(); 959 c = new Nonterminal("verb"); 960 c.setFeature("verb", new StringRef("full")); 961 c.setFeature("neg", new StringRef("plus")); 962 c.setFeature("pl", new StringRef("minus")); 963 l.add(c); 964 c = new Terminal("does not"); 965 l.add(c); 966 c = new Terminal("VERBINF"); 967 l.add(c); 968 addRule(new Rule(l, true)); 969 l.clear(); 970 featureHash.clear(); 971 c = new Nonterminal("verb"); 972 c.setFeature("verb", new StringRef("full")); 973 c.setFeature("neg", new StringRef("minus")); 974 c.setFeature("pl", new StringRef("plus")); 975 l.add(c); 976 c = new Terminal("VERBINF"); 977 l.add(c); 978 addRule(new Rule(l, true)); 979 l.clear(); 980 featureHash.clear(); 981 c = new Nonterminal("verb"); 982 c.setFeature("verb", new StringRef("full")); 983 c.setFeature("neg", new StringRef("plus")); 984 c.setFeature("pl", new StringRef("plus")); 985 l.add(c); 986 c = new Terminal("do not"); 987 l.add(c); 988 c = new Terminal("VERBINF"); 989 l.add(c); 990 addRule(new Rule(l, true)); 991 l.clear(); 992 featureHash.clear(); 993 c = new Nonterminal("that_phrase"); 994 c.setFeature("that", new StringRef("minus")); 995 setFeature(c, "whin", 0, featureHash); 996 setFeature(c, "whout", 0, featureHash); 997 l.add(c); 998 addRule(new Rule(l, true)); 999 l.clear(); 1000 featureHash.clear(); 1001 c = new Nonterminal("that_phrase"); 1002 c.setFeature("that", new StringRef("plus")); 1003 setFeature(c, "whin", 0, featureHash); 1004 setFeature(c, "whout", 1, featureHash); 1005 l.add(c); 1006 c = new Nonterminal("rel_pron"); 1007 l.add(c); 1008 c = new Nonterminal("that_phrase_1"); 1009 setFeature(c, "whin", 0, featureHash); 1010 setFeature(c, "whout", 1, featureHash); 1011 l.add(c); 1012 addRule(new Rule(l, true)); 1013 l.clear(); 1014 featureHash.clear(); 1015 c = new Nonterminal("that_phrase_1"); 1016 setFeature(c, "whin", 0, featureHash); 1017 setFeature(c, "whout", 1, featureHash); 1018 l.add(c); 1019 c = new Nonterminal("that_phrase_2"); 1020 setFeature(c, "whin", 0, featureHash); 1021 setFeature(c, "whout", 1, featureHash); 1022 l.add(c); 1023 addRule(new Rule(l, true)); 1024 l.clear(); 1025 featureHash.clear(); 1026 c = new Nonterminal("that_phrase_1"); 1027 setFeature(c, "whin", 0, featureHash); 1028 setFeature(c, "whout", 0, featureHash); 1029 l.add(c); 1030 c = new Nonterminal("that_phrase_2"); 1031 setFeature(c, "whin", 0, featureHash); 1032 setFeature(c, "whout", 0, featureHash); 1033 l.add(c); 1034 c = new Nonterminal("or_rel_pron"); 1035 l.add(c); 1036 c = new Nonterminal("that_phrase_1"); 1037 setFeature(c, "whin", 0, featureHash); 1038 setFeature(c, "whout", 0, featureHash); 1039 l.add(c); 1040 addRule(new Rule(l, false)); 1041 l.clear(); 1042 featureHash.clear(); 1043 c = new Nonterminal("that_phrase_2"); 1044 setFeature(c, "whin", 0, featureHash); 1045 setFeature(c, "whout", 1, featureHash); 1046 l.add(c); 1047 c = new Nonterminal("verbphrase_cut"); 1048 c.setFeature("pl", new StringRef("minus")); 1049 setFeature(c, "whin", 0, featureHash); 1050 setFeature(c, "whout", 1, featureHash); 1051 l.add(c); 1052 addRule(new Rule(l, true)); 1053 l.clear(); 1054 featureHash.clear(); 1055 c = new Nonterminal("that_phrase_2"); 1056 setFeature(c, "whin", 0, featureHash); 1057 setFeature(c, "whout", 1, featureHash); 1058 l.add(c); 1059 c = new Nonterminal("nounphrase_cut"); 1060 c.setFeature("that", new StringRef("minus")); 1061 c.setFeature("verb", new StringRef("full")); 1062 setFeature(c, "pl", 2, featureHash); 1063 setFeature(c, "whin", 0, featureHash); 1064 setFeature(c, "whout", 1, featureHash); 1065 l.add(c); 1066 c = new Nonterminal("verb"); 1067 c.setFeature("verb", new StringRef("full")); 1068 setFeature(c, "pl", 2, featureHash); 1069 l.add(c); 1070 addRule(new Rule(l, true)); 1071 l.clear(); 1072 featureHash.clear(); 1073 c = new Nonterminal("that_phrase_2"); 1074 setFeature(c, "whin", 0, featureHash); 1075 setFeature(c, "whout", 0, featureHash); 1076 l.add(c); 1077 c = new Nonterminal("verbphrase_cut"); 1078 c.setFeature("that", new StringRef("minus")); 1079 c.setFeature("pl", new StringRef("minus")); 1080 setFeature(c, "whin", 0, featureHash); 1081 setFeature(c, "whout", 0, featureHash); 1082 l.add(c); 1083 c = new Nonterminal("and_rel_pron"); 1084 l.add(c); 1085 c = new Nonterminal("that_phrase_2"); 1086 setFeature(c, "whin", 0, featureHash); 1087 setFeature(c, "whout", 0, featureHash); 1088 l.add(c); 1089 addRule(new Rule(l, true)); 1090 l.clear(); 1091 featureHash.clear(); 1092 c = new Nonterminal("rel_pron"); 1093 l.add(c); 1094 c = new Terminal("that"); 1095 l.add(c); 1096 addRule(new Rule(l, true)); 1097 l.clear(); 1098 featureHash.clear(); 1099 c = new Nonterminal("or_rel_pron"); 1100 l.add(c); 1101 c = new Terminal("or"); 1102 l.add(c); 1103 c = new Nonterminal("rel_pron"); 1104 l.add(c); 1105 addRule(new Rule(l, true)); 1106 l.clear(); 1107 featureHash.clear(); 1108 c = new Nonterminal("or_rel_pron"); 1109 l.add(c); 1110 c = new Terminal("or that"); 1111 l.add(c); 1112 addRule(new Rule(l, true)); 1113 l.clear(); 1114 featureHash.clear(); 1115 c = new Nonterminal("and_rel_pron"); 1116 l.add(c); 1117 c = new Terminal("and"); 1118 l.add(c); 1119 c = new Nonterminal("rel_pron"); 1120 l.add(c); 1121 addRule(new Rule(l, true)); 1122 l.clear(); 1123 featureHash.clear(); 1124 c = new Nonterminal("and_rel_pron"); 1125 l.add(c); 1126 c = new Terminal("and that"); 1127 l.add(c); 1128 addRule(new Rule(l, true)); 1129 l.clear(); 1130 featureHash.clear(); 1131 c = new Nonterminal("exist_anon"); 1132 l.add(c); 1133 c = new Terminal("something"); 1134 l.add(c); 1135 addRule(new Rule(l, true)); 1136 l.clear(); 1137 featureHash.clear(); 1138 c = new Nonterminal("exist_anon"); 1139 l.add(c); 1140 c = new Terminal("somebody"); 1141 l.add(c); 1142 addRule(new Rule(l, true)); 1143 l.clear(); 1144 featureHash.clear(); 1145 c = new Nonterminal("univ_anon"); 1146 l.add(c); 1147 c = new Terminal("everything"); 1148 l.add(c); 1149 addRule(new Rule(l, true)); 1150 l.clear(); 1151 featureHash.clear(); 1152 c = new Nonterminal("univ_anon"); 1153 l.add(c); 1154 c = new Terminal("everybody"); 1155 l.add(c); 1156 addRule(new Rule(l, true)); 1157 l.clear(); 1158 featureHash.clear(); 1159 c = new Nonterminal("neg_anon"); 1160 l.add(c); 1161 c = new Terminal("nothing"); 1162 l.add(c); 1163 addRule(new Rule(l, true)); 1164 l.clear(); 1165 featureHash.clear(); 1166 c = new Nonterminal("neg_anon"); 1167 l.add(c); 1168 c = new Terminal("nobody"); 1169 l.add(c); 1170 addRule(new Rule(l, true)); 1171 l.clear(); 1172 featureHash.clear(); 1173 c = new Nonterminal("num_quant"); 1174 l.add(c); 1175 c = new Terminal("at least"); 1176 l.add(c); 1177 addRule(new Rule(l, true)); 1178 l.clear(); 1179 featureHash.clear(); 1180 c = new Nonterminal("num_quant"); 1181 l.add(c); 1182 c = new Terminal("at most"); 1183 l.add(c); 1184 addRule(new Rule(l, true)); 1185 l.clear(); 1186 featureHash.clear(); 1187 c = new Nonterminal("num_quant"); 1188 l.add(c); 1189 c = new Terminal("less than"); 1190 l.add(c); 1191 addRule(new Rule(l, true)); 1192 l.clear(); 1193 featureHash.clear(); 1194 c = new Nonterminal("num_quant"); 1195 l.add(c); 1196 c = new Terminal("more than"); 1197 l.add(c); 1198 addRule(new Rule(l, true)); 1199 l.clear(); 1200 featureHash.clear(); 1201 c = new Nonterminal("num_quant"); 1202 l.add(c); 1203 c = new Terminal("exactly"); 1204 l.add(c); 1205 addRule(new Rule(l, true)); 1206 1207 } 1208 1209 private void setFeature(Category c, String featureName, int varID, HashMap<Integer, StringRef> featureHash) { 1210 if (featureHash.get(varID) == null) { 1211 StringRef stringRef = new StringRef(); 1212 c.setFeature(featureName, stringRef); 1213 featureHash.put(varID, stringRef); 1214 } else { 1215 c.setFeature(featureName, featureHash.get(varID)); 1216 } 1217 } 1218 1219 }