Esempio n. 1
0
 def test_begin(self):
     c = Compiler()
     c.compile([
         sym_begin, [sym_define, Symbol('answer'), 42],
         ['abs', Symbol('answer')]
     ])
     self.assertEqual(eval(c.dump()), 42)
Esempio n. 2
0
 def test_func(self):
     src = """
     (abs -42)
     """
     r = Reader(src).read()
     c = Compiler()
     c.compile(r)
     self.assertEqual(eval(c.dump()), 42)
Esempio n. 3
0
 def test_func(self):
     src = """
     (abs -42)
     """
     r = Reader(src).read()
     c = Compiler()
     c.compile(r)
     self.assertEqual(eval(c.dump()), 42)
Esempio n. 4
0
 def setUp(self):
     c = Compiler()
     c.compile(['ord', 'a'])
     self.co = c.dump()
Esempio n. 5
0
 def test_if(self):
     c = Compiler()
     c.compile([sym_if, True, "True!"])
     self.assertEqual(eval(c.dump()), "True!")
     c = Compiler()
     c.compile([sym_if, True, "True!", "False!"])
     self.assertEqual(eval(c.dump()), "True!")
     c = Compiler()
     c.compile([sym_if, False, "True!", "False!"])
     self.assertEqual(eval(c.dump()), "False!")
Esempio n. 6
0
 def test_define(self):
     c = Compiler()
     c.compile([sym_define, Symbol('answer'), -42])
     c.compile(['abs', Symbol('answer')])
     self.assertEqual(eval(c.dump()), 42)
Esempio n. 7
0
 def test_nest_func_call(self):
     c = Compiler()
     c.compile(['abs', ['max', -100, -42]])
     self.assertEqual(eval(c.dump()), 42)
Esempio n. 8
0
 def test_func_call(self):
     c = Compiler()
     c.compile(['ord', 'a'])
     self.assertEqual(eval(c.dump()), 97)
Esempio n. 9
0
 def setUp(self):
     c = Compiler()
     c.compile(['ord', 'a'])
     self.co = c.dump()
Esempio n. 10
0
 def test_begin(self):
     c = Compiler()
     c.compile([sym_begin, [sym_define, Symbol('answer'), 42],
         ['abs', Symbol('answer')]])
     self.assertEqual(eval(c.dump()), 42)
Esempio n. 11
0
 def test_if(self):
     c = Compiler()
     c.compile([sym_if, True, "True!"])
     self.assertEqual(eval(c.dump()), "True!")
     c = Compiler()
     c.compile([sym_if, True, "True!", "False!"])
     self.assertEqual(eval(c.dump()), "True!")
     c = Compiler()
     c.compile([sym_if, False, "True!", "False!"])
     self.assertEqual(eval(c.dump()), "False!")
Esempio n. 12
0
 def test_define(self):
     c = Compiler()
     c.compile([sym_define, Symbol('answer'), -42])
     c.compile(['abs', Symbol('answer')])
     self.assertEqual(eval(c.dump()), 42)
Esempio n. 13
0
 def test_nest_func_call(self):
     c = Compiler()
     c.compile(['abs', ['max', -100, -42]])
     self.assertEqual(eval(c.dump()), 42)
Esempio n. 14
0
 def test_func_call(self):
     c = Compiler()
     c.compile(['ord', 'a'])
     self.assertEqual(eval(c.dump()), 97)