Ejemplo n.º 1
0
def test_find_argument_target():
    assert query.find_argument_target(m, 10000, 'RSTR') == 10002
    assert query.find_argument_target(m, 10001, 'ARG1') == 10002
    assert query.find_argument_target(m, 10003, 'ARG2') == 10005

    # test CARGs and unbound vars: "Abrams tried."
    m2 = Xmrs(
        top='h0',
        eps=[
            EP(10000, sp('proper_q_rel'), 'h4', {
                'ARG0': 'x3',
                'RSTR': 'h5'
            }),
            EP(10001, sp('named_rel'), 'h7', {
                'ARG0': 'x3',
                'CARG': 'Abrams'
            }),
            EP(10002, sp('"_try_v_1_rel"'), 'h1', {
                'ARG0': 'e2',
                'ARG1': 'x3',
                'ARG2': 'i9'
            }),
        ],
        hcons=[qeq('h0', 'h1'), qeq('h5', 'h7')],
    )
    assert query.find_argument_target(m2, 10001, 'CARG') == 'Abrams'
    assert query.find_argument_target(m2, 10002, 'ARG2') == 'i9'
Ejemplo n.º 2
0
def test_find_argument_target():
    assert query.find_argument_target(m, 10000, 'RSTR') == 10002
    assert query.find_argument_target(m, 10001, 'ARG1') == 10002
    assert query.find_argument_target(m, 10003, 'ARG2') == 10005

    # test CARGs and unbound vars: "Abrams tried."
    m2 = Xmrs(
        top='h0',
        eps=[
            EP(10000, sp('proper_q_rel'), 'h4', {'ARG0': 'x3', 'RSTR': 'h5'}),
            EP(10001, sp('named_rel'), 'h7', {'ARG0': 'x3', 'CARG': 'Abrams'}),
            EP(10002, sp('"_try_v_1_rel"'), 'h1', {'ARG0': 'e2', 'ARG1': 'x3', 'ARG2': 'i9'}),
        ],
        hcons=[qeq('h0', 'h1'), qeq('h5', 'h7')],
    )
    assert query.find_argument_target(m2, 10001, 'CARG') == 'Abrams'
    assert query.find_argument_target(m2, 10002, 'ARG2') == 'i9'
Ejemplo n.º 3
0
def _find_dependencies(m, eps):
    deps = {}
    for ep in eps:
        nid = ep.nodeid
        if ep.is_quantifier():
            deps[nid] = [('BV', m.nodeid(ep.intrinsic_variable))]
        else:
            epdeps = []
            args = m.outgoing_args(nid)
            for rargname, val in args.items():
                tgtnid = find_argument_target(m, nid, rargname)
                epdeps.append((rargname, tgtnid))
            deps[nid] = epdeps
    return deps
Ejemplo n.º 4
0
def _find_dependencies(m, eps):
    deps = {}
    for ep in eps:
        nid = ep.nodeid
        if ep.is_quantifier():
            deps[nid] = [('BV', m.nodeid(ep.intrinsic_variable))]
        else:
            epdeps = []
            args = m.outgoing_args(nid)
            for rargname, val in args.items():
                tgtnid = find_argument_target(m, nid, rargname)
                epdeps.append((rargname, tgtnid))
            deps[nid] = epdeps
    return deps