Skip to content

Commit 32861e4

Browse files
committed
Added Error Codes.
1 parent d36cee6 commit 32861e4

File tree

2 files changed

+250
-0
lines changed

2 files changed

+250
-0
lines changed
Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
#include "ErrorsCodeManagement.h"
2+
3+
void forgotType(FPL::Data::Data& data) {
4+
std::cerr << "Vous avez oublie de preciser le type, ligne "
5+
<< data.current_token->TokenLineNumber << "." << std::endl;
6+
exit(1);
7+
}
8+
9+
void forgotName(FPL::Data::Data& data) {
10+
std::cerr << "Vous avez oublie de donner un nom, ligne "
11+
<< data.current_token->TokenLineNumber << "." << std::endl;
12+
exit(2);
13+
}
14+
15+
void forgotEgalOperators(FPL::Data::Data& data) {
16+
std::cerr << "Vous avez oublie de placer les operateurs '->' pour donner une valeur, ligne "
17+
<< data.current_token->TokenLineNumber << "." << std::endl;
18+
exit(3);
19+
}
20+
21+
void forgotValue(FPL::Data::Data& data) {
22+
std::cerr << "Vous avez oublie de donner une valeur, ligne "
23+
<< data.current_token->TokenLineNumber << "." << std::endl;
24+
exit(4);
25+
}
26+
27+
void forgotEndInstructionOperator(FPL::Data::Data& data) {
28+
std::cerr << "Vous avez oublie de mettre l'operateur ';' pour mettre fin a l'instruction., ligne "
29+
<< data.current_token->TokenLineNumber << "." << std::endl;
30+
exit(5);
31+
}
32+
33+
void differentTypes(FPL::Data::Data& data) {
34+
std::cerr << "Vous avez declarer deux types differents dans une meme expression ce qui n'est pas possible, ligne "
35+
<< data.current_token->TokenLineNumber << "." << std::endl;
36+
exit(6);
37+
}
38+
39+
void variableAlreadyExist(FPL::Data::Data& data) {
40+
std::cerr << "Vous avez deja declare une variable avec ce nom, ligne "
41+
<< data.current_token->TokenLineNumber << "." << std::endl;
42+
exit(7);
43+
}
44+
45+
void variableDoesNotExist(FPL::Data::Data& data) {
46+
std::cerr << "La variable que vous cherchez n'existe pas, ligne "
47+
<< data.current_token->TokenLineNumber << "." << std::endl;
48+
exit(8);
49+
}
50+
51+
void BoolNotLikeValue(FPL::Data::Data& data) {
52+
std::cerr << "Pour utiliser le type bool vous devez pas mettre entre '\"' votre valeur mais marquer 'vrai' ou 'faux' simplement, ligne "
53+
<< data.current_token->TokenLineNumber << "." << std::endl;
54+
exit(9);
55+
}
56+
57+
void wrongTypeForBool(FPL::Data::Data& data) {
58+
std::cerr << "Pour utiliser un type bool vous devez mettre en argument 'boolean' ou 'bool', ligne "
59+
<< data.current_token->TokenLineNumber << "." << std::endl;
60+
exit(10);
61+
}
62+
63+
void needValueNextOperatorCondition(FPL::Data::Data& data) {
64+
std::cerr << "Apres votre operateur conditionnelle vous devez specifier une valeur, ligne "
65+
<< data.current_token->TokenLineNumber << "." << std::endl;
66+
exit(11);
67+
}
68+
69+
void inputTypeError(FPL::Data::Data& data) {
70+
std::cerr << "Votre reponse a l'entree clavier comporte un type non similaire a votre type preciser, ligne "
71+
<< data.current_token->TokenLineNumber << "." << std::endl;
72+
exit(12);
73+
}
74+
75+
void wrongType(FPL::Data::Data& data) {
76+
std::cerr << "Le type de la valeur preciser n'est pas valide, ligne "
77+
<< data.current_token->TokenLineNumber << "." << std::endl;
78+
exit(13);
79+
}
80+
81+
void CONVERSION_sameTypeVariable(FPL::Data::Data& data) {
82+
std::cerr << "Le type precise est le meme que le type de votre variable dans votre conversion donc aucun changement n'est necessaire, ligne "
83+
<< data.current_token->TokenLineNumber << "." << std::endl;
84+
exit(14);
85+
}
86+
87+
void CONVERSION_boolNumberFromInt(FPL::Data::Data& data) {
88+
std::cerr << "La variable doit etre de type 'entier' (int) et doit contenir 1 pour 'vrai' et 0 pour 'faux', ligne "
89+
<< data.current_token->TokenLineNumber << "." << std::endl;
90+
exit(15);
91+
}
92+
93+
void FONCTION_forgotfirstParenthese(FPL::Data::Data& data) {
94+
std::cerr << "Vous devez ouvrir les parentheses pour inserer des arguments si vous le souhaitez, ligne "
95+
<< data.current_token->TokenLineNumber << "." << std::endl;
96+
exit(16);
97+
}
98+
99+
void FONCTION_forgotargtype(FPL::Data::Data& data) {
100+
std::cerr << "Vous devez donner un le type de votre argument, ligne "
101+
<< data.current_token->TokenLineNumber << "." << std::endl;
102+
exit(17);
103+
}
104+
105+
void FONCTION_forgotargname(FPL::Data::Data& data) {
106+
std::cerr << "Vous devez donner un le nom de votre argument, ligne "
107+
<< data.current_token->TokenLineNumber << "." << std::endl;
108+
exit(18);
109+
}
110+
111+
void FONCTION_forgotaddarg(FPL::Data::Data& data) {
112+
std::cerr << "Vous devez separer vos argument avec une ',', ligne "
113+
<< data.current_token->TokenLineNumber << "." << std::endl;
114+
exit(19);
115+
}
116+
117+
void FONCTION_forgotinsertcode(FPL::Data::Data& data) {
118+
std::cerr << "Vous devez ouvrir et fermer avec '{' et '}' pour inserer votre code, ligne "
119+
<< data.current_token->TokenLineNumber << "." << std::endl;
120+
exit(20);
121+
}
122+
123+
void FONCTION_argumentexist(FPL::Data::Data& data) {
124+
std::cerr << "L'argument existe deja, merci de donner un autre nom, ligne "
125+
<< data.current_token->TokenLineNumber << "." << std::endl;
126+
exit(21);
127+
}
128+
129+
void FONCTION_forgotnametocall(FPL::Data::Data& data){
130+
std::cerr << "Vous devez preciser le nom de la fonction que vous souhaitez appeler, ligne "
131+
<< data.current_token->TokenLineNumber << "." << std::endl;
132+
exit(22);
133+
}
134+
135+
void FONCTION_forgotargumenttogivevalue(FPL::Data::Data& data) {
136+
std::cerr << "Vous devez donner un argument, ligne "
137+
<< data.current_token->TokenLineNumber << "." << std::endl;
138+
exit(23);
139+
}
140+
141+
void FONCTION_forgotargumentvalue(FPL::Data::Data& data) {
142+
std::cerr << "Vous devez transmettre une valeur a votre argument, ligne "
143+
<< data.current_token->TokenLineNumber << "." << std::endl;
144+
exit(24);
145+
}
146+
147+
void FONCTION_argumentDoesNotExist(FPL::Data::Data& data) {
148+
std::cerr << "Cet argument n'existe pas, ligne "
149+
<< data.current_token->TokenLineNumber << "." << std::endl;
150+
exit(25);
151+
}
152+
153+
void FONCTION_noneedargs(FPL::Data::Data& data) {
154+
std::cerr << "La fonction ne demande pas des arguments donc veuillez retirer ':' et mettre directement ';' à la fin de l'instruction, ligne "
155+
<< data.current_token->TokenLineNumber << "." << std::endl;
156+
exit(26);
157+
}
158+
159+
void FONCTION_didnotfindarg(FPL::Data::Data& data) {
160+
std::cerr << "L'argument est introuvable, veuillez reessayer ou contacter l'equipe de developpement, ligne "
161+
<< data.current_token->TokenLineNumber << "." << std::endl;
162+
exit(27);
163+
}
164+
165+
void VAR_wrongparameter(FPL::Data::Data& data) {
166+
std::cerr << "Vous devez preciser un parametre pour votre variable qui existe : 'globale', 'fonction', ligne "
167+
<< data.current_token->TokenLineNumber << "." << std::endl;
168+
exit(28);
169+
}
170+
171+
void VAR_closeparameter(FPL::Data::Data& data) {
172+
std::cerr << "Vous devez fermer les parenthese si vous avez voulu introduire un parametre pour votre variable, ligne "
173+
<< data.current_token->TokenLineNumber << "." << std::endl;
174+
exit(29);
175+
}
176+
177+
void FONCTION_doesnotexist(FPL::Data::Data& data) {
178+
std::cerr << "La fonction n'existe pas, ligne "
179+
<< data.current_token->TokenLineNumber << "." << std::endl;
180+
exit(30);
181+
}
182+
183+
void RETURN_noinfonction(FPL::Data::Data& data) {
184+
std::cerr << "Vous ne devez pas utiliser 'renvoyer' en dehors d'une fonction, ligne "
185+
<< data.current_token->TokenLineNumber << "." << std::endl;
186+
exit(31);
187+
}
188+
189+
void RETURN_novariablefound(FPL::Data::Data& data) {
190+
std::cerr << "Vous devez declarer une variable sous ce format : 'variable TYPE_DE_RETOUR fonction NOM -> FONCTION;', ligne "
191+
<< data.current_token->TokenLineNumber << "." << std::endl;
192+
exit(32);
193+
}
194+
195+
void RETURN_noreturn(FPL::Data::Data& data) {
196+
std::cerr << "Aucune instruction 'renvoyer' n'a ete trouve, ligne "
197+
<< data.current_token->TokenLineNumber << "." << std::endl;
198+
exit(33);
199+
}
200+
201+
void RETURN_wrongtype(FPL::Data::Data& data) {
202+
std::cerr << "Les types doivent etre les meme et non differents, ligne "
203+
<< data.current_token->TokenLineNumber << "." << std::endl;
204+
exit(33);
205+
}
206+
207+
void IMPORT_needfilename(FPL::Data::Data& data) {
208+
std::cerr << "Vous devez donner le nom du fichier entre guillements : '\"', ligne "
209+
<< data.current_token->TokenLineNumber << "." << std::endl;
210+
exit(33);
211+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#include <iostream>
2+
3+
#include "Data.h"
4+
5+
void forgotType(FPL::Data::Data& data);
6+
void forgotName(FPL::Data::Data& data);
7+
void forgotEgalOperators(FPL::Data::Data& data);
8+
void forgotValue(FPL::Data::Data& data);
9+
void forgotEndInstructionOperator(FPL::Data::Data& data);
10+
void differentTypes(FPL::Data::Data& data);
11+
void variableAlreadyExist(FPL::Data::Data& data);
12+
void BoolNotLikeValue(FPL::Data::Data& data);
13+
void wrongTypeForBool(FPL::Data::Data& data);
14+
void needValueNextOperatorCondition(FPL::Data::Data& data);
15+
void variableDoesNotExist(FPL::Data::Data& data);
16+
void inputTypeError(FPL::Data::Data& data);
17+
void wrongType(FPL::Data::Data& data);
18+
void CONVERSION_sameTypeVariable(FPL::Data::Data& data);
19+
void CONVERSION_boolNumberFromInt(FPL::Data::Data& data);
20+
void FONCTION_forgotfirstParenthese(FPL::Data::Data& data);
21+
void FONCTION_forgotargtype(FPL::Data::Data& data);
22+
void FONCTION_forgotargname(FPL::Data::Data& data);
23+
void FONCTION_forgotaddarg(FPL::Data::Data& data);
24+
void FONCTION_forgotinsertcode(FPL::Data::Data& data);
25+
void FONCTION_argumentexist(FPL::Data::Data& data);
26+
void FONCTION_forgotnametocall(FPL::Data::Data& data);
27+
void FONCTION_forgotargumenttogivevalue(FPL::Data::Data& data);
28+
void FONCTION_forgotargumentvalue(FPL::Data::Data& data);
29+
void FONCTION_argumentDoesNotExist(FPL::Data::Data& data);
30+
void FONCTION_noneedargs(FPL::Data::Data& data);
31+
void FONCTION_didnotfindarg(FPL::Data::Data& data);
32+
void VAR_wrongparameter(FPL::Data::Data& data);
33+
void VAR_closeparameter(FPL::Data::Data& data);
34+
void FONCTION_doesnotexist(FPL::Data::Data& data);
35+
void RETURN_noinfonction(FPL::Data::Data& data);
36+
void RETURN_novariablefound(FPL::Data::Data& data);
37+
void RETURN_noreturn(FPL::Data::Data& data);
38+
void RETURN_wrongtype(FPL::Data::Data& data);
39+
void IMPORT_needfilename(FPL::Data::Data& data);

0 commit comments

Comments
 (0)