Beispiel #1
0
def check_example(s):
    print('check %r' % s)
    p = parse_spec(s)
    print('parsed as %r' % p)
    s2 = str(p)
    print('rewritten as %r' % s2)
    p2 = parse_spec(s2)
    print('reparsed as %r' % p2)
    assert p == p2
Beispiel #2
0
def typsy_type(f, typsy_type):
    """ Describes the decorator of a function. """
    # print('decorating:\n f = %r\n typsy_type: %r' % (f, typsy_type))
    from typsy.parsing.parsin import parse_spec
    tt = parse_spec(typsy_type)
    set_typsy_type(f, tt)
    return f
Beispiel #3
0
def set_typsy_type(x, tt):
    """ 
        Sets the type of the object x.
    """
    if isinstance(tt, str):
        from typsy.parsing.parsin import parse_spec
        tt = parse_spec(tt)

    setattr(x, attrname, tt)
Beispiel #4
0
def test_name_change1():
    
    t = parse_spec('UniformSequence(A) -> UniformSequence(B)')
    t2 = t.replace_used_variables(already_taken=set(['A']), substitutions={})
    
    print t2
    variables = t2.get_variables()
    assert  not 'A' in variables, variables
    assert  'B' in variables, variables
Beispiel #5
0
def test_variable_names_replacement():
    t = parse_spec('UniformSequence(A) x UniformSequence(B) -> UniformSequence(A x B)')

    variables = t.get_variables()
    assert variables == set(['A', 'B']), variables
Beispiel #6
0
 def get_typsy_type(self):
     from typsy.parsing.parsin import parse_spec
     return parse_spec('UniformSequence(A)')