From c024ef6673b95f8bd5b0bd455bdf20c2b214ec77 Mon Sep 17 00:00:00 2001 From: biver Date: Fri, 25 Feb 2022 21:51:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D0=BC=20&(=D0=B8)=20=D0=B8=20|(=D0=B8=D0=BB=D0=B8)=20?= =?UTF-8?q?=D0=B2=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/classes/IoTScenario.cpp | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/classes/IoTScenario.cpp b/src/classes/IoTScenario.cpp index 4551d091..e22e83d2 100644 --- a/src/classes/IoTScenario.cpp +++ b/src/classes/IoTScenario.cpp @@ -153,6 +153,13 @@ public: else val.valD = 3.4E+38; break; + case '|': + val.valD = lhs->valD || rhs->valD; + break; + case '&': + val.valD = lhs->valD && rhs->valD; + break; + default: break; } @@ -652,17 +659,19 @@ public: IoTScenario::IoTScenario() { // Задаём стандартные бинарные операторы. // 1 - наименьший приоритет. - BinopPrecedence['='] = 1; - BinopPrecedence[tok_equal] = 3; // == - BinopPrecedence[tok_notequal] = 4; // != - BinopPrecedence[tok_lesseq] = 5; // <= - BinopPrecedence[tok_greateq] = 6; // >= - BinopPrecedence['<'] = 10; - BinopPrecedence['>'] = 10; - BinopPrecedence['+'] = 20; - BinopPrecedence['-'] = 20; - BinopPrecedence['/'] = 35; - BinopPrecedence['*'] = 40; // highest. + BinopPrecedence['='] = 1; + BinopPrecedence['|'] = 5; + BinopPrecedence['&'] = 6; + BinopPrecedence[tok_equal] = 10; // == + BinopPrecedence[tok_notequal] = 11; // != + BinopPrecedence[tok_lesseq] = 15; // <= + BinopPrecedence[tok_greateq] = 16; // >= + BinopPrecedence['<'] = 20; + BinopPrecedence['>'] = 21; + BinopPrecedence['+'] = 25; + BinopPrecedence['-'] = 26; + BinopPrecedence['/'] = 27; + BinopPrecedence['*'] = 28; // highest. } IoTScenario::~IoTScenario() {} \ No newline at end of file