Exemplo n.º 1
0
from driver import testCase

testCase(
    "620",
    """
(define (thefunc) (* (/ (- 50 10) 2) (+ 30 1)))
(define (smain) (thefunc))
""",
)

testCase(
    "620",
    """
(define (thefunc a b) (* (/ (- a b) 2) (+ 30 1)))
(define (smain) (thefunc 50 10))
""",
)
Exemplo n.º 2
0
from driver import testCase

testCase('100', """
(define (smain)
    (let ((a 42) (b 43) (c 99))
        (- (+ c b) a)
    )
)
""")

testCase('97', """
(define (smain)
    (let ((a (+ 42 1)) (b (* 43 3)) (c (/ 99 9)))
        (- (+ c b) a)
    )
)
""")

from driver import testCase

testCase('620', "(define (smain) (* (/ (- 50 10) 2) (+ 30 1)))")

Exemplo n.º 4
0
from driver import testCase

testCase('42', "(define (smain) 42)")
testCase('99', "(define (smain) 99)")
testCase('-123941234', "(define (smain) -123941234)")

Exemplo n.º 5
0
from driver import testCase

testCase("25", "(define (smain) (+ 20 5))")
testCase("15", "(define (smain) (- 20 5))")
testCase("100", "(define (smain) (* 20 5))")
testCase("4", "(define (smain) (/ 20 5))")
testCase("0", "(define (smain) (% 20 5))")
testCase("21", "(define (smain) (| 20 1))")
testCase("0", "(define (smain) (& 20 1))")
testCase("21", "(define (smain) (^ 20 1))")
testCase("16", "(define (smain) (^ 20 4))")
testCase("10", "(define (smain) (>> 20 1))")
testCase("40", "(define (smain) (<< 20 1))")
from driver import testCase


testCase('4', """
(define ((: smain u8))
    (+u8 250 10)
)
""")

testCase('28', """
(define ((: smain u8))
    (let (
        ((: a u8) 250)
        ((: b u8) 10)
        ((: c u8) 7)
        )
        (*u8 (+u8 a b) c)
    )
)
""")

testCase('4', """
(define ((: foo u8) (: a u8) (: b u8))
    (+u8 a b)
)

(define ((: smain u8))
    (foo 250 10)
)
""")
Exemplo n.º 7
0
from driver import testCase

testCase('8', """
(define a 42)
(define b 50)

(define (smain)
    (- b a)
)
""")
from driver import testCase

testCase('-4', """
(define (smain)
    (+ 8 -12)
)
""")

testCase('-10', """
(define (smain)
    (/ -50 5)
)
""")

testCase('-3', """
(define (smain)
    (% -53 5)
)
""")