diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-23 20:57:32 +0000 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-03-23 20:57:32 +0000 |
commit | 64d1100ea5a2f749db3a635d5fb2a688a551ecb7 (patch) | |
tree | 1acde757b3a39d0f7536faa42b1366ccb4b10f37 /test_deliverable | |
parent | 5e2dbac8d63b3a0031069495a0e1dafe825aba45 (diff) | |
download | Compiler-64d1100ea5a2f749db3a635d5fb2a688a551ecb7.tar.gz Compiler-64d1100ea5a2f749db3a635d5fb2a688a551ecb7.zip |
Adding more tests and fixing
Diffstat (limited to 'test_deliverable')
19 files changed, 166 insertions, 1 deletions
diff --git a/test_deliverable/testcases/test_ALLOPER.c b/test_deliverable/testcases/test_ALLOPER.c new file mode 100644 index 0000000..ab57181 --- /dev/null +++ b/test_deliverable/testcases/test_ALLOPER.c @@ -0,0 +1,28 @@ +int alloper(int a, int b, int c, int d, int f) +{ + a = b * c + d - f; + { + int c = 2; + b += c + 2; + } + a -= b; + d = a - c; + + if((a == b || a != c || b > d || f < d) && a) + { + a = 2 * b; + } + else + { + a -= d; + } + + do + { + a += 1; + f++; + } + while(f < 50); + + return a; +} diff --git a/test_deliverable/testcases/test_ALLOPER_driver.c b/test_deliverable/testcases/test_ALLOPER_driver.c new file mode 100644 index 0000000..dc29ac0 --- /dev/null +++ b/test_deliverable/testcases/test_ALLOPER_driver.c @@ -0,0 +1,6 @@ +int alloper(int, int, int, int, int); + +int main() +{ + return !( 58 == alloper(4, 3, 5, 4, 6) ); +} diff --git a/test_deliverable/testcases/test_CONTINUE.c b/test_deliverable/testcases/test_CONTINUE.c new file mode 100644 index 0000000..e907908 --- /dev/null +++ b/test_deliverable/testcases/test_CONTINUE.c @@ -0,0 +1,18 @@ +int cont(int a, int b) +{ + int c = 0; + while(a < b) + { + ++a; + if(a < b/2) + { + continue; + } + else + { + c += 2; + } + } + + return c; +} diff --git a/test_deliverable/testcases/test_CONTINUE_driver.c b/test_deliverable/testcases/test_CONTINUE_driver.c new file mode 100644 index 0000000..4a9eb58 --- /dev/null +++ b/test_deliverable/testcases/test_CONTINUE_driver.c @@ -0,0 +1,6 @@ +int cont(int, int); + +int main() +{ + return !( 96 == cont(4, 93) ); +} diff --git a/test_deliverable/testcases/test_GOTO.c b/test_deliverable/testcases/test_GOTO.c new file mode 100644 index 0000000..4aa1266 --- /dev/null +++ b/test_deliverable/testcases/test_GOTO.c @@ -0,0 +1,17 @@ +int goto_(int a) +{ + goto helloWorld; + +start_: + a += 2; + + goto end_; + +helloWorld: + a *= 3; + goto start_; + +end_: + a -= 1; + return a; +} diff --git a/test_deliverable/testcases/test_GOTO_driver.c b/test_deliverable/testcases/test_GOTO_driver.c new file mode 100644 index 0000000..fe6ab06 --- /dev/null +++ b/test_deliverable/testcases/test_GOTO_driver.c @@ -0,0 +1,6 @@ +int goto_(int); + +int main() +{ + return !( 202 == goto_(67) ); +} diff --git a/test_deliverable/testcases/test_LOGAND.c b/test_deliverable/testcases/test_LOGAND.c new file mode 100644 index 0000000..6a16f72 --- /dev/null +++ b/test_deliverable/testcases/test_LOGAND.c @@ -0,0 +1,11 @@ +int logand(int a, int b) +{ + if(4 && 0) + { + return a * b; + } + else + { + return a * a * b; + } +} diff --git a/test_deliverable/testcases/test_LOGAND_driver.c b/test_deliverable/testcases/test_LOGAND_driver.c new file mode 100644 index 0000000..32a0f0b --- /dev/null +++ b/test_deliverable/testcases/test_LOGAND_driver.c @@ -0,0 +1,6 @@ +int logand(int, int); + +int main() +{ + return !( 36 == logand(3, 4) ); +} diff --git a/test_deliverable/testcases/test_LOGICAL.c b/test_deliverable/testcases/test_LOGICAL.c new file mode 100644 index 0000000..0bf68e2 --- /dev/null +++ b/test_deliverable/testcases/test_LOGICAL.c @@ -0,0 +1,4 @@ +int logical(int a, int b, int c) +{ + return (( (a != b || c == 2) && (3 / c + 2) ) && (5 / 2 + c)) + 32; +} diff --git a/test_deliverable/testcases/test_LOGICAL_driver.c b/test_deliverable/testcases/test_LOGICAL_driver.c new file mode 100644 index 0000000..8bb333b --- /dev/null +++ b/test_deliverable/testcases/test_LOGICAL_driver.c @@ -0,0 +1,6 @@ +int logical(int, int, int); + +int main() +{ + return !( 33 == logical(23, 392, 49) ); +} diff --git a/test_deliverable/testcases/test_LOGOR.c b/test_deliverable/testcases/test_LOGOR.c new file mode 100644 index 0000000..f079ab7 --- /dev/null +++ b/test_deliverable/testcases/test_LOGOR.c @@ -0,0 +1,7 @@ +int logor(int a, int b) +{ + if(a || b) + return a * b; + else + return a + b; +} diff --git a/test_deliverable/testcases/test_LOGOR_driver.c b/test_deliverable/testcases/test_LOGOR_driver.c new file mode 100644 index 0000000..c8db0ef --- /dev/null +++ b/test_deliverable/testcases/test_LOGOR_driver.c @@ -0,0 +1,6 @@ +int logor(int, int); + +int main() +{ + return !( 52 == logor(4, 13) ); +} diff --git a/test_deliverable/testcases/test_NOT.c b/test_deliverable/testcases/test_NOT.c new file mode 100644 index 0000000..1504d42 --- /dev/null +++ b/test_deliverable/testcases/test_NOT.c @@ -0,0 +1,6 @@ +int not(int a) +{ + a *= 4; + + return !a; +} diff --git a/test_deliverable/testcases/test_NOT_driver.c b/test_deliverable/testcases/test_NOT_driver.c new file mode 100644 index 0000000..1069052 --- /dev/null +++ b/test_deliverable/testcases/test_NOT_driver.c @@ -0,0 +1,6 @@ +int not(int); + +int main() +{ + return !( 5 == (not(0) * 5 + not(4)) ); +} diff --git a/test_deliverable/testcases/test_SHADOWING.c b/test_deliverable/testcases/test_SHADOWING.c new file mode 100644 index 0000000..a635ab5 --- /dev/null +++ b/test_deliverable/testcases/test_SHADOWING.c @@ -0,0 +1,9 @@ +int shadowing(int a, int b) +{ + { + int a = 2; + b = a; + } + + return b + a; +} diff --git a/test_deliverable/testcases/test_SHADOWING1.c b/test_deliverable/testcases/test_SHADOWING1.c new file mode 100644 index 0000000..fbc4a8a --- /dev/null +++ b/test_deliverable/testcases/test_SHADOWING1.c @@ -0,0 +1,11 @@ +int f() +{ + int a = 5; + int b = 8; + { + int b = 2; + a = b-1; + } + + return a * b; +} diff --git a/test_deliverable/testcases/test_SHADOWING1_driver.c b/test_deliverable/testcases/test_SHADOWING1_driver.c new file mode 100644 index 0000000..0998c39 --- /dev/null +++ b/test_deliverable/testcases/test_SHADOWING1_driver.c @@ -0,0 +1,6 @@ +int f(); + +int main() +{ + return !( 8 == f() ); +} diff --git a/test_deliverable/testcases/test_SHADOWING_driver.c b/test_deliverable/testcases/test_SHADOWING_driver.c new file mode 100644 index 0000000..52a2769 --- /dev/null +++ b/test_deliverable/testcases/test_SHADOWING_driver.c @@ -0,0 +1,6 @@ +int shadowing(int, int); + +int main() +{ + return !( 48 == shadowing(46, 29) ); +} diff --git a/test_deliverable/testcases/test_SWITCHDEF_driver.c b/test_deliverable/testcases/test_SWITCHDEF_driver.c index 091a2dd..d7dbdf1 100644 --- a/test_deliverable/testcases/test_SWITCHDEF_driver.c +++ b/test_deliverable/testcases/test_SWITCHDEF_driver.c @@ -2,5 +2,5 @@ int switchdef(int); int main() { - return ( 14 == switchdef(2) ); + return !( 14 == switchdef(2) ); } |