Оптимизируем пропуск условий при отсутствии ИД события

This commit is contained in:
2022-02-24 17:18:03 +03:00
parent 24a66b0ca4
commit 798897962e
2 changed files with 43 additions and 43 deletions

View File

@@ -8,7 +8,7 @@ public:
virtual ~ExprAST();
virtual IoTValue* exec();
virtual int setValue(IoTValue *val); // ret 0 - установка значения не поддерживается наследником
virtual bool hasEventIdName();
virtual bool hasEventIdName(String eventIdName);
};
class IoTScenario {
@@ -45,7 +45,7 @@ class IoTScenario {
/// identifierexpr
/// ::= identifier
/// ::= identifier '(' expression* ')'
ExprAST *ParseIdentifierExpr();
ExprAST *ParseIdentifierExpr(String *IDNames);
/// numberexpr ::= number
ExprAST *ParseNumberExpr();
@@ -60,7 +60,7 @@ class IoTScenario {
ExprAST *ParseQuotesExpr();
/// ifexpr ::= 'if' expression 'then' expression 'else' expression
ExprAST *ParseIfExpr();
ExprAST *ParseIfExpr(String* IDNames);
/// primary
/// ::= identifierexpr
@@ -75,7 +75,7 @@ class IoTScenario {
/// expression
/// ::= primary binoprhs
///
ExprAST *ParseExpression();
ExprAST *ParseExpression(String *IDNames);
std::vector<ExprAST*> ScenarioElements; // корневые элементы дерава