Skip to content

Commit c19194e

Browse files
committed
[testcases_1-3] added the test cases for the Lab1-3
1 parent 60cb032 commit c19194e

15 files changed

+141
-0
lines changed

testcases/c1r/test10_bracket_expr.c1

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
void main() {
3+
int x;
4+
// brackets
5+
x = x + (x + 2);
6+
}

testcases/c1r/test11_relops.c1

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
void main() {
3+
int i = 0, j = 1;
4+
5+
// if, relops
6+
if (i > 0) i = 0;
7+
if (i < 0) i = 0;
8+
if (i >= 0) i = 0;
9+
if (i <= 0) i = 0;
10+
if (i == 0) i = 0;
11+
if (i != 0) i = 0;
12+
}

testcases/c1r/test12_simple_ifelse.c1

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
void main() {
3+
int i = 0, j = 1;
4+
5+
// if-else with block body
6+
if (j != 0) {
7+
i = j + 1;
8+
j = i + 1;
9+
} else {
10+
j = i + 1;
11+
i = i + 1;
12+
}
13+
}

testcases/c1r/test13_nested_ifelse.c1

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
void main() {
3+
int i = 0, j = 1;
4+
5+
// if-else if-else
6+
if (i == 10) i = 20;
7+
else if (i > 10) i = i * 2;
8+
else i = 19;
9+
}

testcases/c1r/test14_while.c1

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
void main() {
3+
int i = 0, j = 1;
4+
5+
// while with block body
6+
while (j > i) {
7+
j = j - 1;
8+
i = i + 1;
9+
}
10+
}

testcases/c1r/test15_func.c1

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
int in_fib;
3+
int ret_fib;
4+
void fib() {
5+
if (in_fib == 0) ret_fib = 0;
6+
else if (in_fib == 1) ret_fib = 0;
7+
else {
8+
int self_in = in_fib;
9+
in_fib = self_in - 1;
10+
fib();
11+
int tmp = ret_fib;
12+
in_fib = self_in - 2;
13+
fib();
14+
ret_fib = tmp + ret_fib;
15+
}
16+
}
17+
18+
void main() {
19+
in_fib = 10;
20+
fib();
21+
output_var = ret_fib;
22+
output();
23+
}

testcases/c1r/test1_int_decl.c1

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
int v1;
2+
int v2, v3, v4, v5;
3+
int v6 = 3;
4+
int v7, v8 = 0, v9 = 0x123456;
5+

testcases/c1r/test2_float_decl.c1

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
float v1;
2+
float v2, v3, v4, v5;
3+
float v6 = 1.0;
4+
float v7, v8 = 2., v9 = .3;
5+

testcases/c1r/test3_const_decl.c1

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
const int c1 = 3;
2+
const int c2 = 1, c3 = 0x123456;
3+
const float c3 = 1.;
4+
const float c4 = .2, c5 = 3.0;

testcases/c1r/test4_array_decl.c1

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
int a1[2];
2+
int a2[2] = {1, 2};
3+
int a3[3] = {1, 2};
4+
const int ca1[2] = {1, 2};

testcases/c1r/test5_blockstmt_decl.c1

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
void main() {
3+
int v1;
4+
int v2, v3, v4, v5;
5+
int v6 = 3;
6+
int v7, v8 = 900913, v9 = 0x123456;
7+
8+
const int c1 = 3;
9+
const int c2 = 1, c3 = 0x123456;
10+
11+
int a1[2];
12+
int a2[2] = {1, 2};
13+
int a3[3] = {1, 2}, a4[3] = {1, 3};
14+
const int ca1[2] = {1, 2}, ca2[7] = {1, 2, 3, 1, 3, 2};
15+
}
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
void main() {
3+
int x;
4+
// lval
5+
x = 1;
6+
// simple
7+
x = 2 + 3;
8+
x = 4 - 5;
9+
x = 6 * 7;
10+
x = 8 / 9;
11+
}

testcases/c1r/test7_unary_expr.c1

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
void main() {
3+
int x;
4+
// unary
5+
x = -x;
6+
x = +1;
7+
}

testcases/c1r/test8_binary_expr.c1

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
void main() {
3+
int x;
4+
// simple with lval
5+
x = x + 1;
6+
x = x - 1;
7+
x = x * 2;
8+
x = x / 3;
9+
}

testcases/c1r/test9_arr_index_expr.c1

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
void main() {
3+
int x;
4+
// array index
5+
int a[1] = {2};
6+
x = a[0];
7+
x = 1 + a[0];
8+
}

0 commit comments

Comments
 (0)