From 4d50343330183a498c34a20d20e5981c26602c0c Mon Sep 17 00:00:00 2001 From: Bruce Wells Date: Tue, 21 Apr 2020 11:12:55 -0400 Subject: Negative expression start (#60) * Update documentation for PHPFUI/InstaDoc * Support for negative numbers starting paren enclosed expressions --- src/NXP/Classes/Lexer.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/NXP/Classes/Lexer.php') diff --git a/src/NXP/Classes/Lexer.php b/src/NXP/Classes/Lexer.php index a7fe697..9964de9 100644 --- a/src/NXP/Classes/Lexer.php +++ b/src/NXP/Classes/Lexer.php @@ -76,10 +76,10 @@ class Lexer $output[] = $token; } elseif ($token instanceof TokenNumber) { // if the number starts with a minus sign, it could be a negative number, or it could be an operator grabbed by the greedy regex - // if previous token is an operator, then it negative, otherwise remove the minus sign and put a negative operator on the stack + // if previous token is an operator or open bracket, then it negative, otherwise remove the minus sign and put a negative operator on the stack if ($lastToken !== null) { $value = $token->getValue(); - if (($value < 0 || $this->isNegativeZero($value)) && ! ($lastToken instanceof AbstractOperator)) { + if (($value < 0 || $this->isNegativeZero($value)) && ! ($lastToken instanceof AbstractOperator || $lastToken instanceof TokenLeftBracket)) { $token = new TokenNumber(abs($value)); $output[] = $token; $output[] = new TokenMinus('-'); -- cgit v1.2.3