diff --git a/build/.ninja_deps b/build/.ninja_deps index 42530f5..be26353 100644 Binary files a/build/.ninja_deps and b/build/.ninja_deps differ diff --git a/build/.ninja_log b/build/.ninja_log index 0797c25..c2fa57a 100644 --- a/build/.ninja_log +++ b/build/.ninja_log @@ -11,14 +11,14 @@ 9 9708 1781873515651752771 CMakeFiles/saqut.dir/src/parser/nodes/binary_expr.cpp.o 5cc8b697133bcf64 9 7206 1781873515651861333 CMakeFiles/saqut.dir/src/parser/nodes/declarations.cpp.o c3d262615ede4c95 9 4452 1781874491015670524 CMakeFiles/saqut.dir/src/main.cpp.o 3cfef7a665d5bf87 -4452 4694 1781874495457230305 saqut f2e198803c4dbffb -0 22 1781874572087843675 build.ninja 1876a59d627a585 -0 22 1781874572087777897 /home/saqut/Masaüstü/saqutcompiler/build/cmake_install.cmake 1876a59d627a585 +2704 2946 1781874878915205117 saqut f2e198803c4dbffb +0 22 1781874924882965311 build.ninja 1876a59d627a585 +0 22 1781874924882905555 /home/saqut/Masaüstü/saqutcompiler/build/cmake_install.cmake 1876a59d627a585 8261 13474 1781873523902721486 CMakeFiles/saqut.dir/src/symbol/symbol_collector.cpp.o ec4e483b8ddb4007 5962 11851 1781873521603816495 CMakeFiles/saqut.dir/src/semantic/structural_validator.cpp.o 248faa3675024351 7206 12730 1781873522847765087 CMakeFiles/saqut.dir/src/semantic/type_checker.cpp.o b29c133293d988b0 9874 11363 1781873525515654821 CMakeFiles/saqut.dir/src/vm/interpreter.cpp.o b7dd80e002d68a1d 9 1858 1781873515651218159 CMakeFiles/saqut.dir/src/ir/ir_function.cpp.o 10f5e8dfd1461d69 9 1821 1781873515651428931 CMakeFiles/saqut.dir/src/ir/ir_program.cpp.o 9518231d970828da -9 2803 1781874491014415953 CMakeFiles/saqut.dir/src/ir/ir_generator.cpp.o 10a1ed4e1f52e530 -0 8 1781874491005416329 /home/saqut/Masaüstü/saqutcompiler/build/CMakeFiles/cmake.verify_globs 1813c41e0f312d7e +9 2704 1781874876220317748 CMakeFiles/saqut.dir/src/ir/ir_generator.cpp.o 10a1ed4e1f52e530 +1 8 1781874876212318082 /home/saqut/Masaüstü/saqutcompiler/build/CMakeFiles/cmake.verify_globs 1813c41e0f312d7e diff --git a/build/CMakeFiles/VerifyGlobs.cmake b/build/CMakeFiles/VerifyGlobs.cmake index 5409649..341479f 100644 --- a/build/CMakeFiles/VerifyGlobs.cmake +++ b/build/CMakeFiles/VerifyGlobs.cmake @@ -7,6 +7,7 @@ set(OLD_GLOB "/home/saqut/Masaüstü/saqutcompiler/tests/golden/arithmetic/basic.sqt" "/home/saqut/Masaüstü/saqutcompiler/tests/golden/arithmetic/precedence.sqt" "/home/saqut/Masaüstü/saqutcompiler/tests/golden/fibonacci/fib.sqt" + "/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/not_operator.sqt" "/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/short_circuit.sqt" "/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/basic.sqt" "/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/do_while_once.sqt" diff --git a/build/CTestTestfile.cmake b/build/CTestTestfile.cmake index bff65f5..23d325b 100644 --- a/build/CTestTestfile.cmake +++ b/build/CTestTestfile.cmake @@ -12,6 +12,8 @@ add_test(golden_arithmetic_precedence "/usr/bin/cmake" "-DBINARY=/home/saqut/Mas set_tests_properties(golden_arithmetic_precedence PROPERTIES _BACKTRACE_TRIPLES "/home/saqut/Masaüstü/saqutcompiler/CMakeLists.txt;51;add_test;/home/saqut/Masaüstü/saqutcompiler/CMakeLists.txt;0;") add_test(golden_fibonacci_fib "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/fibonacci/fib.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/fibonacci/fib.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake") set_tests_properties(golden_fibonacci_fib PROPERTIES _BACKTRACE_TRIPLES "/home/saqut/Masaüstü/saqutcompiler/CMakeLists.txt;51;add_test;/home/saqut/Masaüstü/saqutcompiler/CMakeLists.txt;0;") +add_test(golden_logic_not_operator "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/not_operator.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/not_operator.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake") +set_tests_properties(golden_logic_not_operator PROPERTIES _BACKTRACE_TRIPLES "/home/saqut/Masaüstü/saqutcompiler/CMakeLists.txt;51;add_test;/home/saqut/Masaüstü/saqutcompiler/CMakeLists.txt;0;") add_test(golden_logic_short_circuit "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/short_circuit.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/short_circuit.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake") set_tests_properties(golden_logic_short_circuit PROPERTIES _BACKTRACE_TRIPLES "/home/saqut/Masaüstü/saqutcompiler/CMakeLists.txt;51;add_test;/home/saqut/Masaüstü/saqutcompiler/CMakeLists.txt;0;") add_test(golden_loops_basic "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/basic.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/basic.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake") diff --git a/build/Testing/Temporary/CTestCostData.txt b/build/Testing/Temporary/CTestCostData.txt index 5ff763f..7e972ad 100644 --- a/build/Testing/Temporary/CTestCostData.txt +++ b/build/Testing/Temporary/CTestCostData.txt @@ -1,19 +1,20 @@ -unit_tests 12 0.383222 -golden_arithmetic_basic 12 0.00103142 -golden_fibonacci_fib 12 0.000916418 -golden_string_hello 12 0.000742352 -golden_arithmetic_precedence 11 0.000902075 -golden_loops_basic 11 0.000863198 -golden_loops_do_while_once 11 0.000996616 +unit_tests 13 0.352436 +golden_arithmetic_basic 13 0.000652347 +golden_fibonacci_fib 13 0.000724591 +golden_string_hello 13 0.00072588 +golden_arithmetic_precedence 12 0.000714208 +golden_loops_basic 12 0.000810632 +golden_loops_do_while_once 12 0.000818169 golden_opt_dce 2 0.00441751 golden_opt_folding 2 0.00456844 -golden_opt_dce_ir_opt 9 0.00109281 -golden_opt_folding_ir_opt 9 0.00105492 -golden_opt_run_opt 7 0.00244026 -golden_opt_run_opt_run_opt 7 0.0014659 -golden_logic_short_circuit 3 0.00318302 -golden_loops_do_while_truthy 2 0.00508981 -golden_loops_for_break_continue 1 0.0102576 -golden_loops_nested_break 1 0.00991625 -golden_loops_while_break_continue 1 0.00901491 +golden_opt_dce_ir_opt 10 0.00095937 +golden_opt_folding_ir_opt 10 0.000934146 +golden_opt_run_opt 8 0.00122626 +golden_opt_run_opt_run_opt 8 0.00120176 +golden_logic_short_circuit 4 0.00248143 +golden_loops_do_while_truthy 3 0.00308889 +golden_loops_for_break_continue 2 0.00483077 +golden_loops_nested_break 2 0.0049106 +golden_loops_while_break_continue 2 0.00473685 +golden_logic_not_operator 1 0.00930197 --- diff --git a/build/Testing/Temporary/LastTest.log b/build/Testing/Temporary/LastTest.log index 14d83c1..8e41c6d 100644 --- a/build/Testing/Temporary/LastTest.log +++ b/build/Testing/Temporary/LastTest.log @@ -1,10 +1,10 @@ -Start testing: Jun 19 16:09 +03 +Start testing: Jun 19 16:15 +03 ---------------------------------------------------------- -1/16 Testing: unit_tests -1/16 Test: unit_tests +1/17 Testing: unit_tests +1/17 Test: unit_tests Command: "/usr/bin/bash" "/home/saqut/Masaüstü/saqutcompiler/tests/run.sh" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"unit_tests" start time: Jun 19 16:09 +03 +"unit_tests" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- === test_type === @@ -21,236 +21,251 @@ test.sqt:12:1: uyarı [W001]: y kullanılmıyor test_diagnostic: TUM TESTLER GECTI === TUM TESTLER GECTI === -Test time = 4.60 sec +Test time = 4.58 sec ---------------------------------------------------------- Test Passed. -"unit_tests" end time: Jun 19 16:09 +03 +"unit_tests" end time: Jun 19 16:15 +03 "unit_tests" time elapsed: 00:00:04 ---------------------------------------------------------- -2/16 Testing: golden_arithmetic_basic -2/16 Test: golden_arithmetic_basic +2/17 Testing: golden_arithmetic_basic +2/17 Test: golden_arithmetic_basic Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/arithmetic/basic.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/arithmetic/basic.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_arithmetic_basic" start time: Jun 19 16:09 +03 +"golden_arithmetic_basic" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_arithmetic_basic" end time: Jun 19 16:09 +03 +"golden_arithmetic_basic" end time: Jun 19 16:15 +03 "golden_arithmetic_basic" time elapsed: 00:00:00 ---------------------------------------------------------- -3/16 Testing: golden_arithmetic_precedence -3/16 Test: golden_arithmetic_precedence +3/17 Testing: golden_arithmetic_precedence +3/17 Test: golden_arithmetic_precedence Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/arithmetic/precedence.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/arithmetic/precedence.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_arithmetic_precedence" start time: Jun 19 16:09 +03 +"golden_arithmetic_precedence" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_arithmetic_precedence" end time: Jun 19 16:09 +03 +"golden_arithmetic_precedence" end time: Jun 19 16:15 +03 "golden_arithmetic_precedence" time elapsed: 00:00:00 ---------------------------------------------------------- -4/16 Testing: golden_fibonacci_fib -4/16 Test: golden_fibonacci_fib +4/17 Testing: golden_fibonacci_fib +4/17 Test: golden_fibonacci_fib Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/fibonacci/fib.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/fibonacci/fib.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_fibonacci_fib" start time: Jun 19 16:09 +03 +"golden_fibonacci_fib" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_fibonacci_fib" end time: Jun 19 16:09 +03 +"golden_fibonacci_fib" end time: Jun 19 16:15 +03 "golden_fibonacci_fib" time elapsed: 00:00:00 ---------------------------------------------------------- -5/16 Testing: golden_logic_short_circuit -5/16 Test: golden_logic_short_circuit -Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/short_circuit.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/short_circuit.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" +5/17 Testing: golden_logic_not_operator +5/17 Test: golden_logic_not_operator +Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/not_operator.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/not_operator.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_logic_short_circuit" start time: Jun 19 16:09 +03 +"golden_logic_not_operator" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_logic_short_circuit" end time: Jun 19 16:09 +03 +"golden_logic_not_operator" end time: Jun 19 16:15 +03 +"golden_logic_not_operator" time elapsed: 00:00:00 +---------------------------------------------------------- + +6/17 Testing: golden_logic_short_circuit +6/17 Test: golden_logic_short_circuit +Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/short_circuit.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/logic/short_circuit.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" +Directory: /home/saqut/Masaüstü/saqutcompiler/build +"golden_logic_short_circuit" start time: Jun 19 16:15 +03 +Output: +---------------------------------------------------------- + +Test time = 0.01 sec +---------------------------------------------------------- +Test Passed. +"golden_logic_short_circuit" end time: Jun 19 16:15 +03 "golden_logic_short_circuit" time elapsed: 00:00:00 ---------------------------------------------------------- -6/16 Testing: golden_loops_basic -6/16 Test: golden_loops_basic +7/17 Testing: golden_loops_basic +7/17 Test: golden_loops_basic Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/basic.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/basic.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_loops_basic" start time: Jun 19 16:09 +03 +"golden_loops_basic" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_loops_basic" end time: Jun 19 16:09 +03 +"golden_loops_basic" end time: Jun 19 16:15 +03 "golden_loops_basic" time elapsed: 00:00:00 ---------------------------------------------------------- -7/16 Testing: golden_loops_do_while_once -7/16 Test: golden_loops_do_while_once +8/17 Testing: golden_loops_do_while_once +8/17 Test: golden_loops_do_while_once Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/do_while_once.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/do_while_once.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_loops_do_while_once" start time: Jun 19 16:09 +03 +"golden_loops_do_while_once" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_loops_do_while_once" end time: Jun 19 16:09 +03 +"golden_loops_do_while_once" end time: Jun 19 16:15 +03 "golden_loops_do_while_once" time elapsed: 00:00:00 ---------------------------------------------------------- -8/16 Testing: golden_loops_do_while_truthy -8/16 Test: golden_loops_do_while_truthy +9/17 Testing: golden_loops_do_while_truthy +9/17 Test: golden_loops_do_while_truthy Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/do_while_truthy.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/do_while_truthy.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_loops_do_while_truthy" start time: Jun 19 16:09 +03 +"golden_loops_do_while_truthy" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_loops_do_while_truthy" end time: Jun 19 16:09 +03 +"golden_loops_do_while_truthy" end time: Jun 19 16:15 +03 "golden_loops_do_while_truthy" time elapsed: 00:00:00 ---------------------------------------------------------- -9/16 Testing: golden_loops_for_break_continue -9/16 Test: golden_loops_for_break_continue +10/17 Testing: golden_loops_for_break_continue +10/17 Test: golden_loops_for_break_continue Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/for_break_continue.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/for_break_continue.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_loops_for_break_continue" start time: Jun 19 16:09 +03 +"golden_loops_for_break_continue" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_loops_for_break_continue" end time: Jun 19 16:09 +03 +"golden_loops_for_break_continue" end time: Jun 19 16:15 +03 "golden_loops_for_break_continue" time elapsed: 00:00:00 ---------------------------------------------------------- -10/16 Testing: golden_loops_nested_break -10/16 Test: golden_loops_nested_break +11/17 Testing: golden_loops_nested_break +11/17 Test: golden_loops_nested_break Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/nested_break.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/nested_break.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_loops_nested_break" start time: Jun 19 16:09 +03 +"golden_loops_nested_break" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_loops_nested_break" end time: Jun 19 16:09 +03 +"golden_loops_nested_break" end time: Jun 19 16:15 +03 "golden_loops_nested_break" time elapsed: 00:00:00 ---------------------------------------------------------- -11/16 Testing: golden_loops_while_break_continue -11/16 Test: golden_loops_while_break_continue +12/17 Testing: golden_loops_while_break_continue +12/17 Test: golden_loops_while_break_continue Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/while_break_continue.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/loops/while_break_continue.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_loops_while_break_continue" start time: Jun 19 16:09 +03 +"golden_loops_while_break_continue" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_loops_while_break_continue" end time: Jun 19 16:09 +03 +"golden_loops_while_break_continue" end time: Jun 19 16:15 +03 "golden_loops_while_break_continue" time elapsed: 00:00:00 ---------------------------------------------------------- -12/16 Testing: golden_opt_dce_ir_opt -12/16 Test: golden_opt_dce_ir_opt +13/17 Testing: golden_opt_dce_ir_opt +13/17 Test: golden_opt_dce_ir_opt Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/opt/dce.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/opt/dce.ir_opt.expected" "-DCOMMAND=ir" "-DOPTIMIZED=1" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_opt_dce_ir_opt" start time: Jun 19 16:09 +03 +"golden_opt_dce_ir_opt" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_opt_dce_ir_opt" end time: Jun 19 16:09 +03 +"golden_opt_dce_ir_opt" end time: Jun 19 16:15 +03 "golden_opt_dce_ir_opt" time elapsed: 00:00:00 ---------------------------------------------------------- -13/16 Testing: golden_opt_folding_ir_opt -13/16 Test: golden_opt_folding_ir_opt +14/17 Testing: golden_opt_folding_ir_opt +14/17 Test: golden_opt_folding_ir_opt Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/opt/folding.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/opt/folding.ir_opt.expected" "-DCOMMAND=ir" "-DOPTIMIZED=1" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_opt_folding_ir_opt" start time: Jun 19 16:09 +03 +"golden_opt_folding_ir_opt" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_opt_folding_ir_opt" end time: Jun 19 16:09 +03 +"golden_opt_folding_ir_opt" end time: Jun 19 16:15 +03 "golden_opt_folding_ir_opt" time elapsed: 00:00:00 ---------------------------------------------------------- -14/16 Testing: golden_opt_run_opt -14/16 Test: golden_opt_run_opt +15/17 Testing: golden_opt_run_opt +15/17 Test: golden_opt_run_opt Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/opt/run_opt.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/opt/run_opt.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_opt_run_opt" start time: Jun 19 16:09 +03 +"golden_opt_run_opt" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- -Test time = 0.02 sec +Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_opt_run_opt" end time: Jun 19 16:09 +03 +"golden_opt_run_opt" end time: Jun 19 16:15 +03 "golden_opt_run_opt" time elapsed: 00:00:00 ---------------------------------------------------------- -15/16 Testing: golden_opt_run_opt_run_opt -15/16 Test: golden_opt_run_opt_run_opt +16/17 Testing: golden_opt_run_opt_run_opt +16/17 Test: golden_opt_run_opt_run_opt Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/opt/run_opt.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/opt/run_opt.run_opt.expected" "-DOPTIMIZED=1" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_opt_run_opt_run_opt" start time: Jun 19 16:09 +03 +"golden_opt_run_opt_run_opt" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_opt_run_opt_run_opt" end time: Jun 19 16:09 +03 +"golden_opt_run_opt_run_opt" end time: Jun 19 16:15 +03 "golden_opt_run_opt_run_opt" time elapsed: 00:00:00 ---------------------------------------------------------- -16/16 Testing: golden_string_hello -16/16 Test: golden_string_hello +17/17 Testing: golden_string_hello +17/17 Test: golden_string_hello Command: "/usr/bin/cmake" "-DBINARY=/home/saqut/Masaüstü/saqutcompiler/build/saqut" "-DSOURCE=/home/saqut/Masaüstü/saqutcompiler/tests/golden/string/hello.sqt" "-DEXPECTED=/home/saqut/Masaüstü/saqutcompiler/tests/golden/string/hello.expected" "-P" "/home/saqut/Masaüstü/saqutcompiler/cmake/run_golden.cmake" Directory: /home/saqut/Masaüstü/saqutcompiler/build -"golden_string_hello" start time: Jun 19 16:09 +03 +"golden_string_hello" start time: Jun 19 16:15 +03 Output: ---------------------------------------------------------- Test time = 0.01 sec ---------------------------------------------------------- Test Passed. -"golden_string_hello" end time: Jun 19 16:09 +03 +"golden_string_hello" end time: Jun 19 16:15 +03 "golden_string_hello" time elapsed: 00:00:00 ---------------------------------------------------------- -End testing: Jun 19 16:09 +03 +End testing: Jun 19 16:15 +03 diff --git a/src/ir/ir_generator.cpp b/src/ir/ir_generator.cpp index e4e4570..b45e4af 100644 --- a/src/ir/ir_generator.cpp +++ b/src/ir/ir_generator.cpp @@ -409,8 +409,13 @@ int IRGenerator::generateExpression(ASTNode* node) { int zeroSlot = freshSlot(); emitLoadConst(zeroSlot, 0); emitBinaryOp(Opcode::SUB, resultSlot, zeroSlot, operandSlot); + } else if (bin->Operator == TokenType::BANG) { + // !x → (x == 0): sıfırsa 1, değilse 0 — her zaman 0 ya da 1 + int zeroSlot = freshSlot(); + emitLoadConst(zeroSlot, 0); + emitBinaryOp(Opcode::EQUAL_EQUAL, resultSlot, operandSlot, zeroSlot); } else { - // Diğer unary operatörler → TODO + // Diğer unary operatörler (ör. ~) → TODO emitLoadSlot(resultSlot, operandSlot); } return resultSlot; diff --git a/tests/golden/logic/not_operator.expected b/tests/golden/logic/not_operator.expected new file mode 100644 index 0000000..33f911e --- /dev/null +++ b/tests/golden/logic/not_operator.expected @@ -0,0 +1,5 @@ +1 +0 +1 +0 +1 diff --git a/tests/golden/logic/not_operator.sqt b/tests/golden/logic/not_operator.sqt new file mode 100644 index 0000000..ac6d93c --- /dev/null +++ b/tests/golden/logic/not_operator.sqt @@ -0,0 +1,28 @@ +// ! operatörü golden testi — değişken operandlar (bozuk olan yol). +// Sabit operandlar sabit katlama tarafından derleme zamanında hesaplanır; +// bu test IR üretim yolunu zorlayan değişken operandlar kullanır. +// +// Tanım: !x → sıfırsa 1, değilse 0. Sonuç her zaman 0 ya da 1. + +int main() { + int z = 0; + int n = 5; + + // Temel: !0 → 1, !5 → 0 + print(!z); + print(!n); + + // Çift değil normalleştirme: !!5 → 1, !!0 → 0 + print(!!n); + print(!!z); + + // if (!x) dallanma: z=0 iken gövde çalışmalı, n=5 iken çalışmamalı + if (!z) { + print(1); + } + if (!n) { + print(0); + } + + return 0; +}