コード例 #1
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
 def test_add_array(self):
     symtable = ir.symbol_table
     with ir.NameSpace('dummy_space'):
         namespace = ir.current_namespace[-1]
         array_info = ('array', 'dummy_space', 123, 4)
         array = ir.Array(*array_info)
         ir.SymbolTable.add_symbol(array)
     assert [array] == symtable[namespace]['variables'][array.name]
コード例 #2
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
 def test_add_function(self):
     symtable = ir.symbol_table
     with ir.NameSpace('dummy_space'):
         namespace = ir.current_namespace[-1]
         function_info = ('func', 'dummy_space', 123, 4)
         function = ir.Function(*function_info)
         ir.SymbolTable.add_symbol(function)
     assert [function] == symtable[namespace]['functions'][function.name]
コード例 #3
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
 def test_add_variable(self):
     symtable = ir.symbol_table
     with ir.NameSpace('dummy_space'):
         namespace = ir.current_namespace[-1]
         var_info = ('var', 'dummy_space', 123, 4, 'float')
         var = ir.Variable(*var_info)
         ir.SymbolTable.add_symbol(var)
     assert [var] == symtable[namespace]['variables'][var.name]
コード例 #4
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
 def test_check_variable(self):
     with ir.NameSpace('dummy_space'):
         var_info = ('var', 'dummy_space', 123, 4, 'float')
         var = ir.Variable(*var_info)
         ir.SymbolTable.add_symbol(var)
         found_variable = ir.SymbolTable.check_symbol(
             'var', 'variables', 'dummy_space')
     assert [var] == found_variable
コード例 #5
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
 def test_add_argument(self):
     symtable = ir.symbol_table
     with ir.NameSpace('dummy_space'):
         namespace = ir.current_namespace[-1]
         arg_info = ('arg', namespace, 123, 4)
         arg = ir.Argument(*arg_info)
         ir.SymbolTable.add_symbol(arg)
     assert [arg] == symtable[namespace]['arguments'][arg.name]
コード例 #6
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
    def test_check_array(self):
        with ir.NameSpace('dummy_space'):

            array_info = ('array', 'dummy_space', 123, 4)
            array = ir.Array(*array_info)
            ir.SymbolTable.add_symbol(array)
            found_array = ir.SymbolTable.check_symbol('array', 'variables',
                                                      'dummy_space')
        assert [array] == found_array
コード例 #7
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
    def test_check_function(self):
        ir.symbol_table.clear()

        with ir.NameSpace('dummy_space'):
            function_info = ('func', 'dummy_space', 123, 4)
            function = ir.Function(*function_info)
            ir.SymbolTable.add_symbol(function)
            found_function = ir.SymbolTable.check_symbol(
                'func', 'functions', 'dummy_space')
        assert [function] == found_function
コード例 #8
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
    def test_check_argument(self):
        ir.symbol_table.clear()

        with ir.NameSpace('dummy_space'):
            arg_info = ('arg', 'dummy_space', 123, 4)
            arg = ir.Argument(*arg_info)
            ir.SymbolTable.add_symbol(arg)
            found_arg = ir.SymbolTable.check_symbol('arg', 'arguments',
                                                    'dummy_space')
        assert [arg] == found_arg
コード例 #9
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
 def test_check_array(self):
     ir.symbol_table.clear()
     namespace_0 = 'dummy_space_0'
     namespace_1 = 'dummy_space_1'
     with ir.NameSpace(namespace_0):
         array_info = ('array_0', namespace_0, 123, 4)
         array_00 = ir.Array(*array_info)
         ir.SymbolTable.add_symbol(array_00)
     with ir.NameSpace(namespace_1):
         array_info = ('array_0', namespace_1, 123, 4)
         array_01 = ir.Array(*array_info)
         ir.SymbolTable.add_symbol(array_01)
     with ir.NameSpace(namespace_0):
         array_info = ('array_1', namespace_0, 123, 4)
         array_10 = ir.Array(*array_info)
         ir.SymbolTable.add_symbol(array_10)
     found_arg = ir.SymbolTable.check_symbol('array_0', 'variables')
     expected = [(namespace_0, [array_00]), (namespace_1, [array_01])]
     pairs = zip(expected, found_arg)
     for pair in pairs:
         assert all([a[0] == b[0] for a, b in zip(pair[0], pair[1])])
コード例 #10
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
 def test_check_function(self):
     ir.symbol_table.clear()
     namespace_0 = 'dummy_space_0'
     namespace_1 = 'dummy_space_1'
     with ir.NameSpace(namespace_0):
         func_info = ('func_0', namespace_0, 123, 4)
         func_00 = ir.Function(*func_info)
         ir.SymbolTable.add_symbol(func_00)
     with ir.NameSpace(namespace_1):
         func_info = ('func_0', namespace_1, 123, 4)
         func_01 = ir.Function(*func_info)
         ir.SymbolTable.add_symbol(func_01)
     with ir.NameSpace(namespace_0):
         func_info = ('func_1', namespace_0, 123, 4)
         func_10 = ir.Function(*func_info)
         ir.SymbolTable.add_symbol(func_10)
     found_arg = ir.SymbolTable.check_symbol('func_0', 'functions')
     expected = [(namespace_0, [func_00]), (namespace_1, [func_01])]
     pairs = zip(expected, found_arg)
     for pair in pairs:
         assert all([a[0] == b[0] for a, b in zip(pair[0], pair[1])])
コード例 #11
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
 def test_exit_space(self):
     with ir.NameSpace('dummy_space'):
         pass
     assert [] == ir.current_namespace
コード例 #12
0
ファイル: test_symbol_table.py プロジェクト: knut0815/phylanx
 def test_enter_space(self):
     with ir.NameSpace('dummy_space'):
         assert ['dummy_space'] == ir.current_namespace