From 967be9e750221ab2ab783f95df79bb26d290a45e Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:07:58 +0200 Subject: add: added projects --- .../tests/llvmtranslate/array_value_compared_to_int.tig | 6 ++++++ .../tests/llvmtranslate/record_field_compared_to_int.tig | 6 ++++++ tiger-compiler/tests/llvmtranslate/simple_addition.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_array_int.tig | 7 +++++++ tiger-compiler/tests/llvmtranslate/simple_array_record.tig | 8 ++++++++ tiger-compiler/tests/llvmtranslate/simple_array_string.tig | 7 +++++++ tiger-compiler/tests/llvmtranslate/simple_assignment_int.tig | 5 +++++ .../tests/llvmtranslate/simple_assignment_string.tig | 5 +++++ .../tests/llvmtranslate/simple_consecutive_ifs.tig | 12 ++++++++++++ .../tests/llvmtranslate/simple_declaration_int.tig | 5 +++++ .../tests/llvmtranslate/simple_declaration_string.tig | 5 +++++ tiger-compiler/tests/llvmtranslate/simple_division.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_equal.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_equal_string.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_for.tig | 5 +++++ tiger-compiler/tests/llvmtranslate/simple_for_break.tig | 6 ++++++ tiger-compiler/tests/llvmtranslate/simple_funcall_in_if.tig | 9 +++++++++ tiger-compiler/tests/llvmtranslate/simple_function_int.tig | 5 +++++ .../tests/llvmtranslate/simple_function_int_escaped.tig | 6 ++++++ .../tests/llvmtranslate/simple_function_int_param.tig | 5 +++++ .../tests/llvmtranslate/simple_function_int_param_return.tig | 5 +++++ .../tests/llvmtranslate/simple_function_string.tig | 5 +++++ tiger-compiler/tests/llvmtranslate/simple_greater_than.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_if.tig | 4 ++++ tiger-compiler/tests/llvmtranslate/simple_if_no_else.tig | 6 ++++++ tiger-compiler/tests/llvmtranslate/simple_int.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_lesser_than.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_multiplication.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_nested_ifs.tig | 7 +++++++ tiger-compiler/tests/llvmtranslate/simple_nil.tig | 9 +++++++++ tiger-compiler/tests/llvmtranslate/simple_not_equal.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_primitive_call.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_record.tig | 9 +++++++++ tiger-compiler/tests/llvmtranslate/simple_sequence_int.tig | 8 ++++++++ tiger-compiler/tests/llvmtranslate/simple_sequence_void.tig | 4 ++++ tiger-compiler/tests/llvmtranslate/simple_string.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_subtraction.tig | 1 + tiger-compiler/tests/llvmtranslate/simple_while.tig | 9 +++++++++ tiger-compiler/tests/llvmtranslate/simple_while_break.tig | 10 ++++++++++ .../tests/llvmtranslate/variable_compared_to_int.tig | 5 +++++ .../tests/llvmtranslate/variable_compared_to_variable.tig | 6 ++++++ 41 files changed, 201 insertions(+) create mode 100644 tiger-compiler/tests/llvmtranslate/array_value_compared_to_int.tig create mode 100644 tiger-compiler/tests/llvmtranslate/record_field_compared_to_int.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_addition.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_array_int.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_array_record.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_array_string.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_assignment_int.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_assignment_string.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_consecutive_ifs.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_declaration_int.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_declaration_string.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_division.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_equal.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_equal_string.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_for.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_for_break.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_funcall_in_if.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_function_int.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_function_int_escaped.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_function_int_param.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_function_int_param_return.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_function_string.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_greater_than.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_if.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_if_no_else.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_int.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_lesser_than.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_multiplication.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_nested_ifs.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_nil.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_not_equal.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_primitive_call.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_record.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_sequence_int.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_sequence_void.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_string.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_subtraction.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_while.tig create mode 100644 tiger-compiler/tests/llvmtranslate/simple_while_break.tig create mode 100644 tiger-compiler/tests/llvmtranslate/variable_compared_to_int.tig create mode 100644 tiger-compiler/tests/llvmtranslate/variable_compared_to_variable.tig (limited to 'tiger-compiler/tests/llvmtranslate') diff --git a/tiger-compiler/tests/llvmtranslate/array_value_compared_to_int.tig b/tiger-compiler/tests/llvmtranslate/array_value_compared_to_int.tig new file mode 100644 index 0000000..cc2fbe1 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/array_value_compared_to_int.tig @@ -0,0 +1,6 @@ +let + type arrtype = array of int + var arr1 : arrtype := arrtype [10] of 0 + in + arr1[3] < 1 +end diff --git a/tiger-compiler/tests/llvmtranslate/record_field_compared_to_int.tig b/tiger-compiler/tests/llvmtranslate/record_field_compared_to_int.tig new file mode 100644 index 0000000..41a87ef --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/record_field_compared_to_int.tig @@ -0,0 +1,6 @@ +let + type rectype = {name : string, age : int} + var rec1 : rectype := rectype {name="Nobody", age=1000} + in + rec1.age <> 10 +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_addition.tig b/tiger-compiler/tests/llvmtranslate/simple_addition.tig new file mode 100644 index 0000000..e0ef584 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_addition.tig @@ -0,0 +1 @@ +1 + 2 diff --git a/tiger-compiler/tests/llvmtranslate/simple_array_int.tig b/tiger-compiler/tests/llvmtranslate/simple_array_int.tig new file mode 100644 index 0000000..355c171 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_array_int.tig @@ -0,0 +1,7 @@ +/* an array type and an array variable */ +let + type arrtype = array of int + var arr1 : arrtype := arrtype [10] of 0 +in + arr1[2] +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_array_record.tig b/tiger-compiler/tests/llvmtranslate/simple_array_record.tig new file mode 100644 index 0000000..5af5955 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_array_record.tig @@ -0,0 +1,8 @@ +/* an array type and an array variable */ +let + type rectype = {id: int, name: string, level: int} + type arrtype = array of rectype + var arr1 : arrtype := arrtype [5] of rectype {id = 1, name = "Jeanjean", level = 1} +in + arr1[4] +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_array_string.tig b/tiger-compiler/tests/llvmtranslate/simple_array_string.tig new file mode 100644 index 0000000..00ee8ea --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_array_string.tig @@ -0,0 +1,7 @@ +/* an array type and an array variable */ +let + type arrtype = array of string + var arr1 : arrtype := arrtype [10] of "o" +in + arr1[3] +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_assignment_int.tig b/tiger-compiler/tests/llvmtranslate/simple_assignment_int.tig new file mode 100644 index 0000000..cc3faca --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_assignment_int.tig @@ -0,0 +1,5 @@ +let + var integer := 5 + in + integer := 2 +end \ No newline at end of file diff --git a/tiger-compiler/tests/llvmtranslate/simple_assignment_string.tig b/tiger-compiler/tests/llvmtranslate/simple_assignment_string.tig new file mode 100644 index 0000000..b8ce804 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_assignment_string.tig @@ -0,0 +1,5 @@ +let + var text := "abc" + in + text := "def" +end \ No newline at end of file diff --git a/tiger-compiler/tests/llvmtranslate/simple_consecutive_ifs.tig b/tiger-compiler/tests/llvmtranslate/simple_consecutive_ifs.tig new file mode 100644 index 0000000..6a7399c --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_consecutive_ifs.tig @@ -0,0 +1,12 @@ +let + function nothing (a : int) = a := 42 +in + (if 0 then + nothing(43) + else + nothing(44); + if 1 then + nothing(45) + else + nothing(46)) +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_declaration_int.tig b/tiger-compiler/tests/llvmtranslate/simple_declaration_int.tig new file mode 100644 index 0000000..25ebf75 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_declaration_int.tig @@ -0,0 +1,5 @@ +let + var integer := 5 + in + integer +end \ No newline at end of file diff --git a/tiger-compiler/tests/llvmtranslate/simple_declaration_string.tig b/tiger-compiler/tests/llvmtranslate/simple_declaration_string.tig new file mode 100644 index 0000000..97b9d0a --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_declaration_string.tig @@ -0,0 +1,5 @@ +let + var str := "saucisse" + in + str +end \ No newline at end of file diff --git a/tiger-compiler/tests/llvmtranslate/simple_division.tig b/tiger-compiler/tests/llvmtranslate/simple_division.tig new file mode 100644 index 0000000..85b4d7b --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_division.tig @@ -0,0 +1 @@ +1 / 2 diff --git a/tiger-compiler/tests/llvmtranslate/simple_equal.tig b/tiger-compiler/tests/llvmtranslate/simple_equal.tig new file mode 100644 index 0000000..bf771c3 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_equal.tig @@ -0,0 +1 @@ +1 = 2 diff --git a/tiger-compiler/tests/llvmtranslate/simple_equal_string.tig b/tiger-compiler/tests/llvmtranslate/simple_equal_string.tig new file mode 100644 index 0000000..637f850 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_equal_string.tig @@ -0,0 +1 @@ +"wow" = "owo" diff --git a/tiger-compiler/tests/llvmtranslate/simple_for.tig b/tiger-compiler/tests/llvmtranslate/simple_for.tig new file mode 100644 index 0000000..81465d6 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_for.tig @@ -0,0 +1,5 @@ +for k := 0 to 5 do + ( + k := k + 1; + () + ) diff --git a/tiger-compiler/tests/llvmtranslate/simple_for_break.tig b/tiger-compiler/tests/llvmtranslate/simple_for_break.tig new file mode 100644 index 0000000..df5e561 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_for_break.tig @@ -0,0 +1,6 @@ +for k := 0 to 5 do + ( + break; + k := k + 1; + () + ) diff --git a/tiger-compiler/tests/llvmtranslate/simple_funcall_in_if.tig b/tiger-compiler/tests/llvmtranslate/simple_funcall_in_if.tig new file mode 100644 index 0000000..563b080 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_funcall_in_if.tig @@ -0,0 +1,9 @@ +let + function add (a : int, b : int) : int = a + b + function sub (a : int, b : int) : int = a - b +in + if (1) then + add(4, 2) + else + sub(4, 2) +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_function_int.tig b/tiger-compiler/tests/llvmtranslate/simple_function_int.tig new file mode 100644 index 0000000..d97b26f --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_function_int.tig @@ -0,0 +1,5 @@ +let + function funky(): int = 1 + in + funky() +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_function_int_escaped.tig b/tiger-compiler/tests/llvmtranslate/simple_function_int_escaped.tig new file mode 100644 index 0000000..c6768e2 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_function_int_escaped.tig @@ -0,0 +1,6 @@ +let + var k := 10 + function add_k(x: int): int = x + k + in + add_k(15) +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_function_int_param.tig b/tiger-compiler/tests/llvmtranslate/simple_function_int_param.tig new file mode 100644 index 0000000..f27bd5b --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_function_int_param.tig @@ -0,0 +1,5 @@ +let + function funky(k: int): int = 10 + in + funky(30) +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_function_int_param_return.tig b/tiger-compiler/tests/llvmtranslate/simple_function_int_param_return.tig new file mode 100644 index 0000000..5b5c915 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_function_int_param_return.tig @@ -0,0 +1,5 @@ +let + function funky(k: int): int = k + in + funky(30) +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_function_string.tig b/tiger-compiler/tests/llvmtranslate/simple_function_string.tig new file mode 100644 index 0000000..e6ab7b5 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_function_string.tig @@ -0,0 +1,5 @@ +let + function funky(): string = "freaky" + in + funky() +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_greater_than.tig b/tiger-compiler/tests/llvmtranslate/simple_greater_than.tig new file mode 100644 index 0000000..9d0a1ca --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_greater_than.tig @@ -0,0 +1 @@ +1 > 2 diff --git a/tiger-compiler/tests/llvmtranslate/simple_if.tig b/tiger-compiler/tests/llvmtranslate/simple_if.tig new file mode 100644 index 0000000..c48c6c0 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_if.tig @@ -0,0 +1,4 @@ +if 1 then + 1 +else + 2 diff --git a/tiger-compiler/tests/llvmtranslate/simple_if_no_else.tig b/tiger-compiler/tests/llvmtranslate/simple_if_no_else.tig new file mode 100644 index 0000000..41c6165 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_if_no_else.tig @@ -0,0 +1,6 @@ +let + function nothing (a : int) = a := 42 +in + if 0 then + nothing(43) +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_int.tig b/tiger-compiler/tests/llvmtranslate/simple_int.tig new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_int.tig @@ -0,0 +1 @@ +1 diff --git a/tiger-compiler/tests/llvmtranslate/simple_lesser_than.tig b/tiger-compiler/tests/llvmtranslate/simple_lesser_than.tig new file mode 100644 index 0000000..17e69c7 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_lesser_than.tig @@ -0,0 +1 @@ +1 < 2 diff --git a/tiger-compiler/tests/llvmtranslate/simple_multiplication.tig b/tiger-compiler/tests/llvmtranslate/simple_multiplication.tig new file mode 100644 index 0000000..a48dfec --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_multiplication.tig @@ -0,0 +1 @@ +1 * 2 \ No newline at end of file diff --git a/tiger-compiler/tests/llvmtranslate/simple_nested_ifs.tig b/tiger-compiler/tests/llvmtranslate/simple_nested_ifs.tig new file mode 100644 index 0000000..dd0d8d4 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_nested_ifs.tig @@ -0,0 +1,7 @@ +if 1 then + if 0 then + 1 + else + 2 +else + 0 diff --git a/tiger-compiler/tests/llvmtranslate/simple_nil.tig b/tiger-compiler/tests/llvmtranslate/simple_nil.tig new file mode 100644 index 0000000..664f092 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_nil.tig @@ -0,0 +1,9 @@ +/* a record type and a record variable */ +let + type rectype = {name : string, age : int} + var rec1 : rectype := rectype {name="Nobody", age=1000} +in + rec1 <> nil; + rec1 := nil; + rec1 <> nil +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_not_equal.tig b/tiger-compiler/tests/llvmtranslate/simple_not_equal.tig new file mode 100644 index 0000000..86d0b30 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_not_equal.tig @@ -0,0 +1 @@ +1 <> 2 diff --git a/tiger-compiler/tests/llvmtranslate/simple_primitive_call.tig b/tiger-compiler/tests/llvmtranslate/simple_primitive_call.tig new file mode 100644 index 0000000..4e19864 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_primitive_call.tig @@ -0,0 +1 @@ +print_int(42) \ No newline at end of file diff --git a/tiger-compiler/tests/llvmtranslate/simple_record.tig b/tiger-compiler/tests/llvmtranslate/simple_record.tig new file mode 100644 index 0000000..8e9ae81 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_record.tig @@ -0,0 +1,9 @@ +/* a record type and a record variable */ +let + type rectype = {name : string, age : int} + var rec1 : rectype := rectype {name="Nobody", age=1000} +in + rec1.age := 40; + rec1.name := "Somebody"; + rec1 +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_sequence_int.tig b/tiger-compiler/tests/llvmtranslate/simple_sequence_int.tig new file mode 100644 index 0000000..5622857 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_sequence_int.tig @@ -0,0 +1,8 @@ +let + function seq(): int = ( + 1; + 2; + 3 + ) +in +end \ No newline at end of file diff --git a/tiger-compiler/tests/llvmtranslate/simple_sequence_void.tig b/tiger-compiler/tests/llvmtranslate/simple_sequence_void.tig new file mode 100644 index 0000000..daf2c1b --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_sequence_void.tig @@ -0,0 +1,4 @@ +let +function seq() = () +in +end \ No newline at end of file diff --git a/tiger-compiler/tests/llvmtranslate/simple_string.tig b/tiger-compiler/tests/llvmtranslate/simple_string.tig new file mode 100644 index 0000000..a1577de --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_string.tig @@ -0,0 +1 @@ +"saucisse" diff --git a/tiger-compiler/tests/llvmtranslate/simple_subtraction.tig b/tiger-compiler/tests/llvmtranslate/simple_subtraction.tig new file mode 100644 index 0000000..7ec0a89 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_subtraction.tig @@ -0,0 +1 @@ +1 - 2 \ No newline at end of file diff --git a/tiger-compiler/tests/llvmtranslate/simple_while.tig b/tiger-compiler/tests/llvmtranslate/simple_while.tig new file mode 100644 index 0000000..98313a0 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_while.tig @@ -0,0 +1,9 @@ +let + var k := 0 + in + while k < 5 do + ( + k := k + 1; + () + ) +end diff --git a/tiger-compiler/tests/llvmtranslate/simple_while_break.tig b/tiger-compiler/tests/llvmtranslate/simple_while_break.tig new file mode 100644 index 0000000..0d3d16f --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/simple_while_break.tig @@ -0,0 +1,10 @@ +let + var k := 0 + in + while k < 5 do + ( + break; + k := k + 1; + () + ) +end diff --git a/tiger-compiler/tests/llvmtranslate/variable_compared_to_int.tig b/tiger-compiler/tests/llvmtranslate/variable_compared_to_int.tig new file mode 100644 index 0000000..d669df4 --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/variable_compared_to_int.tig @@ -0,0 +1,5 @@ +let + var variable := 5 + in + variable <> 10 +end diff --git a/tiger-compiler/tests/llvmtranslate/variable_compared_to_variable.tig b/tiger-compiler/tests/llvmtranslate/variable_compared_to_variable.tig new file mode 100644 index 0000000..a1b70ad --- /dev/null +++ b/tiger-compiler/tests/llvmtranslate/variable_compared_to_variable.tig @@ -0,0 +1,6 @@ +let + var a := 5 + var b := 6 + in + a = b +end -- cgit v1.2.3