From 3c2c2b003f6656f37b50234d15b0f2c8b52df883 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Fri, 24 Sep 2021 01:55:00 +0200 Subject: [PATCH] patterns: Fixed unary expressions in parenthesis --- plugins/libimhex/source/pattern_language/parser.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/libimhex/source/pattern_language/parser.cpp b/plugins/libimhex/source/pattern_language/parser.cpp index c55c0cb58..d9e98aaec 100644 --- a/plugins/libimhex/source/pattern_language/parser.cpp +++ b/plugins/libimhex/source/pattern_language/parser.cpp @@ -115,6 +115,8 @@ namespace hex::pl { ASTNode* Parser::parseFactor() { if (MATCHES(sequence(INTEGER))) return new ASTNodeLiteral(getValue(-1)); + else if (peek(OPERATOR_PLUS) || peek(OPERATOR_MINUS) || peek(OPERATOR_BITNOT) || peek(OPERATOR_BOOLNOT)) + return this->parseMathematicalExpression(); else if (MATCHES(sequence(SEPARATOR_ROUNDBRACKETOPEN))) { auto node = this->parseMathematicalExpression(); if (!MATCHES(sequence(SEPARATOR_ROUNDBRACKETCLOSE))) {