Skip to content

Commit 33c704b

Browse files
committed
Fixs sur les variables.
1 parent 6c2d0c6 commit 33c704b

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/Parser.cpp

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,18 @@ namespace FPL {
114114
if (PossibleVariable.has_value()) {
115115
if (isVariable(PossibleVariable->mText)) {
116116
if (CheckerOperateur(";").has_value()) {
117-
VariableDefinition variable;
118-
variable.VariableName = VarName->mText;
119-
variable.VariableType = Type(VarType->mName, VarType->mType);
120-
variable.VariableValue = mVariables[PossibleVariable->mText].VariableValue;
121-
122-
mVariables[variable.VariableName] = variable;
123-
return true;
117+
auto OldVariable = mVariables[PossibleVariable->mText];
118+
if (OldVariable.VariableType.mType == VarType->mType) {
119+
VariableDefinition variable;
120+
variable.VariableName = VarName->mText;
121+
variable.VariableType = Type(VarType->mName, VarType->mType);
122+
variable.VariableValue = OldVariable.VariableValue;
123+
124+
mVariables[variable.VariableName] = variable;
125+
return true;
126+
} else {
127+
std::cerr << "Vous devez donner une valeur a la variable qui correspond au type." << std::endl;
128+
}
124129
} else {
125130
std::cerr << "Merci de signifier la fin de la déclaration de la variable avec '|'." << std::endl;
126131
}

0 commit comments

Comments
 (0)