| | 1493 | // Gen 02,08 |
|---|
| | 1494 | // |
|---|
| | 1495 | // WA- | J.I- | Ã- | V.A62<- | Ã | J:HW@94H- | Ã |
|---|
| | 1496 | // CONJ | V/TNS | V/STM | V/LEX | V/PGN | N/PROP | N/GNS |
|---|
| | 1497 | // |
|---|
| | 1498 | // >:ELOH- | I91Jm | G.An&- | Ã | B.:- | <;73DEn- | Ã |
|---|
| | 1499 | // N/PROP | N/GNS | N/COM | N/GNS | P | N/PROP | N/GNS |
|---|
| | 1500 | // |
|---|
| | 1501 | // MI- | Q.E92DEm- | Ã |
|---|
| | 1502 | // P | N/PROP | N/GNS |
|---|
| | 1503 | // |
|---|
| | 1504 | // Expected output: |
|---|
| | 1505 | // | SENTENCE | |
|---|
| | 1506 | // | CLAUSE | |
|---|
| | 1507 | // | CLM | CORE | PERIPH | |
|---|
| | 1508 | // | | NUC | ARG | ARG | PP | PP | |
|---|
| | 1509 | // | | CORE/V | NP | NP | NUC/P | NP | NUC/P | NP | |
|---|
| | 1510 | // | | OPT | IGN | NUC/V | ARG/V | | | PRED/P | | PRED/P | | |
|---|
| | 1511 | // | CONJ | TNS | STM | LEX | PGN | N/PROP | N/GNS | N/COM | N/GNS | P | N/PROP | P | N/PROP | |
|---|
| | 1512 | |
|---|
| | 1513 | Rule [] hebrewQuest = new Rule[] { |
|---|
| | 1514 | Rule.makeFromString(0, "CLM", "{CONJ}"), |
|---|
| | 1515 | Rule.makeFromString(1, "OPT", "{V/TNS}"), |
|---|
| | 1516 | Rule.makeFromString(2, "IGN", "{V/STM}"), |
|---|
| | 1517 | Rule.makeFromString(3, "NUC/V", "{V/LEX}"), |
|---|
| | 1518 | Rule.makeFromString(4, "ARG/V", "{V/PGN}"), |
|---|
| | 1519 | Rule.makeFromString(5, "CORE/V", "{OPT} {IGN} {NUC/V} {ARG/V}"), |
|---|
| | 1520 | Rule.makeFromString(5, "N/PROP", "{HEAD/NPROP} {MARK/N}"), |
|---|
| | 1521 | Rule.makeFromString(5, "N/COM", "{HEAD/NCOM} {MARK/N}"), |
|---|
| | 1522 | Rule.makeFromString(6, "NP", "{N/PROP}+"), |
|---|
| | 1523 | Rule.makeFromString(7, "NP", "{N/COM}"), |
|---|
| | 1524 | Rule.makeFromString(8, "PRED/P", "{P}"), |
|---|
| | 1525 | Rule.makeFromString(9, "NUC/P", "{PRED/P}"), |
|---|
| | 1526 | Rule.makeFromString(10, "NUC", "{CORE/V}"), |
|---|
| | 1527 | Rule.makeFromString(11, "ARG", "{NP}"), |
|---|
| | 1528 | Rule.makeFromString(12, "PP", "{NUC/P} {NP}"), |
|---|
| | 1529 | Rule.makeFromString(14, "CORE", "{NUC} {ARG} {ARG}"), |
|---|
| | 1530 | Rule.makeFromString(15, "PERIPH", "{PP}*"), |
|---|
| | 1531 | Rule.makeFromString(16, "CLAUSE", "{CLM} {CORE} {PERIPH}"), |
|---|
| | 1532 | Rule.makeFromString(17, "SENTENCE","{CLAUSE}"), |
|---|
| | 1533 | }; |
|---|
| | 1534 | |
|---|
| | 1535 | public void testParseHebrewQuestGenesis2_8() |
|---|
| | 1536 | { |
|---|
| | 1537 | Parser p = new Parser(hebrewQuest); |
|---|
| | 1538 | |
|---|
| | 1539 | List input = new ArrayList(); |
|---|
| | 1540 | |
|---|
| | 1541 | input.add(new MorphEdge("CONJ", "WA-", 0)); |
|---|
| | 1542 | input.add(new MorphEdge("V/TNS", "J.I", 1)); |
|---|
| | 1543 | input.add(new MorphEdge("V/STM", "", 2)); |
|---|
| | 1544 | input.add(new MorphEdge("V/LEX", "V.A62<", 3)); |
|---|
| | 1545 | input.add(new MorphEdge("V/PGN", "", 4)); |
|---|
| | 1546 | input.add(new MorphEdge("HEAD/NPROP", "J:HW@94H", 5)); |
|---|
| | 1547 | input.add(new MorphEdge("MARK/N", "", 6)); |
|---|
| | 1548 | input.add(new MorphEdge("HEAD/NPROP", ">:ELOH", 7)); |
|---|
| | 1549 | input.add(new MorphEdge("MARK/N", "I91Jm", 8)); |
|---|
| | 1550 | input.add(new MorphEdge("HEAD/NCOM", "G.An&-", 9)); |
|---|
| | 1551 | input.add(new MorphEdge("MARK/N", "", 10)); |
|---|
| | 1552 | input.add(new MorphEdge("P", "B.:-", 11)); |
|---|
| | 1553 | input.add(new MorphEdge("HEAD/NPROP", "<;73DEn", 12)); |
|---|
| | 1554 | input.add(new MorphEdge("MARK/N", "", 13)); |
|---|
| | 1555 | input.add(new MorphEdge("P", "MI-", 14)); |
|---|
| | 1556 | input.add(new MorphEdge("HEAD/NPROP", "Q.E92DEm", 15)); |
|---|
| | 1557 | input.add(new MorphEdge("MARK/N", "", 16)); |
|---|
| | 1558 | |
|---|
| | 1559 | p.setVerbose(true); |
|---|
| | 1560 | List edges = p.parseFor(input, "SENTENCE"); |
|---|
| | 1561 | assertEquals(1, edges.size()); |
|---|
| | 1562 | |
|---|
| | 1563 | Edge CLAUSE = (Edge)( edges.get(0) ); |
|---|
| | 1564 | |
|---|
| | 1565 | assertEquals("{SENTENCE " + |
|---|
| | 1566 | "{CLAUSE {CLM {CONJ \"WA-\"}} " + |
|---|
| | 1567 | "{CORE " + |
|---|
| | 1568 | "{NUC {CORE/V " + |
|---|
| | 1569 | "{OPT {V/TNS \"J.I\"}} " + |
|---|
| | 1570 | "{IGN {V/STM \"\"}} " + |
|---|
| | 1571 | "{NUC/V {V/LEX \"V.A62<\"}} " + |
|---|
| | 1572 | "{ARG/V {V/PGN \"\"}}" + |
|---|
| | 1573 | "}} " + |
|---|
| | 1574 | "{ARG {NP " + |
|---|
| | 1575 | "{N/PROP {HEAD/NPROP \"J:HW@94H\"} {MARK/N \"\"}} " + |
|---|
| | 1576 | "{N/PROP {HEAD/NPROP \">:ELOH\"} {MARK/N \"I91Jm\"}}" + |
|---|
| | 1577 | "}} " + |
|---|
| | 1578 | "{ARG {NP " + |
|---|
| | 1579 | "{N/COM {HEAD/NCOM \"G.An&-\"} {MARK/N \"\"}}" + |
|---|
| | 1580 | "}}} " + |
|---|
| | 1581 | "{PERIPH " + |
|---|
| | 1582 | "{PP " + |
|---|
| | 1583 | "{NUC/P {PRED/P {P \"B.:-\"}}} " + |
|---|
| | 1584 | "{NP {N/PROP {HEAD/NPROP \"<;73DEn\"} {MARK/N \"\"}}}" + |
|---|
| | 1585 | "} " + |
|---|
| | 1586 | "{PP " + |
|---|
| | 1587 | "{NUC/P {PRED/P {P \"MI-\"}}} " + |
|---|
| | 1588 | "{NP {N/PROP {HEAD/NPROP \"Q.E92DEm\"} {MARK/N \"\"}}}" + |
|---|
| | 1589 | "}" + |
|---|
| | 1590 | "}}}", CLAUSE.toString()); |
|---|
| | 1591 | } |
|---|
| | 1592 | |
|---|