diff options
author | pacien | 2018-02-23 01:11:34 +0100 |
---|---|---|
committer | pacien | 2018-02-23 01:11:34 +0100 |
commit | 806dd4ff649a1fb9a28dc469cc17d7dd5dbc1da5 (patch) | |
tree | da414ebbb1807a2dea82235faa429f6e6613db69 /res | |
parent | 11acfa2e75350d31a665b8ee99925916c2c8b5f1 (diff) | |
download | tpc-compiler-806dd4ff649a1fb9a28dc469cc17d7dd5dbc1da5.tar.gz |
Adapt for new grammar
Diffstat (limited to 'res')
-rw-r--r-- | res/exp.tpc | 5 | ||||
-rw-r--r-- | res/instr.tpc | 28 | ||||
-rw-r--r-- | res/ko_sample.tpc | 24 | ||||
-rw-r--r-- | res/ok_sample.tpc | 24 | ||||
-rw-r--r-- | res/trinome.tpc | 43 |
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 | |||
7 | const special = 'b'; | ||
8 | |||
9 | char funky_func(int arg) { | ||
10 | return !arg; | ||
11 | } | ||
12 | |||
13 | void 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 | |||
7 | const special = 'b'; | ||
8 | |||
9 | char funky_func(int arg) { | ||
10 | return !arg; | ||
11 | } | ||
12 | |||
13 | void 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é */ | ||
6 | float r1, r2; | ||
7 | |||
8 | int 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 | |||
28 | int 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 | |||
41 | double valeur(double a, double b, double c, double x) { | ||
42 | return a*x*x+b*x+c; | ||
43 | } \ No newline at end of file | ||