From 2eaa1438558941c431079e13ccf85d562c49e02c Mon Sep 17 00:00:00 2001 From: Xavier Noguer Gallego Date: Thu, 27 Feb 2003 22:36:43 +0000 Subject: [PATCH] adding support for the inequality sign in formulas git-svn-id: https://svn.php.net/repository/pear/packages/Spreadsheet_Excel_Writer/trunk@118345 c90b9560-bf6c-de11-be94-00142212c4b1 --- Writer/Parser.php | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/Writer/Parser.php b/Writer/Parser.php index 7c34f2b..4f991c6 100644 --- a/Writer/Parser.php +++ b/Writer/Parser.php @@ -32,11 +32,6 @@ define('SPREADSHEET_EXCEL_WRITER_ADD',"+"); */ define('SPREADSHEET_EXCEL_WRITER_SUB',"-"); -/** -* @const SPREADSHEET_EXCEL_WRITER_EQUAL token identifier for character "=" -*/ -define('SPREADSHEET_EXCEL_WRITER_EQUAL',"="); - /** * @const SPREADSHEET_EXCEL_WRITER_MUL token identifier for character "*" */ @@ -87,6 +82,11 @@ define('SPREADSHEET_EXCEL_WRITER_GE',">="); */ define('SPREADSHEET_EXCEL_WRITER_EQ',"="); +/** +* @const SPREADSHEET_EXCEL_WRITER_NE token identifier for character "<>" +*/ +define('SPREADSHEET_EXCEL_WRITER_NE',"<>"); + require_once('PEAR.php'); @@ -1028,7 +1028,8 @@ class Parser extends PEAR return($token); break; case SPREADSHEET_EXCEL_WRITER_LT: - if ($this->_lookahead == '=') { // it's a LE token + // it's a LE or a NE token + if (($this->_lookahead == '=') or ($this->_lookahead == '>')) { break; } return($token); @@ -1042,6 +1043,9 @@ class Parser extends PEAR case SPREADSHEET_EXCEL_WRITER_EQ: return($token); break; + case SPREADSHEET_EXCEL_WRITER_NE: + return($token); + break; default: // if it's a reference if(eregi("^[A-I]?[A-Z][0-9]+$",$token) and @@ -1170,6 +1174,15 @@ class Parser extends PEAR } $result = $this->_createTree('ptgEQ', $result, $result2); } + elseif ($this->_current_token == SPREADSHEET_EXCEL_WRITER_NE) + { + $this->_advance(); + $result2 = $this->_expression(); + if($this->isError($result2)) { + return $result2; + } + $result = $this->_createTree('ptgNE', $result, $result2); + } return $result; } /**