Added more tests
This commit is contained in:
@ -37,6 +37,8 @@ func (f *Function) CompileAssign(node *ast.Assign) error {
|
||||
|
||||
switch leftValue := leftValue.(type) {
|
||||
case *eval.Register:
|
||||
// TODO: Reservation needs to be canceled on defer
|
||||
f.CurrentScope().Reserve(leftValue.Register)
|
||||
f.Execute(operation, leftValue.Register, right)
|
||||
case *eval.Memory:
|
||||
// TODO: Reservation needs to be canceled on defer
|
||||
|
9
tests/programs/add.q
Normal file
9
tests/programs/add.q
Normal file
@ -0,0 +1,9 @@
|
||||
main() {
|
||||
assert 0 + 0 == 0
|
||||
assert 1 + 1 == 2
|
||||
assert 1 + 2 == 3
|
||||
assert 2 + 1 == 3
|
||||
assert 2 + 2 == 4
|
||||
assert 4 + 2 == 6
|
||||
assert 8 + 2 == 10
|
||||
}
|
9
tests/programs/div.q
Normal file
9
tests/programs/div.q
Normal file
@ -0,0 +1,9 @@
|
||||
main() {
|
||||
assert 0 / 1 == 0
|
||||
assert 1 / 1 == 1
|
||||
assert 1 / 2 == 0
|
||||
assert 2 / 1 == 2
|
||||
assert 2 / 2 == 1
|
||||
assert 4 / 2 == 2
|
||||
assert 8 / 2 == 4
|
||||
}
|
9
tests/programs/mul.q
Normal file
9
tests/programs/mul.q
Normal file
@ -0,0 +1,9 @@
|
||||
main() {
|
||||
assert 0 * 0 == 0
|
||||
assert 1 * 1 == 1
|
||||
assert 1 * 2 == 2
|
||||
assert 2 * 1 == 2
|
||||
assert 2 * 2 == 4
|
||||
assert 4 * 2 == 8
|
||||
assert 8 * 2 == 16
|
||||
}
|
9
tests/programs/sub.q
Normal file
9
tests/programs/sub.q
Normal file
@ -0,0 +1,9 @@
|
||||
main() {
|
||||
assert 0 - 0 == 0
|
||||
assert 1 - 1 == 0
|
||||
assert 1 - 2 == -1
|
||||
assert 2 - 1 == 1
|
||||
assert 2 - 2 == 0
|
||||
assert 4 - 2 == 2
|
||||
assert 8 - 2 == 6
|
||||
}
|
@ -26,6 +26,10 @@ var programs = []struct {
|
||||
{"reuse", 0},
|
||||
{"return", 0},
|
||||
{"return-multi", 0},
|
||||
{"add", 0},
|
||||
{"sub", 0},
|
||||
{"mul", 0},
|
||||
{"div", 0},
|
||||
{"math", 0},
|
||||
{"precedence", 0},
|
||||
{"operator-number", 0},
|
||||
|
Reference in New Issue
Block a user