diff options
Diffstat (limited to 'tests')
234 files changed, 1951 insertions, 0 deletions
diff --git a/tests/pracownia2/error/000_length_as_boolA.xi b/tests/pracownia2/error/000_length_as_boolA.xi new file mode 100644 index 0000000..55d1312 --- /dev/null +++ b/tests/pracownia2/error/000_length_as_boolA.xi @@ -0,0 +1,6 @@ +test(x:int[]):bool[] +{ + return length(x) +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/001_decl_curly_bool.xi b/tests/pracownia2/error/001_decl_curly_bool.xi new file mode 100644 index 0000000..92b81d2 --- /dev/null +++ b/tests/pracownia2/error/001_decl_curly_bool.xi @@ -0,0 +1,6 @@ +test() +{ + i:bool = {} +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/002_init2_boolA_fst_only.xi b/tests/pracownia2/error/002_init2_boolA_fst_only.xi new file mode 100644 index 0000000..c1fdfd3 --- /dev/null +++ b/tests/pracownia2/error/002_init2_boolA_fst_only.xi @@ -0,0 +1,7 @@ +test() +{ + i:bool[]; + a:int[i][]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/003_comp_gt_intA_boolA.xi b/tests/pracownia2/error/003_comp_gt_intA_boolA.xi new file mode 100644 index 0000000..172d5bc --- /dev/null +++ b/tests/pracownia2/error/003_comp_gt_intA_boolA.xi @@ -0,0 +1,7 @@ +test(a:int[], b:bool[]):bool +{ + return a > b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/004_formal_arg_initialized_array.xi b/tests/pracownia2/error/004_formal_arg_initialized_array.xi new file mode 100644 index 0000000..c234a52 --- /dev/null +++ b/tests/pracownia2/error/004_formal_arg_initialized_array.xi @@ -0,0 +1,5 @@ +test(x:int[43]) +{ +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/005_length_bool.xi b/tests/pracownia2/error/005_length_bool.xi new file mode 100644 index 0000000..27324e4 --- /dev/null +++ b/tests/pracownia2/error/005_length_bool.xi @@ -0,0 +1,6 @@ +test(x:bool):int +{ + return length(x) +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/006_decl_and_def.xi b/tests/pracownia2/error/006_decl_and_def.xi new file mode 100644 index 0000000..4087f76 --- /dev/null +++ b/tests/pracownia2/error/006_decl_and_def.xi @@ -0,0 +1,9 @@ +f(x:int):bool + +f(x:int):bool +{ + return true +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/007_function_used_as_procedure.xi b/tests/pracownia2/error/007_function_used_as_procedure.xi new file mode 100644 index 0000000..bcf00cc --- /dev/null +++ b/tests/pracownia2/error/007_function_used_as_procedure.xi @@ -0,0 +1,9 @@ +f():int + +g() +{ + f() +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/008_comp_le_bool.xi b/tests/pracownia2/error/008_comp_le_bool.xi new file mode 100644 index 0000000..d4d45f1 --- /dev/null +++ b/tests/pracownia2/error/008_comp_le_bool.xi @@ -0,0 +1,7 @@ +test(a:bool, b:bool):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/009_shadowing_decl_return.xi b/tests/pracownia2/error/009_shadowing_decl_return.xi new file mode 100644 index 0000000..66fe649 --- /dev/null +++ b/tests/pracownia2/error/009_shadowing_decl_return.xi @@ -0,0 +1,5 @@ +f(x:int) +f(x:int) : int + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/010_def_and_decl.xi b/tests/pracownia2/error/010_def_and_decl.xi new file mode 100644 index 0000000..f89d6bf --- /dev/null +++ b/tests/pracownia2/error/010_def_and_decl.xi @@ -0,0 +1,9 @@ +f(x:int):bool +{ + return true +} + +f(x:int):bool + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/011_procedure_used_as_function_init.xi b/tests/pracownia2/error/011_procedure_used_as_function_init.xi new file mode 100644 index 0000000..627c357 --- /dev/null +++ b/tests/pracownia2/error/011_procedure_used_as_function_init.xi @@ -0,0 +1,8 @@ +f() + +g() +{ + x:int = f() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/012_comp_le_intA_boolA.xi b/tests/pracownia2/error/012_comp_le_intA_boolA.xi new file mode 100644 index 0000000..333e826 --- /dev/null +++ b/tests/pracownia2/error/012_comp_le_intA_boolA.xi @@ -0,0 +1,7 @@ +test(a:int[], b:bool[]):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/013_string_boolA.xi b/tests/pracownia2/error/013_string_boolA.xi new file mode 100644 index 0000000..55510e0 --- /dev/null +++ b/tests/pracownia2/error/013_string_boolA.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool = "Polonia" +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/014_if_cond_boolA.xi b/tests/pracownia2/error/014_if_cond_boolA.xi new file mode 100644 index 0000000..b8c0f8d --- /dev/null +++ b/tests/pracownia2/error/014_if_cond_boolA.xi @@ -0,0 +1,7 @@ +test(x:bool[]) +{ + if x { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/015_function_missing_return_if.xi b/tests/pracownia2/error/015_function_missing_return_if.xi new file mode 100644 index 0000000..403e9ef --- /dev/null +++ b/tests/pracownia2/error/015_function_missing_return_if.xi @@ -0,0 +1,7 @@ +f(x:bool):int +{ + if (x) { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/016_formal_pars_decl.xi b/tests/pracownia2/error/016_formal_pars_decl.xi new file mode 100644 index 0000000..8f01fdf --- /dev/null +++ b/tests/pracownia2/error/016_formal_pars_decl.xi @@ -0,0 +1,4 @@ +test(x:int, x:int, y:bool) + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/017_int_boolA.xi b/tests/pracownia2/error/017_int_boolA.xi new file mode 100644 index 0000000..3e1f998 --- /dev/null +++ b/tests/pracownia2/error/017_int_boolA.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool[] = 42 +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/018_decl_curly_int.xi b/tests/pracownia2/error/018_decl_curly_int.xi new file mode 100644 index 0000000..060f89f --- /dev/null +++ b/tests/pracownia2/error/018_decl_curly_int.xi @@ -0,0 +1,6 @@ +test() +{ + i:int = {} +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/019_multi_return_type_initialized_array.xi b/tests/pracownia2/error/019_multi_return_type_initialized_array.xi new file mode 100644 index 0000000..c4d820d --- /dev/null +++ b/tests/pracownia2/error/019_multi_return_type_initialized_array.xi @@ -0,0 +1,4 @@ +test(): bool[], int[42], bool[][] + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/020_procedure_used_as_function_ifcond.xi b/tests/pracownia2/error/020_procedure_used_as_function_ifcond.xi new file mode 100644 index 0000000..46170b7 --- /dev/null +++ b/tests/pracownia2/error/020_procedure_used_as_function_ifcond.xi @@ -0,0 +1,9 @@ +f() + +g() +{ + if f() { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/021_expected_2_given3.xi b/tests/pracownia2/error/021_expected_2_given3.xi new file mode 100644 index 0000000..2515d4c --- /dev/null +++ b/tests/pracownia2/error/021_expected_2_given3.xi @@ -0,0 +1,8 @@ +f(): int, int, int + +g() +{ + x:int, y:int = f() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/022_function_missing_return_ifelse_else_return.xi b/tests/pracownia2/error/022_function_missing_return_ifelse_else_return.xi new file mode 100644 index 0000000..ecaab14 --- /dev/null +++ b/tests/pracownia2/error/022_function_missing_return_ifelse_else_return.xi @@ -0,0 +1,9 @@ +f(x:bool):int +{ + if (x) { + } else { + return 0 + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/023_bool_as_A.xi b/tests/pracownia2/error/023_bool_as_A.xi new file mode 100644 index 0000000..bb38907 --- /dev/null +++ b/tests/pracownia2/error/023_bool_as_A.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool; + x[0] = 1; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/024_char_intA.xi b/tests/pracownia2/error/024_char_intA.xi new file mode 100644 index 0000000..d60f490 --- /dev/null +++ b/tests/pracownia2/error/024_char_intA.xi @@ -0,0 +1,7 @@ +test() +{ + x:int[] = 'X' +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/025_rem_trueture.xi b/tests/pracownia2/error/025_rem_trueture.xi new file mode 100644 index 0000000..581d5c6 --- /dev/null +++ b/tests/pracownia2/error/025_rem_trueture.xi @@ -0,0 +1,7 @@ +f():bool +{ + return true % true +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/026_function_missing_return_ifelse.xi b/tests/pracownia2/error/026_function_missing_return_ifelse.xi new file mode 100644 index 0000000..607c154 --- /dev/null +++ b/tests/pracownia2/error/026_function_missing_return_ifelse.xi @@ -0,0 +1,8 @@ +f(x:bool):int +{ + if (x) { + } else { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/027_boolA_index.xi b/tests/pracownia2/error/027_boolA_index.xi new file mode 100644 index 0000000..e2a257f --- /dev/null +++ b/tests/pracownia2/error/027_boolA_index.xi @@ -0,0 +1,7 @@ +test(a:bool[]) +{ + i:bool[]; + a[i] = true; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/028_shadowing_decl_more_fpars.xi b/tests/pracownia2/error/028_shadowing_decl_more_fpars.xi new file mode 100644 index 0000000..f4dcf00 --- /dev/null +++ b/tests/pracownia2/error/028_shadowing_decl_more_fpars.xi @@ -0,0 +1,5 @@ +f(x:int, y:int) +f(x:int, y:int, z:bool) + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/029_expected_2_given1_joker.xi b/tests/pracownia2/error/029_expected_2_given1_joker.xi new file mode 100644 index 0000000..0fd29ac --- /dev/null +++ b/tests/pracownia2/error/029_expected_2_given1_joker.xi @@ -0,0 +1,8 @@ +f(): int + +g() +{ + x:int, _ = f() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/030_assign_curly_int.xi b/tests/pracownia2/error/030_assign_curly_int.xi new file mode 100644 index 0000000..e40ff75 --- /dev/null +++ b/tests/pracownia2/error/030_assign_curly_int.xi @@ -0,0 +1,7 @@ +test() +{ + i:int; + i = {} +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/031_int_as_A.xi b/tests/pracownia2/error/031_int_as_A.xi new file mode 100644 index 0000000..30d623d --- /dev/null +++ b/tests/pracownia2/error/031_int_as_A.xi @@ -0,0 +1,7 @@ +test() +{ + x:int; + x[0] = 1; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/032_comp_gt_bool.xi b/tests/pracownia2/error/032_comp_gt_bool.xi new file mode 100644 index 0000000..3600828 --- /dev/null +++ b/tests/pracownia2/error/032_comp_gt_bool.xi @@ -0,0 +1,7 @@ +test(a:bool, b:bool):bool +{ + return a > b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/033_minus_trueture.xi b/tests/pracownia2/error/033_minus_trueture.xi new file mode 100644 index 0000000..9798982 --- /dev/null +++ b/tests/pracownia2/error/033_minus_trueture.xi @@ -0,0 +1,7 @@ +f():bool +{ + return true - true +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/034_ifelse_copnd_boolA.xi b/tests/pracownia2/error/034_ifelse_copnd_boolA.xi new file mode 100644 index 0000000..5f31797 --- /dev/null +++ b/tests/pracownia2/error/034_ifelse_copnd_boolA.xi @@ -0,0 +1,8 @@ +test(x:bool[]) +{ + if x { + } else { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/035_procedure_too_many_args_expect1.xi b/tests/pracownia2/error/035_procedure_too_many_args_expect1.xi new file mode 100644 index 0000000..a46d1be --- /dev/null +++ b/tests/pracownia2/error/035_procedure_too_many_args_expect1.xi @@ -0,0 +1,8 @@ +f(x:int) + +g() +{ + f(1, 2) +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/036_comp_lt_boolA.xi b/tests/pracownia2/error/036_comp_lt_boolA.xi new file mode 100644 index 0000000..c55d624 --- /dev/null +++ b/tests/pracownia2/error/036_comp_lt_boolA.xi @@ -0,0 +1,7 @@ +test(a:bool[], b:bool[]):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/037_samedecl.xi b/tests/pracownia2/error/037_samedecl.xi new file mode 100644 index 0000000..323ef39 --- /dev/null +++ b/tests/pracownia2/error/037_samedecl.xi @@ -0,0 +1,6 @@ +f(x:int):bool + +f(x:int):bool + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/038_string_intAA.xi b/tests/pracownia2/error/038_string_intAA.xi new file mode 100644 index 0000000..55510e0 --- /dev/null +++ b/tests/pracownia2/error/038_string_intAA.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool = "Polonia" +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/039_init_bool.xi b/tests/pracownia2/error/039_init_bool.xi new file mode 100644 index 0000000..52bbf58 --- /dev/null +++ b/tests/pracownia2/error/039_init_bool.xi @@ -0,0 +1,7 @@ +test() +{ + i:bool; + a:int[i]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/040_expected_2_given0.xi b/tests/pracownia2/error/040_expected_2_given0.xi new file mode 100644 index 0000000..1abe71d --- /dev/null +++ b/tests/pracownia2/error/040_expected_2_given0.xi @@ -0,0 +1,8 @@ +f() + +g() +{ + x:int, y:int = f() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/041_comp_gt_boolA.xi b/tests/pracownia2/error/041_comp_gt_boolA.xi new file mode 100644 index 0000000..c22e76a --- /dev/null +++ b/tests/pracownia2/error/041_comp_gt_boolA.xi @@ -0,0 +1,7 @@ +test(a:int[], b:int[]):bool +{ + return a > b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/042_init2_intA_fst.xi b/tests/pracownia2/error/042_init2_intA_fst.xi new file mode 100644 index 0000000..a28d54b --- /dev/null +++ b/tests/pracownia2/error/042_init2_intA_fst.xi @@ -0,0 +1,7 @@ +test() +{ + i:int[]; + a:int[i][42]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/043_init2_bool_snd.xi b/tests/pracownia2/error/043_init2_bool_snd.xi new file mode 100644 index 0000000..1c84359 --- /dev/null +++ b/tests/pracownia2/error/043_init2_bool_snd.xi @@ -0,0 +1,7 @@ +test() +{ + i:bool; + a:int[42][i]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/044_assign_curly_bool.xi b/tests/pracownia2/error/044_assign_curly_bool.xi new file mode 100644 index 0000000..dabe469 --- /dev/null +++ b/tests/pracownia2/error/044_assign_curly_bool.xi @@ -0,0 +1,7 @@ +test() +{ + i:bool; + i = {} +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/045_bool_index.xi b/tests/pracownia2/error/045_bool_index.xi new file mode 100644 index 0000000..17133eb --- /dev/null +++ b/tests/pracownia2/error/045_bool_index.xi @@ -0,0 +1,7 @@ +test(a:bool[]) +{ + i:bool; + a[i] = true; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/046_length_as_bool.xi b/tests/pracownia2/error/046_length_as_bool.xi new file mode 100644 index 0000000..2bc404b --- /dev/null +++ b/tests/pracownia2/error/046_length_as_bool.xi @@ -0,0 +1,6 @@ +test(x:int[]):bool +{ + return length(x) +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/047_init2_boolA_fst.xi b/tests/pracownia2/error/047_init2_boolA_fst.xi new file mode 100644 index 0000000..b0c2284 --- /dev/null +++ b/tests/pracownia2/error/047_init2_boolA_fst.xi @@ -0,0 +1,7 @@ +test() +{ + i:bool[]; + a:int[i][42]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/048_false_intA.xi b/tests/pracownia2/error/048_false_intA.xi new file mode 100644 index 0000000..013da66 --- /dev/null +++ b/tests/pracownia2/error/048_false_intA.xi @@ -0,0 +1,7 @@ +test() +{ + x:int[] = false +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/049_shadowing_decl_return_more.xi b/tests/pracownia2/error/049_shadowing_decl_return_more.xi new file mode 100644 index 0000000..2c00290 --- /dev/null +++ b/tests/pracownia2/error/049_shadowing_decl_return_more.xi @@ -0,0 +1,5 @@ +f(x:int) : int +f(x:int) : int, int + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/050_function_missing_return_if_return.xi b/tests/pracownia2/error/050_function_missing_return_if_return.xi new file mode 100644 index 0000000..a909483 --- /dev/null +++ b/tests/pracownia2/error/050_function_missing_return_if_return.xi @@ -0,0 +1,8 @@ +f(x:bool):int +{ + if (x) { + return 0 + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/051_procedure_used_as_function_return.xi b/tests/pracownia2/error/051_procedure_used_as_function_return.xi new file mode 100644 index 0000000..71c3cf8 --- /dev/null +++ b/tests/pracownia2/error/051_procedure_used_as_function_return.xi @@ -0,0 +1,8 @@ +f() + +g():int +{ + return f() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/052_function_missing_return.xi b/tests/pracownia2/error/052_function_missing_return.xi new file mode 100644 index 0000000..89ee185 --- /dev/null +++ b/tests/pracownia2/error/052_function_missing_return.xi @@ -0,0 +1,5 @@ +f():int +{ +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/053_multi_return_type_initialized_array_multidim.xi b/tests/pracownia2/error/053_multi_return_type_initialized_array_multidim.xi new file mode 100644 index 0000000..f2acaaa --- /dev/null +++ b/tests/pracownia2/error/053_multi_return_type_initialized_array_multidim.xi @@ -0,0 +1,4 @@ +test(): bool[], int[][42][], bool[][] + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/054_shadowing_decl_return_less.xi b/tests/pracownia2/error/054_shadowing_decl_return_less.xi new file mode 100644 index 0000000..992eb5a --- /dev/null +++ b/tests/pracownia2/error/054_shadowing_decl_return_less.xi @@ -0,0 +1,5 @@ +f(x:int) : int, int +f(x:int) : int + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/055_initialized_array.xi b/tests/pracownia2/error/055_initialized_array.xi new file mode 100644 index 0000000..027e9ba --- /dev/null +++ b/tests/pracownia2/error/055_initialized_array.xi @@ -0,0 +1,9 @@ +producer(): int[], bool + +test() +{ + x:int[30], y:bool = producer() +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/056_false_int.xi b/tests/pracownia2/error/056_false_int.xi new file mode 100644 index 0000000..76b0bc2 --- /dev/null +++ b/tests/pracownia2/error/056_false_int.xi @@ -0,0 +1,7 @@ +test() +{ + x:int = false +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/057_false_boolA.xi b/tests/pracownia2/error/057_false_boolA.xi new file mode 100644 index 0000000..cdc3abd --- /dev/null +++ b/tests/pracownia2/error/057_false_boolA.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool[] = false +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/058_formal_pars_def.xi b/tests/pracownia2/error/058_formal_pars_def.xi new file mode 100644 index 0000000..d09234e --- /dev/null +++ b/tests/pracownia2/error/058_formal_pars_def.xi @@ -0,0 +1,6 @@ +test(x:int, x:int, y:bool) +{ +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/059_char_bool.xi b/tests/pracownia2/error/059_char_bool.xi new file mode 100644 index 0000000..51a1712 --- /dev/null +++ b/tests/pracownia2/error/059_char_bool.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool = 'X' +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/060_procedure_too_less_args_expect2.xi b/tests/pracownia2/error/060_procedure_too_less_args_expect2.xi new file mode 100644 index 0000000..0eb163d --- /dev/null +++ b/tests/pracownia2/error/060_procedure_too_less_args_expect2.xi @@ -0,0 +1,8 @@ +f(x:int, y:int) + +g() +{ + f(1) +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/061_while_cond_int.xi b/tests/pracownia2/error/061_while_cond_int.xi new file mode 100644 index 0000000..f6ef07b --- /dev/null +++ b/tests/pracownia2/error/061_while_cond_int.xi @@ -0,0 +1,7 @@ +test(x:int) +{ + while x { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/062_shadowing_decl_less_fpars.xi b/tests/pracownia2/error/062_shadowing_decl_less_fpars.xi new file mode 100644 index 0000000..ad85289 --- /dev/null +++ b/tests/pracownia2/error/062_shadowing_decl_less_fpars.xi @@ -0,0 +1,5 @@ +f(x:int, y:int) +f(x:int) + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/063_comp_lt_bool.xi b/tests/pracownia2/error/063_comp_lt_bool.xi new file mode 100644 index 0000000..d4d45f1 --- /dev/null +++ b/tests/pracownia2/error/063_comp_lt_bool.xi @@ -0,0 +1,7 @@ +test(a:bool, b:bool):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/064_procedure_used_as_function_ifelsecond.xi b/tests/pracownia2/error/064_procedure_used_as_function_ifelsecond.xi new file mode 100644 index 0000000..73a9b2a --- /dev/null +++ b/tests/pracownia2/error/064_procedure_used_as_function_ifelsecond.xi @@ -0,0 +1,10 @@ +f() + +g() +{ + if f() { + } else { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/065_comp_ge_boolA.xi b/tests/pracownia2/error/065_comp_ge_boolA.xi new file mode 100644 index 0000000..1e468b5 --- /dev/null +++ b/tests/pracownia2/error/065_comp_ge_boolA.xi @@ -0,0 +1,7 @@ +test(a:int[], b:int[]):bool +{ + return a >= b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/066_initsize_wrong_place.xi b/tests/pracownia2/error/066_initsize_wrong_place.xi new file mode 100644 index 0000000..80bbbb2 --- /dev/null +++ b/tests/pracownia2/error/066_initsize_wrong_place.xi @@ -0,0 +1,6 @@ +test() +{ + a:int[][42]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/067_comp_ge_boolA.xi b/tests/pracownia2/error/067_comp_ge_boolA.xi new file mode 100644 index 0000000..9e8fc52 --- /dev/null +++ b/tests/pracownia2/error/067_comp_ge_boolA.xi @@ -0,0 +1,7 @@ +test(a:bool[], b:bool[]):bool +{ + return a >= b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/068_formal_pars_decl_other_type.xi b/tests/pracownia2/error/068_formal_pars_decl_other_type.xi new file mode 100644 index 0000000..79cc8e2 --- /dev/null +++ b/tests/pracownia2/error/068_formal_pars_decl_other_type.xi @@ -0,0 +1,4 @@ +test(x:int, x:int[], y:bool) + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/069_int_bool.xi b/tests/pracownia2/error/069_int_bool.xi new file mode 100644 index 0000000..5a2c456 --- /dev/null +++ b/tests/pracownia2/error/069_int_bool.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool = 42 +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/070_char_boolA.xi b/tests/pracownia2/error/070_char_boolA.xi new file mode 100644 index 0000000..9eab250 --- /dev/null +++ b/tests/pracownia2/error/070_char_boolA.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool[] = 'X' +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/071_procedure_used_as_function_whilecond.xi b/tests/pracownia2/error/071_procedure_used_as_function_whilecond.xi new file mode 100644 index 0000000..d60f7b6 --- /dev/null +++ b/tests/pracownia2/error/071_procedure_used_as_function_whilecond.xi @@ -0,0 +1,9 @@ +f() + +g() +{ + while f() { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/072_if_cond_int.xi b/tests/pracownia2/error/072_if_cond_int.xi new file mode 100644 index 0000000..8822d65 --- /dev/null +++ b/tests/pracownia2/error/072_if_cond_int.xi @@ -0,0 +1,7 @@ +test(x:int) +{ + if x { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/073_comp_le_boolA.xi b/tests/pracownia2/error/073_comp_le_boolA.xi new file mode 100644 index 0000000..83674a0 --- /dev/null +++ b/tests/pracownia2/error/073_comp_le_boolA.xi @@ -0,0 +1,7 @@ +test(a:int[], b:int[]):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/074_expecting2_given1.xi b/tests/pracownia2/error/074_expecting2_given1.xi new file mode 100644 index 0000000..594aff7 --- /dev/null +++ b/tests/pracownia2/error/074_expecting2_given1.xi @@ -0,0 +1,6 @@ +f():int,int +{ + return 1 +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/075_shadowing_decl_return_type.xi b/tests/pracownia2/error/075_shadowing_decl_return_type.xi new file mode 100644 index 0000000..42ebd02 --- /dev/null +++ b/tests/pracownia2/error/075_shadowing_decl_return_type.xi @@ -0,0 +1,5 @@ +f(x:int) : int +f(x:int) : bool + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/076_intA_index.xi b/tests/pracownia2/error/076_intA_index.xi new file mode 100644 index 0000000..cc43ec4 --- /dev/null +++ b/tests/pracownia2/error/076_intA_index.xi @@ -0,0 +1,7 @@ +test(a:int[]) +{ + i:int[]; + a[i] = 1; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/077_procedure_too_many_args_expect0.xi b/tests/pracownia2/error/077_procedure_too_many_args_expect0.xi new file mode 100644 index 0000000..dec5d8f --- /dev/null +++ b/tests/pracownia2/error/077_procedure_too_many_args_expect0.xi @@ -0,0 +1,8 @@ +f() + +g() +{ + f(1, 2) +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/078_true_int.xi b/tests/pracownia2/error/078_true_int.xi new file mode 100644 index 0000000..4ee78d7 --- /dev/null +++ b/tests/pracownia2/error/078_true_int.xi @@ -0,0 +1,7 @@ +test() +{ + x:int = true +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/079_comp_gt_boolA_intA.xi b/tests/pracownia2/error/079_comp_gt_boolA_intA.xi new file mode 100644 index 0000000..de19bee --- /dev/null +++ b/tests/pracownia2/error/079_comp_gt_boolA_intA.xi @@ -0,0 +1,7 @@ +test(a:bool[], b:int[]):bool +{ + return a > b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/080_int_intA.xi b/tests/pracownia2/error/080_int_intA.xi new file mode 100644 index 0000000..7569fe3 --- /dev/null +++ b/tests/pracownia2/error/080_int_intA.xi @@ -0,0 +1,7 @@ +test() +{ + x:int[] = 42 +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/081_procedure_too_less_args_expect1.xi b/tests/pracownia2/error/081_procedure_too_less_args_expect1.xi new file mode 100644 index 0000000..0931f48 --- /dev/null +++ b/tests/pracownia2/error/081_procedure_too_less_args_expect1.xi @@ -0,0 +1,8 @@ +f(x:int) + +g() +{ + f() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/082_function_missing_return_while_return.xi b/tests/pracownia2/error/082_function_missing_return_while_return.xi new file mode 100644 index 0000000..b7dd972 --- /dev/null +++ b/tests/pracownia2/error/082_function_missing_return_while_return.xi @@ -0,0 +1,8 @@ +f(x:bool):int +{ + while x { + return 0 + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/083_shadowing_decl_other_fpartype.xi b/tests/pracownia2/error/083_shadowing_decl_other_fpartype.xi new file mode 100644 index 0000000..fbd8682 --- /dev/null +++ b/tests/pracownia2/error/083_shadowing_decl_other_fpartype.xi @@ -0,0 +1,5 @@ +f(x:int) +f(x:bool) + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/084_init2_boolA_snd.xi b/tests/pracownia2/error/084_init2_boolA_snd.xi new file mode 100644 index 0000000..ce9aac3 --- /dev/null +++ b/tests/pracownia2/error/084_init2_boolA_snd.xi @@ -0,0 +1,7 @@ +test() +{ + i:bool[]; + a:int[42][i]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/085_expecting2_given_proc.xi b/tests/pracownia2/error/085_expecting2_given_proc.xi new file mode 100644 index 0000000..d39d103 --- /dev/null +++ b/tests/pracownia2/error/085_expecting2_given_proc.xi @@ -0,0 +1,8 @@ +g() + +f():int,int +{ + return g() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/086_function_missing_return_ifelse_then_return.xi b/tests/pracownia2/error/086_function_missing_return_ifelse_then_return.xi new file mode 100644 index 0000000..df596c5 --- /dev/null +++ b/tests/pracownia2/error/086_function_missing_return_ifelse_then_return.xi @@ -0,0 +1,9 @@ +f(x:bool):int +{ + if (x) { + return 0 + } else { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/087_comp_ge_bool.xi b/tests/pracownia2/error/087_comp_ge_bool.xi new file mode 100644 index 0000000..ecf351f --- /dev/null +++ b/tests/pracownia2/error/087_comp_ge_bool.xi @@ -0,0 +1,7 @@ +test(a:bool, b:bool):bool +{ + return a >= b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/088_init2_intA_fst_only.xi b/tests/pracownia2/error/088_init2_intA_fst_only.xi new file mode 100644 index 0000000..ba1bb06 --- /dev/null +++ b/tests/pracownia2/error/088_init2_intA_fst_only.xi @@ -0,0 +1,7 @@ +test() +{ + i:int[]; + a:int[i][]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/089_comp_le_boolA_intA.xi b/tests/pracownia2/error/089_comp_le_boolA_intA.xi new file mode 100644 index 0000000..631bed1 --- /dev/null +++ b/tests/pracownia2/error/089_comp_le_boolA_intA.xi @@ -0,0 +1,7 @@ +test(a:bool[], b:int[]):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/090_expected_2_given3_joker.xi b/tests/pracownia2/error/090_expected_2_given3_joker.xi new file mode 100644 index 0000000..47373fa --- /dev/null +++ b/tests/pracownia2/error/090_expected_2_given3_joker.xi @@ -0,0 +1,8 @@ +f(): int, int, int + +g() +{ + x:int, _ = f() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/091_function_missing_return_while_simple.xi b/tests/pracownia2/error/091_function_missing_return_while_simple.xi new file mode 100644 index 0000000..0e3743f --- /dev/null +++ b/tests/pracownia2/error/091_function_missing_return_while_simple.xi @@ -0,0 +1,7 @@ +f(x:bool):int +{ + while x { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/092_expected_2_given1.xi b/tests/pracownia2/error/092_expected_2_given1.xi new file mode 100644 index 0000000..f923012 --- /dev/null +++ b/tests/pracownia2/error/092_expected_2_given1.xi @@ -0,0 +1,8 @@ +f(): int + +g() +{ + x:int, y:int = f() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/093_init2_intA_snd.xi b/tests/pracownia2/error/093_init2_intA_snd.xi new file mode 100644 index 0000000..6a82e3b --- /dev/null +++ b/tests/pracownia2/error/093_init2_intA_snd.xi @@ -0,0 +1,7 @@ +test() +{ + i:int[]; + a:int[42][i]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/094_while_cond_boolA.xi b/tests/pracownia2/error/094_while_cond_boolA.xi new file mode 100644 index 0000000..47cde1a --- /dev/null +++ b/tests/pracownia2/error/094_while_cond_boolA.xi @@ -0,0 +1,7 @@ +test(x:bool[]) +{ + while x { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/095_mult_trueture.xi b/tests/pracownia2/error/095_mult_trueture.xi new file mode 100644 index 0000000..9798982 --- /dev/null +++ b/tests/pracownia2/error/095_mult_trueture.xi @@ -0,0 +1,7 @@ +f():bool +{ + return true - true +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/096_procedure_used_in_return_in_procedure.xi b/tests/pracownia2/error/096_procedure_used_in_return_in_procedure.xi new file mode 100644 index 0000000..1f78f7f --- /dev/null +++ b/tests/pracownia2/error/096_procedure_used_in_return_in_procedure.xi @@ -0,0 +1,9 @@ +f() + +g() +{ + return f() +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/097_init2_bool_fst_only.xi b/tests/pracownia2/error/097_init2_bool_fst_only.xi new file mode 100644 index 0000000..6ee7634 --- /dev/null +++ b/tests/pracownia2/error/097_init2_bool_fst_only.xi @@ -0,0 +1,7 @@ +test() +{ + i:bool; + a:int[i][]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/098_true_boolA.xi b/tests/pracownia2/error/098_true_boolA.xi new file mode 100644 index 0000000..eff0d8d --- /dev/null +++ b/tests/pracownia2/error/098_true_boolA.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool[] = true +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/099_variables_nested_scope.xi b/tests/pracownia2/error/099_variables_nested_scope.xi new file mode 100644 index 0000000..b863101 --- /dev/null +++ b/tests/pracownia2/error/099_variables_nested_scope.xi @@ -0,0 +1,9 @@ +test() +{ + x:int + { + x:bool + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/100_string_int.xi b/tests/pracownia2/error/100_string_int.xi new file mode 100644 index 0000000..cc048d4 --- /dev/null +++ b/tests/pracownia2/error/100_string_int.xi @@ -0,0 +1,7 @@ +test() +{ + x:int = "Polonia" +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/101_init_intA.xi b/tests/pracownia2/error/101_init_intA.xi new file mode 100644 index 0000000..1d0823f --- /dev/null +++ b/tests/pracownia2/error/101_init_intA.xi @@ -0,0 +1,7 @@ +test() +{ + i:int[]; + a:int[i]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/102_ifelse_cond_int.xi b/tests/pracownia2/error/102_ifelse_cond_int.xi new file mode 100644 index 0000000..8822d65 --- /dev/null +++ b/tests/pracownia2/error/102_ifelse_cond_int.xi @@ -0,0 +1,7 @@ +test(x:int) +{ + if x { + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/103_comp_gt_boolA.xi b/tests/pracownia2/error/103_comp_gt_boolA.xi new file mode 100644 index 0000000..db28717 --- /dev/null +++ b/tests/pracownia2/error/103_comp_gt_boolA.xi @@ -0,0 +1,7 @@ +test(a:bool[], b:bool[]):bool +{ + return a > b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/104_plus_trueture.xi b/tests/pracownia2/error/104_plus_trueture.xi new file mode 100644 index 0000000..44ddced --- /dev/null +++ b/tests/pracownia2/error/104_plus_trueture.xi @@ -0,0 +1,7 @@ +f():bool +{ + return true + true +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/105_true_intA.xi b/tests/pracownia2/error/105_true_intA.xi new file mode 100644 index 0000000..3db313a --- /dev/null +++ b/tests/pracownia2/error/105_true_intA.xi @@ -0,0 +1,7 @@ +test() +{ + x:int[] = true +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/106_length_as_intA.xi b/tests/pracownia2/error/106_length_as_intA.xi new file mode 100644 index 0000000..7d29ad2 --- /dev/null +++ b/tests/pracownia2/error/106_length_as_intA.xi @@ -0,0 +1,6 @@ +test(x:int[]):int[] +{ + return length(x) +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/107_variables_nested_scope_ifelse.xi b/tests/pracownia2/error/107_variables_nested_scope_ifelse.xi new file mode 100644 index 0000000..a7b0cb6 --- /dev/null +++ b/tests/pracownia2/error/107_variables_nested_scope_ifelse.xi @@ -0,0 +1,10 @@ +test() +{ + x:int + if true { + } else { + x:bool + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/108_bool_as_A_from_A.xi b/tests/pracownia2/error/108_bool_as_A_from_A.xi new file mode 100644 index 0000000..15c1e4b --- /dev/null +++ b/tests/pracownia2/error/108_bool_as_A_from_A.xi @@ -0,0 +1,6 @@ +test(x:bool[]) +{ + x[0][0] = true; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/109_return_type_initialized_array.xi b/tests/pracownia2/error/109_return_type_initialized_array.xi new file mode 100644 index 0000000..29b7141 --- /dev/null +++ b/tests/pracownia2/error/109_return_type_initialized_array.xi @@ -0,0 +1,4 @@ +test():int[42] + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/110_expecting2_given3.xi b/tests/pracownia2/error/110_expecting2_given3.xi new file mode 100644 index 0000000..306595d --- /dev/null +++ b/tests/pracownia2/error/110_expecting2_given3.xi @@ -0,0 +1,6 @@ +f():int,int +{ + return 1,2,3 +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/111_variables_nested_scope_while.xi b/tests/pracownia2/error/111_variables_nested_scope_while.xi new file mode 100644 index 0000000..b0d1936 --- /dev/null +++ b/tests/pracownia2/error/111_variables_nested_scope_while.xi @@ -0,0 +1,9 @@ +test() +{ + x:int + while true { + x:bool + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/112_comp_lt_intA_boolA.xi b/tests/pracownia2/error/112_comp_lt_intA_boolA.xi new file mode 100644 index 0000000..333e826 --- /dev/null +++ b/tests/pracownia2/error/112_comp_lt_intA_boolA.xi @@ -0,0 +1,7 @@ +test(a:int[], b:bool[]):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/113_missing_multireturn.xi b/tests/pracownia2/error/113_missing_multireturn.xi new file mode 100644 index 0000000..c2262f9 --- /dev/null +++ b/tests/pracownia2/error/113_missing_multireturn.xi @@ -0,0 +1,5 @@ +f():int,int +{ +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/114_return_multireturn_func_not_allowed.xi b/tests/pracownia2/error/114_return_multireturn_func_not_allowed.xi new file mode 100644 index 0000000..07345d9 --- /dev/null +++ b/tests/pracownia2/error/114_return_multireturn_func_not_allowed.xi @@ -0,0 +1,8 @@ +g():int,int + +f():int,int +{ + return g() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/115_expecting2_given0.xi b/tests/pracownia2/error/115_expecting2_given0.xi new file mode 100644 index 0000000..b773933 --- /dev/null +++ b/tests/pracownia2/error/115_expecting2_given0.xi @@ -0,0 +1,6 @@ +f():int,int +{ + return +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/116_length_int.xi b/tests/pracownia2/error/116_length_int.xi new file mode 100644 index 0000000..b491aa1 --- /dev/null +++ b/tests/pracownia2/error/116_length_int.xi @@ -0,0 +1,6 @@ +test(x:int):int +{ + return length(x) +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/117_comp_le_boolA.xi b/tests/pracownia2/error/117_comp_le_boolA.xi new file mode 100644 index 0000000..c55d624 --- /dev/null +++ b/tests/pracownia2/error/117_comp_le_boolA.xi @@ -0,0 +1,7 @@ +test(a:bool[], b:bool[]):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/118_variables_nested_scope_if.xi b/tests/pracownia2/error/118_variables_nested_scope_if.xi new file mode 100644 index 0000000..655caa9 --- /dev/null +++ b/tests/pracownia2/error/118_variables_nested_scope_if.xi @@ -0,0 +1,9 @@ +test() +{ + x:int + if true { + x:bool + } +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/119_comp_lt_boolA_intA.xi b/tests/pracownia2/error/119_comp_lt_boolA_intA.xi new file mode 100644 index 0000000..631bed1 --- /dev/null +++ b/tests/pracownia2/error/119_comp_lt_boolA_intA.xi @@ -0,0 +1,7 @@ +test(a:bool[], b:int[]):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/120_formal_pars_def_other_type.xi b/tests/pracownia2/error/120_formal_pars_def_other_type.xi new file mode 100644 index 0000000..f9dcade --- /dev/null +++ b/tests/pracownia2/error/120_formal_pars_def_other_type.xi @@ -0,0 +1,6 @@ +test(x:int, x:int[], y:bool) +{ +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/121_comp_ge_boolA_intA.xi b/tests/pracownia2/error/121_comp_ge_boolA_intA.xi new file mode 100644 index 0000000..a112dd5 --- /dev/null +++ b/tests/pracownia2/error/121_comp_ge_boolA_intA.xi @@ -0,0 +1,7 @@ +test(a:bool[], b:int[]):bool +{ + return a >= b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/122_init_boolA.xi b/tests/pracownia2/error/122_init_boolA.xi new file mode 100644 index 0000000..4a3f027 --- /dev/null +++ b/tests/pracownia2/error/122_init_boolA.xi @@ -0,0 +1,7 @@ +test() +{ + i:bool[]; + a:int[i]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/123_comp_ge_intA_boolA.xi b/tests/pracownia2/error/123_comp_ge_intA_boolA.xi new file mode 100644 index 0000000..a6b066e --- /dev/null +++ b/tests/pracownia2/error/123_comp_ge_intA_boolA.xi @@ -0,0 +1,7 @@ +test(a:int[], b:bool[]):bool +{ + return a >= b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/124_init2_bool_fst.xi b/tests/pracownia2/error/124_init2_bool_fst.xi new file mode 100644 index 0000000..462eeee --- /dev/null +++ b/tests/pracownia2/error/124_init2_bool_fst.xi @@ -0,0 +1,7 @@ +test() +{ + i:bool; + a:int[i][42]; +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/125_expected_2_given0_joker.xi b/tests/pracownia2/error/125_expected_2_given0_joker.xi new file mode 100644 index 0000000..96a8e35 --- /dev/null +++ b/tests/pracownia2/error/125_expected_2_given0_joker.xi @@ -0,0 +1,8 @@ +f() + +g() +{ + x:int, _ = f() +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/126_return_type_initialized_array_multidim.xi b/tests/pracownia2/error/126_return_type_initialized_array_multidim.xi new file mode 100644 index 0000000..0dfa847 --- /dev/null +++ b/tests/pracownia2/error/126_return_type_initialized_array_multidim.xi @@ -0,0 +1,4 @@ +test():int[][42][] + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/127_formal_arg_initialized_array_multidim.xi b/tests/pracownia2/error/127_formal_arg_initialized_array_multidim.xi new file mode 100644 index 0000000..053528f --- /dev/null +++ b/tests/pracownia2/error/127_formal_arg_initialized_array_multidim.xi @@ -0,0 +1,5 @@ +test(x:int[][43][]) +{ +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/128_div_trueture.xi b/tests/pracownia2/error/128_div_trueture.xi new file mode 100644 index 0000000..1f0da71 --- /dev/null +++ b/tests/pracownia2/error/128_div_trueture.xi @@ -0,0 +1,7 @@ +f():bool +{ + return true / true +} + +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/error/129_string_bool.xi b/tests/pracownia2/error/129_string_bool.xi new file mode 100644 index 0000000..c983fc4 --- /dev/null +++ b/tests/pracownia2/error/129_string_bool.xi @@ -0,0 +1,7 @@ +test() +{ + x:bool[] = "Polonia" +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/130_comp_lt_boolA.xi b/tests/pracownia2/error/130_comp_lt_boolA.xi new file mode 100644 index 0000000..83674a0 --- /dev/null +++ b/tests/pracownia2/error/130_comp_lt_boolA.xi @@ -0,0 +1,7 @@ +test(a:int[], b:int[]):bool +{ + return a < b +} +//@PRACOWNIA +//@stop_after typechecker +//@should_not_typecheck diff --git a/tests/pracownia2/error/131_variables_same_scope.xi b/tests/pracownia2/error/131_variables_same_scope.xi new file mode 100644 index 0000000..8cdf9e3 --- /dev/null +++ b/tests/pracownia2/error/131_variables_same_scope.xi @@ -0,0 +1,7 @@ +test() +{ + x:int + x:bool +} +//@PRACOWNIA +//@should_not_typecheck diff --git a/tests/pracownia2/ok/000_without_expectation_concat_second_magic.xi b/tests/pracownia2/ok/000_without_expectation_concat_second_magic.xi new file mode 100644 index 0000000..24a40c1 --- /dev/null +++ b/tests/pracownia2/ok/000_without_expectation_concat_second_magic.xi @@ -0,0 +1,6 @@ +test():int +{ + return length({true} + {}[0]) +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/001_ifelse_on_pred.xi b/tests/pracownia2/ok/001_ifelse_on_pred.xi new file mode 100644 index 0000000..4cab2c4 --- /dev/null +++ b/tests/pracownia2/ok/001_ifelse_on_pred.xi @@ -0,0 +1,10 @@ +pred():bool +test() +{ + if pred() { + } else { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/002_fetch_int.xi b/tests/pracownia2/ok/002_fetch_int.xi new file mode 100644 index 0000000..447cba9 --- /dev/null +++ b/tests/pracownia2/ok/002_fetch_int.xi @@ -0,0 +1,7 @@ +test(x:int[]):int +{ + return x[15] +} +//@PRACOWNIA +//@stop_after typechecker + diff --git a/tests/pracownia2/ok/003_with_expectation_concat_second_empty.xi b/tests/pracownia2/ok/003_with_expectation_concat_second_empty.xi new file mode 100644 index 0000000..1844c7c --- /dev/null +++ b/tests/pracownia2/ok/003_with_expectation_concat_second_empty.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {true} + {} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/004_with_expectation_empty_curly.xi b/tests/pracownia2/ok/004_with_expectation_empty_curly.xi new file mode 100644 index 0000000..30b9ff6 --- /dev/null +++ b/tests/pracownia2/ok/004_with_expectation_empty_curly.xi @@ -0,0 +1,7 @@ +test():bool[] +{ + return {} +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/005_with_expectation_concat_second_magic.xi b/tests/pracownia2/ok/005_with_expectation_concat_second_magic.xi new file mode 100644 index 0000000..e3bec49 --- /dev/null +++ b/tests/pracownia2/ok/005_with_expectation_concat_second_magic.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {true} + {}[0] +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/006_if_on_literal.xi b/tests/pracownia2/ok/006_if_on_literal.xi new file mode 100644 index 0000000..cd1d2bd --- /dev/null +++ b/tests/pracownia2/ok/006_if_on_literal.xi @@ -0,0 +1,8 @@ +test() +{ + if true { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/007_without_expectation_concat_second_weird.xi b/tests/pracownia2/ok/007_without_expectation_concat_second_weird.xi new file mode 100644 index 0000000..377b7bf --- /dev/null +++ b/tests/pracownia2/ok/007_without_expectation_concat_second_weird.xi @@ -0,0 +1,6 @@ +test():int +{ + return length({true} + {{}[0]}) +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/008_fetch_fetch.xi b/tests/pracownia2/ok/008_fetch_fetch.xi new file mode 100644 index 0000000..ad01d39 --- /dev/null +++ b/tests/pracownia2/ok/008_fetch_fetch.xi @@ -0,0 +1,7 @@ +test(x:int[][]):int +{ + return x[1][2] +} +//@PRACOWNIA +//@stop_after typechecker + diff --git a/tests/pracownia2/ok/009_while_on_literal.xi b/tests/pracownia2/ok/009_while_on_literal.xi new file mode 100644 index 0000000..0bc0458 --- /dev/null +++ b/tests/pracownia2/ok/009_while_on_literal.xi @@ -0,0 +1,8 @@ +test() +{ + while true { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/010_with_expectation_concat_first_weird.xi b/tests/pracownia2/ok/010_with_expectation_concat_first_weird.xi new file mode 100644 index 0000000..1aa4ac2 --- /dev/null +++ b/tests/pracownia2/ok/010_with_expectation_concat_first_weird.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {{}[0]} + {true} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/011_simple_length.xi b/tests/pracownia2/ok/011_simple_length.xi new file mode 100644 index 0000000..629bf19 --- /dev/null +++ b/tests/pracownia2/ok/011_simple_length.xi @@ -0,0 +1,6 @@ +test(x:bool[]):int +{ + return length(x) +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/012_with_expectation_concat_first_magic.xi b/tests/pracownia2/ok/012_with_expectation_concat_first_magic.xi new file mode 100644 index 0000000..62b3626 --- /dev/null +++ b/tests/pracownia2/ok/012_with_expectation_concat_first_magic.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {}[0] + {true} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/013_without_expectation_concat_second_empty.xi b/tests/pracownia2/ok/013_without_expectation_concat_second_empty.xi new file mode 100644 index 0000000..b294650 --- /dev/null +++ b/tests/pracownia2/ok/013_without_expectation_concat_second_empty.xi @@ -0,0 +1,6 @@ +test():int +{ + return length({true} + {}) +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/014_if_on_var.xi b/tests/pracownia2/ok/014_if_on_var.xi new file mode 100644 index 0000000..b69eaf2 --- /dev/null +++ b/tests/pracownia2/ok/014_if_on_var.xi @@ -0,0 +1,8 @@ +test(x:bool) +{ + if x { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/015_with_expectation_concat_second_weird.xi b/tests/pracownia2/ok/015_with_expectation_concat_second_weird.xi new file mode 100644 index 0000000..c7993e3 --- /dev/null +++ b/tests/pracownia2/ok/015_with_expectation_concat_second_weird.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {true} + {{}[0]} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/016_with_expectation_a_lot_of_magic_int.xi b/tests/pracownia2/ok/016_with_expectation_a_lot_of_magic_int.xi new file mode 100644 index 0000000..d73c4c6 --- /dev/null +++ b/tests/pracownia2/ok/016_with_expectation_a_lot_of_magic_int.xi @@ -0,0 +1,40 @@ +consumer1(x:int[]) +consumer2(x:int[][]) +consumer3(x:int[][][]) + +test() +{ + consumer1( + { {{}[0]}[0] + , {}[0] + , {}[0][0][0] + }) + consumer2( + { {{}[0]}[0] + , {}[0] + , {}[0][0][0] + }) + consumer2( + { { {{}[0]}[0] } + , { {}[0] } + , { {}[0][0][0] } + }) + consumer3( + { {{}[0]}[0] + , {}[0] + , {}[0][0][0] + }) + consumer3( + { { {{}[0]}[0] } + , { {}[0] } + , { {}[0][0][0] } + }) + consumer3( + { { { {{}[0]}[0] } } + , { { {}[0] } } + , { { {}[0][0][0] } } + }) +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/017_ifelse_on_and.xi b/tests/pracownia2/ok/017_ifelse_on_and.xi new file mode 100644 index 0000000..5ac374e --- /dev/null +++ b/tests/pracownia2/ok/017_ifelse_on_and.xi @@ -0,0 +1,9 @@ +test() +{ + if true & false { + } else { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/018_if_on_pred.xi b/tests/pracownia2/ok/018_if_on_pred.xi new file mode 100644 index 0000000..1bc8917 --- /dev/null +++ b/tests/pracownia2/ok/018_if_on_pred.xi @@ -0,0 +1,9 @@ +pred():bool +test() +{ + if pred() { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/019_ifelse_on_or.xi b/tests/pracownia2/ok/019_ifelse_on_or.xi new file mode 100644 index 0000000..451ce2e --- /dev/null +++ b/tests/pracownia2/ok/019_ifelse_on_or.xi @@ -0,0 +1,9 @@ +test() +{ + if true | false { + } else { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/020_with_expectation_concat_both_empty.xi b/tests/pracownia2/ok/020_with_expectation_concat_both_empty.xi new file mode 100644 index 0000000..a14097b --- /dev/null +++ b/tests/pracownia2/ok/020_with_expectation_concat_both_empty.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {} + {} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/021_mutualrec.xi b/tests/pracownia2/ok/021_mutualrec.xi new file mode 100644 index 0000000..26d1b5b --- /dev/null +++ b/tests/pracownia2/ok/021_mutualrec.xi @@ -0,0 +1,12 @@ + +f(): int { + return g() +} + + +g(): int { + return f() +} + +//@PRACOWNIA +//@stop_after parser diff --git a/tests/pracownia2/ok/022_int.xi b/tests/pracownia2/ok/022_int.xi new file mode 100644 index 0000000..ae97ae7 --- /dev/null +++ b/tests/pracownia2/ok/022_int.xi @@ -0,0 +1,10 @@ +test() +{ + x:int = 1 + x = 42 + x = 'a' +} + + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/023_with_expectation_concat_both_magic.xi b/tests/pracownia2/ok/023_with_expectation_concat_both_magic.xi new file mode 100644 index 0000000..b30b3bd --- /dev/null +++ b/tests/pracownia2/ok/023_with_expectation_concat_both_magic.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {}[0] + {}[0] +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/024_store_bool.xi b/tests/pracownia2/ok/024_store_bool.xi new file mode 100644 index 0000000..5991605 --- /dev/null +++ b/tests/pracownia2/ok/024_store_bool.xi @@ -0,0 +1,6 @@ +test(x:bool[]) +{ + x[15] = true +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/025_with_expectation_concat_magic_empty.xi b/tests/pracownia2/ok/025_with_expectation_concat_magic_empty.xi new file mode 100644 index 0000000..9a00030 --- /dev/null +++ b/tests/pracownia2/ok/025_with_expectation_concat_magic_empty.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {}[0] + {} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/026_length_string.xi b/tests/pracownia2/ok/026_length_string.xi new file mode 100644 index 0000000..acef6a4 --- /dev/null +++ b/tests/pracownia2/ok/026_length_string.xi @@ -0,0 +1,6 @@ +test():int +{ + return length("Klucze do domu") +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/027_with_expectation_curly_elems.xi b/tests/pracownia2/ok/027_with_expectation_curly_elems.xi new file mode 100644 index 0000000..eb407c1 --- /dev/null +++ b/tests/pracownia2/ok/027_with_expectation_curly_elems.xi @@ -0,0 +1,7 @@ +test():bool[] +{ + return {true, false, true} +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/028_while_on_and.xi b/tests/pracownia2/ok/028_while_on_and.xi new file mode 100644 index 0000000..cf00ff1 --- /dev/null +++ b/tests/pracownia2/ok/028_while_on_and.xi @@ -0,0 +1,8 @@ +test() +{ + while true & false { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/029_with_expectation_concat_empty_weird.xi b/tests/pracownia2/ok/029_with_expectation_concat_empty_weird.xi new file mode 100644 index 0000000..e361865 --- /dev/null +++ b/tests/pracownia2/ok/029_with_expectation_concat_empty_weird.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {} + {{}[0]} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/030_intA.xi b/tests/pracownia2/ok/030_intA.xi new file mode 100644 index 0000000..3c052aa --- /dev/null +++ b/tests/pracownia2/ok/030_intA.xi @@ -0,0 +1,8 @@ +test() +{ + x:int[] = "University" + x = "of Wroclaw" +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/031_if_on_or.xi b/tests/pracownia2/ok/031_if_on_or.xi new file mode 100644 index 0000000..5ee0e99 --- /dev/null +++ b/tests/pracownia2/ok/031_if_on_or.xi @@ -0,0 +1,8 @@ +test() +{ + if true | false { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/032_with_expectation_first_weird.xi b/tests/pracownia2/ok/032_with_expectation_first_weird.xi new file mode 100644 index 0000000..b25485a --- /dev/null +++ b/tests/pracownia2/ok/032_with_expectation_first_weird.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {{}[0], false, true} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/033_with_expectation_concat_weird_empty.xi b/tests/pracownia2/ok/033_with_expectation_concat_weird_empty.xi new file mode 100644 index 0000000..86a956b --- /dev/null +++ b/tests/pracownia2/ok/033_with_expectation_concat_weird_empty.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {{}[0]} + {} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/034_bool.xi b/tests/pracownia2/ok/034_bool.xi new file mode 100644 index 0000000..ebf7565 --- /dev/null +++ b/tests/pracownia2/ok/034_bool.xi @@ -0,0 +1,8 @@ +test() +{ + x:bool = true + x = false +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/035_store_store.xi b/tests/pracownia2/ok/035_store_store.xi new file mode 100644 index 0000000..8af586b --- /dev/null +++ b/tests/pracownia2/ok/035_store_store.xi @@ -0,0 +1,6 @@ +test(x:bool[][]) +{ + x[0][1] = true +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/036_ifelse_on_var.xi b/tests/pracownia2/ok/036_ifelse_on_var.xi new file mode 100644 index 0000000..e906f81 --- /dev/null +++ b/tests/pracownia2/ok/036_ifelse_on_var.xi @@ -0,0 +1,9 @@ +test(x:bool) +{ + if x { + } else { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/037_with_expectation_concat.xi b/tests/pracownia2/ok/037_with_expectation_concat.xi new file mode 100644 index 0000000..402e822 --- /dev/null +++ b/tests/pracownia2/ok/037_with_expectation_concat.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {false, true} + {true, false} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/038_length_curly.xi b/tests/pracownia2/ok/038_length_curly.xi new file mode 100644 index 0000000..7aae6bd --- /dev/null +++ b/tests/pracownia2/ok/038_length_curly.xi @@ -0,0 +1,6 @@ +test():int +{ + return length({true, false}) +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/039_if_on_and.xi b/tests/pracownia2/ok/039_if_on_and.xi new file mode 100644 index 0000000..bff5231 --- /dev/null +++ b/tests/pracownia2/ok/039_if_on_and.xi @@ -0,0 +1,8 @@ +test() +{ + if true & false { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/040_while_on_var.xi b/tests/pracownia2/ok/040_while_on_var.xi new file mode 100644 index 0000000..881cc76 --- /dev/null +++ b/tests/pracownia2/ok/040_while_on_var.xi @@ -0,0 +1,8 @@ +test(x:bool) +{ + while x { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/041_without_expectation_concat.xi b/tests/pracownia2/ok/041_without_expectation_concat.xi new file mode 100644 index 0000000..bb368db --- /dev/null +++ b/tests/pracownia2/ok/041_without_expectation_concat.xi @@ -0,0 +1,6 @@ +test():int +{ + return length({false, true} + {true, false}) +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/042_init.xi b/tests/pracownia2/ok/042_init.xi new file mode 100644 index 0000000..3f5c86f --- /dev/null +++ b/tests/pracownia2/ok/042_init.xi @@ -0,0 +1,6 @@ +test() +{ + a:int[42][]; +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/043_without_expectation_second_weird.xi b/tests/pracownia2/ok/043_without_expectation_second_weird.xi new file mode 100644 index 0000000..66997bf --- /dev/null +++ b/tests/pracownia2/ok/043_without_expectation_second_weird.xi @@ -0,0 +1,6 @@ +test():int +{ + return length({false, {{}}[0][0], true}) +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/044_while_on_or.xi b/tests/pracownia2/ok/044_while_on_or.xi new file mode 100644 index 0000000..bf80140 --- /dev/null +++ b/tests/pracownia2/ok/044_while_on_or.xi @@ -0,0 +1,8 @@ +test() +{ + while true | false { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/045_with_expectation_second_weird.xi b/tests/pracownia2/ok/045_with_expectation_second_weird.xi new file mode 100644 index 0000000..26f7d74 --- /dev/null +++ b/tests/pracownia2/ok/045_with_expectation_second_weird.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {false, {{}}[0][0], true} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/046_with_expectation_concat_first_empty.xi b/tests/pracownia2/ok/046_with_expectation_concat_first_empty.xi new file mode 100644 index 0000000..c9b0b43 --- /dev/null +++ b/tests/pracownia2/ok/046_with_expectation_concat_first_empty.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {} + {true} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/047_with_expectation_concat_empty_magic.xi b/tests/pracownia2/ok/047_with_expectation_concat_empty_magic.xi new file mode 100644 index 0000000..92dc19e --- /dev/null +++ b/tests/pracownia2/ok/047_with_expectation_concat_empty_magic.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {} + {}[0] +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/048_noconflict_other_scopes.xi b/tests/pracownia2/ok/048_noconflict_other_scopes.xi new file mode 100644 index 0000000..788c5ee --- /dev/null +++ b/tests/pracownia2/ok/048_noconflict_other_scopes.xi @@ -0,0 +1,11 @@ +test(x:bool) +{ + if x { + y:int + } else { + y:int[] + } +} +//@PRACOWNIA +//@stop_after typechecker + diff --git a/tests/pracownia2/ok/049_ifelse_on_literal.xi b/tests/pracownia2/ok/049_ifelse_on_literal.xi new file mode 100644 index 0000000..abae0f2 --- /dev/null +++ b/tests/pracownia2/ok/049_ifelse_on_literal.xi @@ -0,0 +1,9 @@ +test() +{ + if true { + } else { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/050_without_expectation_curly_elems.xi b/tests/pracownia2/ok/050_without_expectation_curly_elems.xi new file mode 100644 index 0000000..246c002 --- /dev/null +++ b/tests/pracownia2/ok/050_without_expectation_curly_elems.xi @@ -0,0 +1,7 @@ +test():int +{ + return length({true, false, true}) +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/051_while_on_pred.xi b/tests/pracownia2/ok/051_while_on_pred.xi new file mode 100644 index 0000000..9167206 --- /dev/null +++ b/tests/pracownia2/ok/051_while_on_pred.xi @@ -0,0 +1,9 @@ +pred():bool +test() +{ + while pred() { + } +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/052_with_expectation_a_lot_of_magic_bool.xi b/tests/pracownia2/ok/052_with_expectation_a_lot_of_magic_bool.xi new file mode 100644 index 0000000..3400fbc --- /dev/null +++ b/tests/pracownia2/ok/052_with_expectation_a_lot_of_magic_bool.xi @@ -0,0 +1,60 @@ +consumer1(x:bool[]) +consumer2(x:bool[][]) +consumer3(x:bool[][][]) + +test() +{ + consumer1( + { {{}[0]}[0] + , {}[0] + , {}[0][0][0] + }) + consumer2( + { {{}[0]}[0] + , {}[0] + , {}[0][0][0] + }) + consumer2( + { { {{}[0]}[0] } + , {}[0] + , {}[0][0][0] + }) + consumer2( + { {{}[0]}[0] + , { {}[0] } + , {}[0][0][0] + }) + consumer2( + { {{}[0]}[0] + , {}[0] + , { {}[0][0][0] } + }) + consumer2( + { { {{}[0]}[0] } + , { {}[0] } + , { {}[0][0][0] } + }) + consumer3( + { {{}[0]}[0] + , {}[0] + , {}[0][0][0] + }) + consumer3( + { { {{}[0]}[0] } + , { {}[0] } + , { {}[0][0][0] } + }) + consumer3( + { {{}[0]}[0] + , {}[0] + , { {}[0][0][0] } + }) + consumer3( + { { { {{}[0]}[0] } } + , { { {}[0] } } + , { { {}[0][0][0] } } + }) +} + +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia2/ok/053_with_expectation_concat_both_weird.xi b/tests/pracownia2/ok/053_with_expectation_concat_both_weird.xi new file mode 100644 index 0000000..28923a5 --- /dev/null +++ b/tests/pracownia2/ok/053_with_expectation_concat_both_weird.xi @@ -0,0 +1,6 @@ +test():bool[] +{ + return {{}[0]} + {{}[0]} +} +//@PRACOWNIA +//@stop_after typechecker diff --git a/tests/pracownia3/000_manyargs_3.xi b/tests/pracownia3/000_manyargs_3.xi new file mode 100644 index 0000000..3e73ca9 --- /dev/null +++ b/tests/pracownia3/000_manyargs_3.xi @@ -0,0 +1,11 @@ +f(r0:int, r1:int, r2:int, r3:int, r4:int, r5:int, r6:int):int +{ + return r0 + r1 + r2 + r3 + r4 + r5 + r6 +} + +main():int { + return f(1, 2, 3, 4, 5, 6, 7) +} + +//@PRACOWNIA +//@out Exit code: 28 diff --git a/tests/pracownia3/001_or_01.xi b/tests/pracownia3/001_or_01.xi new file mode 100644 index 0000000..42e3715 --- /dev/null +++ b/tests/pracownia3/001_or_01.xi @@ -0,0 +1,30 @@ +printString(str:int[]) + +pred_lhs():bool +{ + printString("pred_lhs") + return false +} + +pred_rhs():bool +{ + printString("pred_rhs") + return true +} + +main():int +{ + result:int = 3 + if pred_lhs() | pred_rhs() { + result = 1 + } else { + result = 0 + } + + return result +} + +//@PRACOWNIA +//@out pred_lhs +//@out pred_rhs +//@out Exit code: 1 diff --git a/tests/pracownia3/002_list_empty.xi b/tests/pracownia3/002_list_empty.xi new file mode 100644 index 0000000..a7a2c9d --- /dev/null +++ b/tests/pracownia3/002_list_empty.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int[] = {1,2,3} + return 0 +} + +//@PRACOWNIA +//@out Exit code: 0
\ No newline at end of file diff --git a/tests/pracownia3/003_concat_rhs_len.xi b/tests/pracownia3/003_concat_rhs_len.xi new file mode 100644 index 0000000..5ab6e64 --- /dev/null +++ b/tests/pracownia3/003_concat_rhs_len.xi @@ -0,0 +1,8 @@ +main():int +{ + z:int[] = {} + {100, 200} + return length(z) +} + +//@PRACOWNIA +//@out Exit code: 2
\ No newline at end of file diff --git a/tests/pracownia3/004_return.xi b/tests/pracownia3/004_return.xi new file mode 100644 index 0000000..a24d01a --- /dev/null +++ b/tests/pracownia3/004_return.xi @@ -0,0 +1,12 @@ +return_4():int +{ + return 4 +} + +main():int +{ + return return_4() +} + +//@PRACOWNIA +//@out Exit code: 4
\ No newline at end of file diff --git a/tests/pracownia3/005_multireturn_multiargs.xi b/tests/pracownia3/005_multireturn_multiargs.xi new file mode 100644 index 0000000..96fbb57 --- /dev/null +++ b/tests/pracownia3/005_multireturn_multiargs.xi @@ -0,0 +1,12 @@ +f(a0:int, a1:int, a2:int, a3:int, a4:int, a5:int, a6:int): int, int, int, int, int, int, int +{ + return a0, a1, a2, a3, a4, a5, a6 +} + +main():int { + a0:int, a1:int, a2:int, a3:int, a4:int, a5:int, a6:int = f(10,20,30,40,50,60,70) + return a0+a1+a2+a3+a4+a5+a6 +} + +//@PRACOWNIA +//@out Exit code: 280 diff --git a/tests/pracownia3/006_init_variable.xi b/tests/pracownia3/006_init_variable.xi new file mode 100644 index 0000000..27940b7 --- /dev/null +++ b/tests/pracownia3/006_init_variable.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int = 42; + return 13 +} + +//@PRACOWNIA +//@out Exit code: 13
\ No newline at end of file diff --git a/tests/pracownia3/007_mul_literals.xi b/tests/pracownia3/007_mul_literals.xi new file mode 100644 index 0000000..4302efe --- /dev/null +++ b/tests/pracownia3/007_mul_literals.xi @@ -0,0 +1,8 @@ + +main():int +{ + return 4 * 3 +} + +//@PRACOWNIA +//@out Exit code: 12
\ No newline at end of file diff --git a/tests/pracownia3/008_fac_rec_0.xi b/tests/pracownia3/008_fac_rec_0.xi new file mode 100644 index 0000000..45d5265 --- /dev/null +++ b/tests/pracownia3/008_fac_rec_0.xi @@ -0,0 +1,15 @@ +fac(x:int):int +{ + if (x == 0) { + return 1 + } + return fac(x-1)*x +} + +main():int +{ + return fac(0) +} + +//@PRACOWNIA +//@out Exit code: 1
\ No newline at end of file diff --git a/tests/pracownia3/009_while_while_sum.xi b/tests/pracownia3/009_while_while_sum.xi new file mode 100644 index 0000000..abb029c --- /dev/null +++ b/tests/pracownia3/009_while_while_sum.xi @@ -0,0 +1,18 @@ +main():int +{ + i:int = 0; + n:int = 10; + sum:int = 0; + while (i < n) { + j:int = 0 + while (j < n) { + sum = sum + j + j = j + 1 + } + i = i + 1 + } + return sum +} + +//@PRACOWNIA +//@out Exit code: 450
\ No newline at end of file diff --git a/tests/pracownia3/010_length_empty.xi b/tests/pracownia3/010_length_empty.xi new file mode 100644 index 0000000..46b3025 --- /dev/null +++ b/tests/pracownia3/010_length_empty.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int[] = {} + return length(x) +} + +//@PRACOWNIA +//@out Exit code: 0
\ No newline at end of file diff --git a/tests/pracownia3/011_concat_string.xi b/tests/pracownia3/011_concat_string.xi new file mode 100644 index 0000000..c245c05 --- /dev/null +++ b/tests/pracownia3/011_concat_string.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int[] = "Wro" + "claw" + return length(x) +} + +//@PRACOWNIA +//@out Exit code: 7
\ No newline at end of file diff --git a/tests/pracownia3/012_multireturn_4.xi b/tests/pracownia3/012_multireturn_4.xi new file mode 100644 index 0000000..7b1c7b7 --- /dev/null +++ b/tests/pracownia3/012_multireturn_4.xi @@ -0,0 +1,12 @@ +f(): int, int, int, int +{ + return 10, 15, 20, 25 +} + +main():int { + x:int, y:int, z:int, v:int = f() + return x + y + z + v; +} + +//@PRACOWNIA +//@out Exit code: 70 diff --git a/tests/pracownia3/013_add_literals.xi b/tests/pracownia3/013_add_literals.xi new file mode 100644 index 0000000..9ced5c6 --- /dev/null +++ b/tests/pracownia3/013_add_literals.xi @@ -0,0 +1,8 @@ + +main():int +{ + return 4 + 3 +} + +//@PRACOWNIA +//@out Exit code: 7
\ No newline at end of file diff --git a/tests/pracownia3/014_assign.xi b/tests/pracownia3/014_assign.xi new file mode 100644 index 0000000..bb62c67 --- /dev/null +++ b/tests/pracownia3/014_assign.xi @@ -0,0 +1,9 @@ +main():int +{ + x:int = 42 + x = 10 + return x +} + +//@PRACOWNIA +//@out Exit code: 10
\ No newline at end of file diff --git a/tests/pracownia3/015_sub_literals.xi b/tests/pracownia3/015_sub_literals.xi new file mode 100644 index 0000000..2a8ce93 --- /dev/null +++ b/tests/pracownia3/015_sub_literals.xi @@ -0,0 +1,8 @@ + +main():int +{ + return 4 - 3 +} + +//@PRACOWNIA +//@out Exit code: 1
\ No newline at end of file diff --git a/tests/pracownia3/016_fib_rec_3.xi b/tests/pracownia3/016_fib_rec_3.xi new file mode 100644 index 0000000..49a5d5b --- /dev/null +++ b/tests/pracownia3/016_fib_rec_3.xi @@ -0,0 +1,18 @@ +fib(x:int):int +{ + if (x == 0) { + return 0 + } + if (x == 1) { + return 1 + } + return fib(x-1) + fib(x-2) +} + +main():int +{ + return fib(5) +} + +//@PRACOWNIA +//@out Exit code: 5
\ No newline at end of file diff --git a/tests/pracownia3/017_return_42.xi b/tests/pracownia3/017_return_42.xi new file mode 100644 index 0000000..6d53081 --- /dev/null +++ b/tests/pracownia3/017_return_42.xi @@ -0,0 +1,8 @@ + +main():int +{ + return 42 +} + +//@PRACOWNIA +//@out Exit code: 42
\ No newline at end of file diff --git a/tests/pracownia3/018_empty_main.xi b/tests/pracownia3/018_empty_main.xi new file mode 100644 index 0000000..336daf1 --- /dev/null +++ b/tests/pracownia3/018_empty_main.xi @@ -0,0 +1,8 @@ + +main():int +{ + return 0 +} + +//@PRACOWNIA +//@out Exit code: 0
\ No newline at end of file diff --git a/tests/pracownia3/019_while_sum.xi b/tests/pracownia3/019_while_sum.xi new file mode 100644 index 0000000..8821a07 --- /dev/null +++ b/tests/pracownia3/019_while_sum.xi @@ -0,0 +1,14 @@ +main():int +{ + i:int = 0; + n:int = 10; + sum:int = 0; + while (i < n) { + sum = sum + i + i = i + 1 + } + return sum +} + +//@PRACOWNIA +//@out Exit code: 45
\ No newline at end of file diff --git a/tests/pracownia3/020_return_variable.xi b/tests/pracownia3/020_return_variable.xi new file mode 100644 index 0000000..288a5eb --- /dev/null +++ b/tests/pracownia3/020_return_variable.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int = 42 + return x +} + +//@PRACOWNIA +//@out Exit code: 42
\ No newline at end of file diff --git a/tests/pracownia3/021_printInt.xi b/tests/pracownia3/021_printInt.xi new file mode 100644 index 0000000..5f75922 --- /dev/null +++ b/tests/pracownia3/021_printInt.xi @@ -0,0 +1,16 @@ + +printInt(x:int) + +main():int +{ + printInt(5) + printInt(10) + printInt(15) + return 0 +} + +//@PRACOWNIA +//@out 5 +//@out 10 +//@out 15 +//@out Exit code: 0
\ No newline at end of file diff --git a/tests/pracownia3/022_if_eq_true.xi b/tests/pracownia3/022_if_eq_true.xi new file mode 100644 index 0000000..4571f1b --- /dev/null +++ b/tests/pracownia3/022_if_eq_true.xi @@ -0,0 +1,13 @@ +main():int +{ + x:int = 33; + result:int = 99 + if (x == 33) { + result = 100 + } + + return result +} + +//@PRACOWNIA +//@out Exit code: 100
\ No newline at end of file diff --git a/tests/pracownia3/023_ifelse_pred.xi b/tests/pracownia3/023_ifelse_pred.xi new file mode 100644 index 0000000..10010d6 --- /dev/null +++ b/tests/pracownia3/023_ifelse_pred.xi @@ -0,0 +1,18 @@ +pred():bool +{ + return true +} + +main():int +{ + result:int = 13 + if pred() { + result = 100 + } else { + result = 1 + } + return result +} + +//@PRACOWNIA +//@out Exit code: 100 diff --git a/tests/pracownia3/024_fac.xi b/tests/pracownia3/024_fac.xi new file mode 100644 index 0000000..381de7c --- /dev/null +++ b/tests/pracownia3/024_fac.xi @@ -0,0 +1,17 @@ +fac(x:int):int +{ + res:int = 1 + while (x > 0) { + res = x*res + x = x - 1 + } + return res +} + +main():int +{ + return fac(5) +} + +//@PRACOWNIA +//@out Exit code: 120
\ No newline at end of file diff --git a/tests/pracownia3/025_and_literals.xi b/tests/pracownia3/025_and_literals.xi new file mode 100644 index 0000000..fc87e96 --- /dev/null +++ b/tests/pracownia3/025_and_literals.xi @@ -0,0 +1,16 @@ +convert(b:bool):int +{ + if b { + return 1 + } else { + return 0 + } +} + +main():int +{ + return convert(true & false) +} + +//@PRACOWNIA +//@out Exit code: 0 diff --git a/tests/pracownia3/026_printString.xi b/tests/pracownia3/026_printString.xi new file mode 100644 index 0000000..29dc5aa --- /dev/null +++ b/tests/pracownia3/026_printString.xi @@ -0,0 +1,11 @@ +printString(x:int[]) + +main():int +{ + printString("Wroclaw") + return 0 +} + +//@PRACOWNIA +//@out Wroclaw +//@out Exit code: 0
\ No newline at end of file diff --git a/tests/pracownia3/027_init_2_variables.xi b/tests/pracownia3/027_init_2_variables.xi new file mode 100644 index 0000000..b417ab1 --- /dev/null +++ b/tests/pracownia3/027_init_2_variables.xi @@ -0,0 +1,9 @@ +main():int +{ + x:int = 42; + y:int = 43; + return 14 +} + +//@PRACOWNIA +//@out Exit code: 14
\ No newline at end of file diff --git a/tests/pracownia3/028_return_second_variable.xi b/tests/pracownia3/028_return_second_variable.xi new file mode 100644 index 0000000..257fce9 --- /dev/null +++ b/tests/pracownia3/028_return_second_variable.xi @@ -0,0 +1,9 @@ +main():int +{ + x:int = 42 + y:int = 43 + return y +} + +//@PRACOWNIA +//@out Exit code: 43
\ No newline at end of file diff --git a/tests/pracownia3/029_return_first_variable.xi b/tests/pracownia3/029_return_first_variable.xi new file mode 100644 index 0000000..138a3a2 --- /dev/null +++ b/tests/pracownia3/029_return_first_variable.xi @@ -0,0 +1,9 @@ +main():int +{ + x:int = 42 + y:int = 43 + return x +} + +//@PRACOWNIA +//@out Exit code: 42
\ No newline at end of file diff --git a/tests/pracownia3/030_length_string.xi b/tests/pracownia3/030_length_string.xi new file mode 100644 index 0000000..bc6011a --- /dev/null +++ b/tests/pracownia3/030_length_string.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int[] = "Wroclaw" + return length(x) +} + +//@PRACOWNIA +//@out Exit code: 7
\ No newline at end of file diff --git a/tests/pracownia3/031_div_literals.xi b/tests/pracownia3/031_div_literals.xi new file mode 100644 index 0000000..16a75f8 --- /dev/null +++ b/tests/pracownia3/031_div_literals.xi @@ -0,0 +1,8 @@ + +main():int +{ + return 8 / 2 +} + +//@PRACOWNIA +//@out Exit code: 4
\ No newline at end of file diff --git a/tests/pracownia3/032_return_index0.xi b/tests/pracownia3/032_return_index0.xi new file mode 100644 index 0000000..09ddee4 --- /dev/null +++ b/tests/pracownia3/032_return_index0.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int[] = {5, 10, 15} + return x[0] +} + +//@PRACOWNIA +//@out Exit code: 5
\ No newline at end of file diff --git a/tests/pracownia3/033_multiarray.xi b/tests/pracownia3/033_multiarray.xi new file mode 100644 index 0000000..f6fb7b5 --- /dev/null +++ b/tests/pracownia3/033_multiarray.xi @@ -0,0 +1,13 @@ +main():int { + xs:int[2][3]; + xs[0][0] = 1; + xs[0][1] = 2; + xs[0][2] = 3; + xs[1][0] = 10; + xs[1][1] = 20; + xs[1][2] = 30; + return xs[0][0] + xs[0][1] + xs[0][2] + xs[1][0] + xs[1][1] + xs[1][2]; +} + +//@PRACOWNIA +//@out Exit code: 66 diff --git a/tests/pracownia3/034_or_literals.xi b/tests/pracownia3/034_or_literals.xi new file mode 100644 index 0000000..ca1c9da --- /dev/null +++ b/tests/pracownia3/034_or_literals.xi @@ -0,0 +1,15 @@ +convert(b:bool):int +{ + if b { + return 1 + } else { + return 0 + } +} +main():int +{ + return convert(false | true) +} + +//@PRACOWNIA +//@out Exit code: 1 diff --git a/tests/pracownia3/035_return_char.xi b/tests/pracownia3/035_return_char.xi new file mode 100644 index 0000000..689567a --- /dev/null +++ b/tests/pracownia3/035_return_char.xi @@ -0,0 +1,7 @@ +main():int +{ + return 'a' +} + +//@PRACOWNIA +//@out Exit code: 97 diff --git a/tests/pracownia3/036_multireturn_3.xi b/tests/pracownia3/036_multireturn_3.xi new file mode 100644 index 0000000..f8190a8 --- /dev/null +++ b/tests/pracownia3/036_multireturn_3.xi @@ -0,0 +1,12 @@ +f(): int, int, int +{ + return 10, 15, 20 +} + +main():int { + x:int, y:int, z:int = f() + return x + y + z; +} + +//@PRACOWNIA +//@out Exit code: 45 diff --git a/tests/pracownia3/037_concat_lhs_len.xi b/tests/pracownia3/037_concat_lhs_len.xi new file mode 100644 index 0000000..f51c1e0 --- /dev/null +++ b/tests/pracownia3/037_concat_lhs_len.xi @@ -0,0 +1,8 @@ +main():int +{ + z:int[] = {100, 200} + {} + return length(z) +} + +//@PRACOWNIA +//@out Exit code: 2
\ No newline at end of file diff --git a/tests/pracownia3/038_fac_rec_5.xi b/tests/pracownia3/038_fac_rec_5.xi new file mode 100644 index 0000000..1258e53 --- /dev/null +++ b/tests/pracownia3/038_fac_rec_5.xi @@ -0,0 +1,15 @@ +fac(x:int):int +{ + if (x == 0) { + return 1 + } + return fac(x-1)*x +} + +main():int +{ + return fac(5) +} + +//@PRACOWNIA +//@out Exit code: 120
\ No newline at end of file diff --git a/tests/pracownia3/039_ifelse_eq_true_ret.xi b/tests/pracownia3/039_ifelse_eq_true_ret.xi new file mode 100644 index 0000000..70a6491 --- /dev/null +++ b/tests/pracownia3/039_ifelse_eq_true_ret.xi @@ -0,0 +1,13 @@ +main():int +{ + x:int = 33; + if (x == 33) { + return 100 + } else { + return 10 + } + return 0 +} + +//@PRACOWNIA +//@out Exit code: 100
\ No newline at end of file diff --git a/tests/pracownia3/040_string.xi b/tests/pracownia3/040_string.xi new file mode 100644 index 0000000..f046b6b --- /dev/null +++ b/tests/pracownia3/040_string.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int[] = "Wroclaw" + return 13 +} + +//@PRACOWNIA +//@out Exit code: 13
\ No newline at end of file diff --git a/tests/pracownia3/041_assign_index0.xi b/tests/pracownia3/041_assign_index0.xi new file mode 100644 index 0000000..f1c39b6 --- /dev/null +++ b/tests/pracownia3/041_assign_index0.xi @@ -0,0 +1,9 @@ +main():int +{ + x:int[] = {5, 10, 15} + x[0] = 20 + return x[0] +} + +//@PRACOWNIA +//@out Exit code: 20
\ No newline at end of file diff --git a/tests/pracownia3/042_return_nl.xi b/tests/pracownia3/042_return_nl.xi new file mode 100644 index 0000000..b529e15 --- /dev/null +++ b/tests/pracownia3/042_return_nl.xi @@ -0,0 +1,7 @@ +main():int +{ + return '\n' +} + +//@PRACOWNIA +//@out Exit code: 10 diff --git a/tests/pracownia3/043_while_or.xi b/tests/pracownia3/043_while_or.xi new file mode 100644 index 0000000..5d9525e --- /dev/null +++ b/tests/pracownia3/043_while_or.xi @@ -0,0 +1,18 @@ +pred():bool +{ + return false +} + +main():int +{ + x:bool = true + result:int = 13 + while x | pred() { + result = 100 + x = false + } + return result +} + +//@PRACOWNIA +//@out Exit code: 100 diff --git a/tests/pracownia3/044_list_init.xi b/tests/pracownia3/044_list_init.xi new file mode 100644 index 0000000..a7a2c9d --- /dev/null +++ b/tests/pracownia3/044_list_init.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int[] = {1,2,3} + return 0 +} + +//@PRACOWNIA +//@out Exit code: 0
\ No newline at end of file diff --git a/tests/pracownia3/045_mod_literals.xi b/tests/pracownia3/045_mod_literals.xi new file mode 100644 index 0000000..e904355 --- /dev/null +++ b/tests/pracownia3/045_mod_literals.xi @@ -0,0 +1,8 @@ + +main():int +{ + return 3 % 2 +} + +//@PRACOWNIA +//@out Exit code: 1 diff --git a/tests/pracownia3/046_return_index1.xi b/tests/pracownia3/046_return_index1.xi new file mode 100644 index 0000000..b2af5d1 --- /dev/null +++ b/tests/pracownia3/046_return_index1.xi @@ -0,0 +1,8 @@ +main():int +{ + x:int[] = {5, 10, 15} + return x[1] +} + +//@PRACOWNIA +//@out Exit code: 10
\ No newline at end of file diff --git a/tests/pracownia3/047_and_10_.xi b/tests/pracownia3/047_and_10_.xi new file mode 100644 index 0000000..d9469ae --- /dev/null +++ b/tests/pracownia3/047_and_10_.xi @@ -0,0 +1,30 @@ +printString(str:int[]) + +pred_lhs():bool +{ + printString("pred_lhs") + return true +} + +pred_rhs():bool +{ + printString("pred_rhs") + return false +} + +main():int +{ + result:int = 3 + if pred_lhs() & pred_rhs() { + result = 1 + } else { + result = 0 + } + + return result +} + +//@PRACOWNIA +//@out pred_lhs +//@out pred_rhs +//@out Exit code: 0 |