Added more tests
This commit is contained in:
parent
b7d76ff3e3
commit
e367b664bb
6 changed files with 42 additions and 0 deletions
|
@ -37,6 +37,8 @@ func (f *Function) CompileAssign(node *ast.Assign) error {
|
||||||
|
|
||||||
switch leftValue := leftValue.(type) {
|
switch leftValue := leftValue.(type) {
|
||||||
case *eval.Register:
|
case *eval.Register:
|
||||||
|
// TODO: Reservation needs to be canceled on defer
|
||||||
|
f.CurrentScope().Reserve(leftValue.Register)
|
||||||
f.Execute(operation, leftValue.Register, right)
|
f.Execute(operation, leftValue.Register, right)
|
||||||
case *eval.Memory:
|
case *eval.Memory:
|
||||||
// TODO: Reservation needs to be canceled on defer
|
// 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},
|
{"reuse", 0},
|
||||||
{"return", 0},
|
{"return", 0},
|
||||||
{"return-multi", 0},
|
{"return-multi", 0},
|
||||||
|
{"add", 0},
|
||||||
|
{"sub", 0},
|
||||||
|
{"mul", 0},
|
||||||
|
{"div", 0},
|
||||||
{"math", 0},
|
{"math", 0},
|
||||||
{"precedence", 0},
|
{"precedence", 0},
|
||||||
{"operator-number", 0},
|
{"operator-number", 0},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue