summaryrefslogtreecommitdiff
path: root/tiger-compiler/tests/llvmtranslate
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
committerMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
commit967be9e750221ab2ab783f95df79bb26d290a45e (patch)
tree6802900a5e975f9f68b169f0f503f040056d6952 /tiger-compiler/tests/llvmtranslate
add: added projectsHEADmain
Diffstat (limited to 'tiger-compiler/tests/llvmtranslate')
-rw-r--r--tiger-compiler/tests/llvmtranslate/array_value_compared_to_int.tig6
-rw-r--r--tiger-compiler/tests/llvmtranslate/record_field_compared_to_int.tig6
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_addition.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_array_int.tig7
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_array_record.tig8
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_array_string.tig7
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_assignment_int.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_assignment_string.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_consecutive_ifs.tig12
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_declaration_int.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_declaration_string.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_division.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_equal.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_equal_string.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_for.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_for_break.tig6
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_funcall_in_if.tig9
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_function_int.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_function_int_escaped.tig6
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_function_int_param.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_function_int_param_return.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_function_string.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_greater_than.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_if.tig4
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_if_no_else.tig6
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_int.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_lesser_than.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_multiplication.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_nested_ifs.tig7
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_nil.tig9
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_not_equal.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_primitive_call.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_record.tig9
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_sequence_int.tig8
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_sequence_void.tig4
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_string.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_subtraction.tig1
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_while.tig9
-rw-r--r--tiger-compiler/tests/llvmtranslate/simple_while_break.tig10
-rw-r--r--tiger-compiler/tests/llvmtranslate/variable_compared_to_int.tig5
-rw-r--r--tiger-compiler/tests/llvmtranslate/variable_compared_to_variable.tig6
41 files changed, 201 insertions, 0 deletions
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