aboutsummaryrefslogtreecommitdiffstats
path: root/test_deliverable
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-03-23 20:57:32 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-03-23 20:57:32 +0000
commit64d1100ea5a2f749db3a635d5fb2a688a551ecb7 (patch)
tree1acde757b3a39d0f7536faa42b1366ccb4b10f37 /test_deliverable
parent5e2dbac8d63b3a0031069495a0e1dafe825aba45 (diff)
downloadCompiler-64d1100ea5a2f749db3a635d5fb2a688a551ecb7.tar.gz
Compiler-64d1100ea5a2f749db3a635d5fb2a688a551ecb7.zip
Adding more tests and fixing
Diffstat (limited to 'test_deliverable')
-rw-r--r--test_deliverable/testcases/test_ALLOPER.c28
-rw-r--r--test_deliverable/testcases/test_ALLOPER_driver.c6
-rw-r--r--test_deliverable/testcases/test_CONTINUE.c18
-rw-r--r--test_deliverable/testcases/test_CONTINUE_driver.c6
-rw-r--r--test_deliverable/testcases/test_GOTO.c17
-rw-r--r--test_deliverable/testcases/test_GOTO_driver.c6
-rw-r--r--test_deliverable/testcases/test_LOGAND.c11
-rw-r--r--test_deliverable/testcases/test_LOGAND_driver.c6
-rw-r--r--test_deliverable/testcases/test_LOGICAL.c4
-rw-r--r--test_deliverable/testcases/test_LOGICAL_driver.c6
-rw-r--r--test_deliverable/testcases/test_LOGOR.c7
-rw-r--r--test_deliverable/testcases/test_LOGOR_driver.c6
-rw-r--r--test_deliverable/testcases/test_NOT.c6
-rw-r--r--test_deliverable/testcases/test_NOT_driver.c6
-rw-r--r--test_deliverable/testcases/test_SHADOWING.c9
-rw-r--r--test_deliverable/testcases/test_SHADOWING1.c11
-rw-r--r--test_deliverable/testcases/test_SHADOWING1_driver.c6
-rw-r--r--test_deliverable/testcases/test_SHADOWING_driver.c6
-rw-r--r--test_deliverable/testcases/test_SWITCHDEF_driver.c2
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) );
}