From c67246c99a08b2c198ef551d5ef115c960aa5eb1 Mon Sep 17 00:00:00 2001 From: saqut Date: Thu, 18 Jun 2026 22:33:19 +0300 Subject: [PATCH] =?UTF-8?q?test:=20golden=20testler=20=E2=80=94=20operat?= =?UTF-8?q?=C3=B6r=20=C3=B6nceli=C4=9Fi,=20d=C3=B6ng=C3=BCler,=20folding,?= =?UTF-8?q?=20DCE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #99, #100, #104, #105 - arithmetic/precedence: Pratt öncelik + sol-birliktelik + modulo - loops/basic: while/do-while/for üçü de 0,1,2 üretiyor - loops/do_while_once: koşul baştan yanlış, gövde yine de bir kez çalışıyor - opt/folding: sabit katlama çıktısı (14,3,1,0,1,0,0) - opt/dce: ölü return sonrası kod programı etkilemiyor (10,0,0) 9/9 ctest geçti --- tests/golden/arithmetic/precedence.expected | 6 ++++++ tests/golden/arithmetic/precedence.sqt | 9 +++++++++ tests/golden/loops/basic.expected | 9 +++++++++ tests/golden/loops/basic.sqt | 18 ++++++++++++++++++ tests/golden/loops/do_while_once.expected | 1 + tests/golden/loops/do_while_once.sqt | 8 ++++++++ tests/golden/opt/dce.expected | 3 +++ tests/golden/opt/dce.sqt | 14 ++++++++++++++ tests/golden/opt/folding.expected | 7 +++++++ tests/golden/opt/folding.sqt | 10 ++++++++++ 10 files changed, 85 insertions(+) create mode 100644 tests/golden/arithmetic/precedence.expected create mode 100644 tests/golden/arithmetic/precedence.sqt create mode 100644 tests/golden/loops/basic.expected create mode 100644 tests/golden/loops/basic.sqt create mode 100644 tests/golden/loops/do_while_once.expected create mode 100644 tests/golden/loops/do_while_once.sqt create mode 100644 tests/golden/opt/dce.expected create mode 100644 tests/golden/opt/dce.sqt create mode 100644 tests/golden/opt/folding.expected create mode 100644 tests/golden/opt/folding.sqt diff --git a/tests/golden/arithmetic/precedence.expected b/tests/golden/arithmetic/precedence.expected new file mode 100644 index 0000000..7738093 --- /dev/null +++ b/tests/golden/arithmetic/precedence.expected @@ -0,0 +1,6 @@ +7 +9 +3 +3 +1 +11 diff --git a/tests/golden/arithmetic/precedence.sqt b/tests/golden/arithmetic/precedence.sqt new file mode 100644 index 0000000..c028751 --- /dev/null +++ b/tests/golden/arithmetic/precedence.sqt @@ -0,0 +1,9 @@ +int main() { + print(1 + 2 * 3); + print((1 + 2) * 3); + print(10 - 4 - 3); + print(10 / 3); + print(10 % 3); + print(2 + 3 * 4 - 6 / 2); + return 0; +} diff --git a/tests/golden/loops/basic.expected b/tests/golden/loops/basic.expected new file mode 100644 index 0000000..7278d7b --- /dev/null +++ b/tests/golden/loops/basic.expected @@ -0,0 +1,9 @@ +0 +1 +2 +0 +1 +2 +0 +1 +2 diff --git a/tests/golden/loops/basic.sqt b/tests/golden/loops/basic.sqt new file mode 100644 index 0000000..aa532ad --- /dev/null +++ b/tests/golden/loops/basic.sqt @@ -0,0 +1,18 @@ +int main() { + int i = 0; + while (i < 3) { + print(i); + i = i + 1; + } + + int j = 0; + do { + print(j); + j = j + 1; + } while (j < 3); + + for (int k = 0; k < 3; k = k + 1) { + print(k); + } + return 0; +} diff --git a/tests/golden/loops/do_while_once.expected b/tests/golden/loops/do_while_once.expected new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/tests/golden/loops/do_while_once.expected @@ -0,0 +1 @@ +5 diff --git a/tests/golden/loops/do_while_once.sqt b/tests/golden/loops/do_while_once.sqt new file mode 100644 index 0000000..8f386b8 --- /dev/null +++ b/tests/golden/loops/do_while_once.sqt @@ -0,0 +1,8 @@ +int main() { + int x = 5; + do { + print(x); + x = x + 1; + } while (x < 0); + return 0; +} diff --git a/tests/golden/opt/dce.expected b/tests/golden/opt/dce.expected new file mode 100644 index 0000000..f6c35ff --- /dev/null +++ b/tests/golden/opt/dce.expected @@ -0,0 +1,3 @@ +10 +0 +0 diff --git a/tests/golden/opt/dce.sqt b/tests/golden/opt/dce.sqt new file mode 100644 index 0000000..30b7176 --- /dev/null +++ b/tests/golden/opt/dce.sqt @@ -0,0 +1,14 @@ +int hesapla(int n) { + if (n > 0) { + return n * 2; + print(99); + } + return 0; +} + +int main() { + print(hesapla(5)); + print(hesapla(0)); + print(hesapla(-3)); + return 0; +} diff --git a/tests/golden/opt/folding.expected b/tests/golden/opt/folding.expected new file mode 100644 index 0000000..2198d1f --- /dev/null +++ b/tests/golden/opt/folding.expected @@ -0,0 +1,7 @@ +14 +3 +1 +0 +1 +0 +0 diff --git a/tests/golden/opt/folding.sqt b/tests/golden/opt/folding.sqt new file mode 100644 index 0000000..a428d9b --- /dev/null +++ b/tests/golden/opt/folding.sqt @@ -0,0 +1,10 @@ +int main() { + print(2 + 3 * 4); + print((10 - 4) / 2); + print(1 == 1); + print(0 == 1); + print(1 + 2 == 3); + print(0 && 1); + print(1 || 0); + return 0; +}