@@ -162,47 +162,54 @@ namespace FPL {
162162 if (CheckerOperateur (" -" ).has_value ()) {
163163 if (CheckerOperateur (" >" ).has_value ()) {
164164 auto VarValue = CheckerValue ();
165+
166+ if (VarValue->StatementType .mType == STRING) {
167+ std::replace (VarValue->StatementName .begin (), VarValue->StatementName .end (), ' "' , ' ' );
168+ }
169+
165170 if (VarValue.has_value ()) {
166- if (CheckerOperateur (" ;" ).has_value ()) {
167- if (VarValue->StatementType .mType == STRING) {
168- std::replace (VarValue->StatementName .begin (), VarValue->StatementName .end (), ' "' , ' ' );
169- }
170- if (VarType->mType == INT) {
171- int v;
172- std::cin >> v;
173- VariableDefinition variable;
174- variable.VariableName = VarName->mText ;
175- variable.VariableType = Type (VarType->mName , VarType->mType );
176- variable.VariableValue = std::to_string (v);
177-
178- mVariables [variable.VariableName ] = variable;
179- return true ;
180- } else if (VarType->mType == DOUBLE) {
181- double v;
182- std::cin >> v;
183- VariableDefinition variable;
184- variable.VariableName = VarName->mText ;
185- variable.VariableType = Type (VarType->mName , VarType->mType );
186- variable.VariableValue = std::to_string (v);
171+ std::cout << VarValue->StatementName << std::endl;
172+ }
173+ if (CheckerOperateur (" ;" ).has_value ()) {
174+ if (VarType->mType == INT) {
175+ int v;
176+ std::cin >> v;
177+ VariableDefinition variable;
178+ variable.VariableName = VarName->mText ;
179+ variable.VariableType = Type (VarType->mName , VarType->mType );
180+ variable.IsGlobal = false ;
181+ variable.InFonction = false ;
182+ variable.VariableValue = std::to_string (v);
187183
188- mVariables [variable.VariableName ] = variable;
189- return true ;
190- } else if (VarType->mType == STRING) {
184+ mVariables [variable.VariableName ] = variable;
185+ return true ;
186+ } else if (VarType->mType == DOUBLE) {
187+ double v;
188+ std::cin >> v;
189+ VariableDefinition variable;
190+ variable.VariableName = VarName->mText ;
191+ variable.VariableType = Type (VarType->mName , VarType->mType );
192+ variable.IsGlobal = false ;
193+ variable.InFonction = false ;
194+ variable.VariableValue = std::to_string (v);
191195
192- std::string v;
193- std::cin >> v;
194- VariableDefinition variable;
195- variable.VariableName = VarName->mText ;
196- variable.VariableType = Type (VarType->mName , VarType->mType );
197- variable.VariableValue = v;
196+ mVariables [variable.VariableName ] = variable;
197+ return true ;
198+ } else if (VarType->mType == STRING) {
198199
199- mVariables [variable.VariableName ] = variable;
200- return true ;
201- } else {
202- std::cerr << " Le type est inexistant en F.P.L." << std::endl;
203- }
200+ std::string v;
201+ std::cin >> v;
202+ VariableDefinition variable;
203+ variable.VariableName = VarName->mText ;
204+ variable.VariableType = Type (VarType->mName , VarType->mType );
205+ variable.IsGlobal = false ;
206+ variable.InFonction = false ;
207+ variable.VariableValue = v;
208+
209+ mVariables [variable.VariableName ] = variable;
210+ return true ;
204211 } else {
205- std::cerr << " Merci de signifier la fin de la déclaration de la variable avec ';' ." << std::endl;
212+ std::cerr << " Le type est inexistant en F.P.L ." << std::endl;
206213 }
207214 } else {
208215 std::cerr << " Merci de signifier la fin de la déclaration de la variable avec ';'." << std::endl;
@@ -218,6 +225,8 @@ namespace FPL {
218225 VariableDefinition variable;
219226 variable.VariableName = VarName->mText ;
220227 variable.VariableType = Type (VarType->mName , VarType->mType );
228+ variable.IsGlobal = false ;
229+ variable.InFonction = false ;
221230 variable.VariableValue = std::to_string (v);
222231
223232 mVariables [variable.VariableName ] = variable;
@@ -228,6 +237,8 @@ namespace FPL {
228237 VariableDefinition variable;
229238 variable.VariableName = VarName->mText ;
230239 variable.VariableType = Type (VarType->mName , VarType->mType );
240+ variable.IsGlobal = false ;
241+ variable.InFonction = false ;
231242 variable.VariableValue = std::to_string (v);
232243
233244 mVariables [variable.VariableName ] = variable;
@@ -238,6 +249,8 @@ namespace FPL {
238249 VariableDefinition variable;
239250 variable.VariableName = VarName->mText ;
240251 variable.VariableType = Type (VarType->mName , VarType->mType );
252+ variable.IsGlobal = false ;
253+ variable.InFonction = false ;
241254 variable.VariableValue = v;
242255
243256 mVariables [variable.VariableName ] = variable;
@@ -257,29 +270,21 @@ namespace FPL {
257270 if (CheckerOperateur (" >" ).has_value ()) {
258271 auto VarValue = CheckerValue ();
259272 if (VarValue.has_value ()) {
260- if (VarType->mType == AUTO) {
261- if (CheckerOperateur (" ;" ).has_value ()) {
262- VariableDefinition variable;
263- variable.VariableName = VarName->mText ;
264- variable.VariableType = Type (VarValue->StatementType .mName , VarValue->StatementType .mType );
265- variable.VariableValue = VarValue->StatementName ;
266-
267- mVariables [variable.VariableName ] = variable;
268-
269- return true ;
270- } else {
271- std::cerr << " Merci de signifier la fin de la declaration de la variable avec ';'." << std::endl;
272- }
273- }
274-
275273 if (VarValue->StatementType .mType == VarType->mType ) {
276274 if (CheckerOperateur (" ;" ).has_value ()) {
277275 VariableDefinition variable;
278276 variable.VariableName = VarName->mText ;
279- variable.VariableType = Type (VarType->mName , VarType->mType );
277+ if (VarType->mType == AUTO) {
278+ variable.VariableType = Type (VarValue->StatementType .mName , VarValue->StatementType .mType );
279+ } else {
280+ variable.VariableType = Type (VarType->mName , VarType->mType );
281+ }
282+ variable.IsGlobal = false ;
283+ variable.InFonction = false ;
280284 variable.VariableValue = VarValue->StatementName ;
281285
282286 mVariables [variable.VariableName ] = variable;
287+
283288 return true ;
284289 } else {
285290 std::cerr << " Merci de signifier la fin de la declaration de la variable avec ';'." << std::endl;
0 commit comments