mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
Делаем доступным исходное значение числа
в виде строки для лучшей визуализаци
This commit is contained in:
@@ -46,7 +46,10 @@ class NumberExprAST : public ExprAST {
|
|||||||
IoTValue Val;
|
IoTValue Val;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NumberExprAST(float val) { Val.valD = val; }
|
NumberExprAST(String val) {
|
||||||
|
Val.valD = strtod(val.c_str(), 0);
|
||||||
|
Val.valS = val;
|
||||||
|
}
|
||||||
|
|
||||||
IoTValue *exec() {
|
IoTValue *exec() {
|
||||||
if (isIotScenException) return nullptr;
|
if (isIotScenException) return nullptr;
|
||||||
@@ -624,7 +627,7 @@ int IoTScenario::gettok() {
|
|||||||
return tok_identifier;
|
return tok_identifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
String NumStr="";
|
NumStr="";
|
||||||
if (LastChar == '-') {
|
if (LastChar == '-') {
|
||||||
LastChar = getLastChar();
|
LastChar = getLastChar();
|
||||||
if (isdigit(LastChar)) NumStr = "-";
|
if (isdigit(LastChar)) NumStr = "-";
|
||||||
@@ -637,7 +640,6 @@ int IoTScenario::gettok() {
|
|||||||
LastChar = getLastChar();
|
LastChar = getLastChar();
|
||||||
} while (isdigit(LastChar) || LastChar == '.');
|
} while (isdigit(LastChar) || LastChar == '.');
|
||||||
|
|
||||||
NumVal = strtod(NumStr.c_str(), 0);
|
|
||||||
return tok_number;
|
return tok_number;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -788,7 +790,7 @@ ExprAST *IoTScenario::ParseIdentifierExpr(String *IDNames, bool callFromConditio
|
|||||||
|
|
||||||
/// numberexpr ::= number
|
/// numberexpr ::= number
|
||||||
ExprAST *IoTScenario::ParseNumberExpr() {
|
ExprAST *IoTScenario::ParseNumberExpr() {
|
||||||
ExprAST *Result = new NumberExprAST(NumVal);
|
ExprAST *Result = new NumberExprAST(NumStr);
|
||||||
getNextToken(); // получаем число
|
getNextToken(); // получаем число
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user