Exemplo n.º 1
0
    def test_ast_single_statement(self):
        self.assertEqual(
                map_tree_to_values(ast('''
= a 5
''')),
                [['=', 'a', '5']]
                )
Exemplo n.º 2
0
    def test_sexp_def_function(self):
        self.assertEqual(
                map_tree_to_values(ast('''
def test
    + 5 5
                ''')[0]),
                ['def', 'test', [], 'int', ['+','5', '5']]
                )
Exemplo n.º 3
0
    def test_sexp_def_function(self):
        self.assertEqual(
                map_tree_to_values(ast('''
(c-def main () void
    (prn "hello"))
                ''')[0]),
                ['c-def', 'main', [], 'void', ['prn','"hello"']]
                )
Exemplo n.º 4
0
    def test_ast_block(self):
        self.assertEqual(
                map_tree_to_values(ast('''
c-def test
    return 5
''')),
                [['c-def', 'test', [], 'void',
                    ['return', '5']]]
                )
Exemplo n.º 5
0
    def test_lexp_def_function(self):
        a = map_tree_to_values(ast('''
c-def main
    prn "hello"
                ''')[0])

        self.assertEqual(
                a,
                ['c-def', 'main', [], 'void', ['prn','"hello"']]
                )
Exemplo n.º 6
0
    def test_lexp_cond(self):
        self.assertEqual(
                map_tree_to_values(ast('''
cond
    (> 1 0) 1
    (< 1 0) 0
    else -1
''')[0]),
                [
                    'cond',
                    [['>', '1', '0'], '1'],
                    [['<', '1', '0'], '0'],
                    ['else', '-1']
                    ]
                )
Exemplo n.º 7
0
    def test_ast_empty(self):
        self.assertEqual(
                ast('''
'''),
                []
                )
Exemplo n.º 8
0
def parse(text):
    return escape(ast(text))