Esempio n. 1
0
def compile_impl(name, argsv, body, env):
    methname = "invoke" + str(count(argsv).int())
    self = tr.Argument("self")
    args = {symbol(methname): self}
    trarg = [self]
    for x in range(count(argsv).int()):
        s = nth(argsv, integer(x))
        args[s] = tr.Argument(s.repr())
        trarg.append(args[s])

    with merge_locals(env, args):
        expr = tr.Func(trarg, compile_do(body, env))
        return [tr.Const(methname), expr]
Esempio n. 2
0
def read_number(rdr, initch):
    from system.core import integer

    sb = []
    sb.append(initch)

    while True:
        ch = rdr.read()
        if ch == "" or is_whitespace(ch) or is_macro(ch):
            rdr.back()
            break
        sb.append(ch)

    s = "".join(sb)
    n = integer(int(s))
    return n
Esempio n. 3
0
    def test_count(self):
        lst = rt.list.invoke0()
        assert rt.count.invoke1(lst).int() == 0

        lst = rt.list.invoke1(integer(1))
        assert rt.count.invoke1(lst).int() == 1

        lst = rt.list.invoke2(integer(2), integer(1))
        assert rt.count.invoke1(lst).int() == 2

        lst = rt.list.invoke3(integer(1), integer(3), integer(1))
        assert rt.count.invoke1(lst).int() == 3
Esempio n. 4
0
def persistent_array_count(self):
    return integer(len(self._data_w) / 2)
Esempio n. 5
0
def persistent_array_vector_count(self):
    return integer(len(self.lst_w))
Esempio n. 6
0
def persistent_list_count(self):
    return integer(self._count)
Esempio n. 7
0
def run_benchmark(times):
    c = list.invoke_args([symbol(None, "+"), integer(2), integer(3)])

    return eval(c).int()
Esempio n. 8
0
 def test_add(self):
     lst = rt.list.invoke_args([symbol(None, "+"), integer(1), integer(2)])
     result = eval(lst)
     assertEqual(self, result, integer(3))
Esempio n. 9
0
 def test_int(self):
     result = eval(integer(1))
     assertEqual(self, result, integer(1))