aboutsummaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
authorpacien2018-02-23 01:11:34 +0100
committerpacien2018-02-23 01:11:34 +0100
commit806dd4ff649a1fb9a28dc469cc17d7dd5dbc1da5 (patch)
treeda414ebbb1807a2dea82235faa429f6e6613db69 /res
parent11acfa2e75350d31a665b8ee99925916c2c8b5f1 (diff)
downloadtpc-compiler-806dd4ff649a1fb9a28dc469cc17d7dd5dbc1da5.tar.gz
Adapt for new grammar
Diffstat (limited to 'res')
-rw-r--r--res/exp.tpc5
-rw-r--r--res/instr.tpc28
-rw-r--r--res/ko_sample.tpc24
-rw-r--r--res/ok_sample.tpc24
-rw-r--r--res/trinome.tpc43
5 files changed, 48 insertions, 76 deletions
diff --git a/res/exp.tpc b/res/exp.tpc
deleted file mode 100644
index 471c068..0000000
--- a/res/exp.tpc
+++ /dev/null
@@ -1,5 +0,0 @@
1/* exp.tpc */
2
3/* double valeur(double a, double b, double c, double x) ; */
4/* Résolution d'une équation du deuxième degré */
5 r1=(-b+s)/(2*a)+print(valeur(1,b,c,r1),valeur(1,b,c,r2))
diff --git a/res/instr.tpc b/res/instr.tpc
deleted file mode 100644
index 7153ac2..0000000
--- a/res/instr.tpc
+++ /dev/null
@@ -1,28 +0,0 @@
1/* instr.tpc */
2/* int trinome(float a, float b, float c) ;
3 double valeur(double a, double b, double c, double x) ; */
4/* Résolution d'une équation du deuxième degré */
5 b=-1;
6 while (b<=1) {
7 c=-1;
8 while (c<=1) {
9 print(b, c);
10 if (trinome(1,b,c)) {
11 print(r1, r2);
12 print(valeur(1,b,c,r1),valeur(1,b,c,r2));
13 }
14 c=c+1;
15 }
16 b=b+1;
17 }
18 return 0;
19 d=b*b-4*a*c;
20 if (d>=0) {
21 s=sqrt(d);
22 r1=(-b+s)/(2*a);
23 r2=(-b-s)/(2*a);
24 return 1;
25 }
26 return 0;
27 if (0<=r1 && r1<=max && 0>=r2 && r2>=-max)
28 return; \ No newline at end of file
diff --git a/res/ko_sample.tpc b/res/ko_sample.tpc
new file mode 100644
index 0000000..f3a4c7a
--- /dev/null
+++ b/res/ko_sample.tpc
@@ -0,0 +1,24 @@
1/**
2 * UPEM / Compilation / Projet TPC
3 * Exemple de fichier source TPC invalide
4 * Pacien TRAN-GIRARD, Adam NAILI
5 */
6
7const special = 'b';
8
9char funky_func(int arg) {
10 return !arg;
11}
12
13void main(void) {
14 void ret;
15 ret = 1 + funky_func(0) * 2;
16
17 while (ret) {
18 readc(ret);
19 print(ret);
20
21 if (ret == special) print('!');
22 }
23}
24
diff --git a/res/ok_sample.tpc b/res/ok_sample.tpc
new file mode 100644
index 0000000..7591dfd
--- /dev/null
+++ b/res/ok_sample.tpc
@@ -0,0 +1,24 @@
1/**
2 * UPEM / Compilation / Projet TPC
3 * Exemple de fichier source TPC valide
4 * Pacien TRAN-GIRARD, Adam NAILI
5 */
6
7const special = 'b';
8
9char funky_func(int arg) {
10 return !arg;
11}
12
13void main(void) {
14 char ret;
15 ret = 1 + funky_func(0) * 2;
16
17 while (ret) {
18 readc(ret);
19 print(ret);
20
21 if (ret == special) print('!');
22 }
23}
24
diff --git a/res/trinome.tpc b/res/trinome.tpc
deleted file mode 100644
index c3e2f94..0000000
--- a/res/trinome.tpc
+++ /dev/null
@@ -1,43 +0,0 @@
1/* #include <stdio.h>
2 #include <math.h> */
3/* int trinome(float a, float b, float c) ;
4 double valeur(double a, double b, double c, double x) ; */
5/* Résolution d'une équation du deuxième degré */
6float r1, r2;
7
8int main(void) {
9 int b, c;
10 b=-1;
11 while (b<=1) {
12 c=-1;
13 while (c<=1) {
14 print(b, c);
15 if (trinome(1,b,c)) {
16 print(r1, r2);
17 print(valeur(1,b,c,r1),valeur(1,b,c,r2));
18 if (0<=r1 && r1<=max && 0>=r2 && r2>=-max)
19 return 0;
20 }
21 c=c+1;
22 }
23 b=b+1;
24 }
25 return 0;
26}
27
28int trinome(float a,float b, float c) {
29 float d;
30 float s;
31 d=b*b-4*a*c;
32 if (d>=0) {
33 s=sqrt(d);
34 r1=(-b+s)/(2*a);
35 r2=(-b-s)/(2*a);
36 return 1;
37 }
38 return 0;
39}
40
41double valeur(double a, double b, double c, double x) {
42 return a*x*x+b*x+c;
43} \ No newline at end of file