forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
5.5 KiB
176 lines
5.5 KiB
<?php |
|
|
|
/* |
|
PARTLY BASED ON: |
|
Copyright (c) 2007 E. W. Bachtal, Inc. |
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software |
|
and associated documentation files (the "Software"), to deal in the Software without restriction, |
|
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, |
|
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, |
|
subject to the following conditions: |
|
|
|
The above copyright notice and this permission notice shall be included in all copies or substantial |
|
portions of the Software. |
|
|
|
The software is provided "as is", without warranty of any kind, express or implied, including but not |
|
limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In |
|
no event shall the authors or copyright holders be liable for any claim, damages or other liability, |
|
whether in an action of contract, tort or otherwise, arising from, out of or in connection with the |
|
software or the use or other dealings in the software. |
|
|
|
http://ewbi.blogs.com/develops/2007/03/excel_formula_p.html |
|
http://ewbi.blogs.com/develops/2004/12/excel_formula_p.html |
|
*/ |
|
|
|
/** |
|
* PHPExcel_Calculation_FormulaToken |
|
* |
|
* Copyright (c) 2006 - 2015 PHPExcel |
|
* |
|
* This library is free software; you can redistribute it and/or |
|
* modify it under the terms of the GNU Lesser General Public |
|
* License as published by the Free Software Foundation; either |
|
* version 2.1 of the License, or (at your option) any later version. |
|
* |
|
* This library is distributed in the hope that it will be useful, |
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
* Lesser General Public License for more details. |
|
* |
|
* You should have received a copy of the GNU Lesser General Public |
|
* License along with this library; if not, write to the Free Software |
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
* |
|
* @category PHPExcel |
|
* @package PHPExcel_Calculation |
|
* @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) |
|
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL |
|
* @version ##VERSION##, ##DATE## |
|
*/ |
|
|
|
|
|
class PHPExcel_Calculation_FormulaToken |
|
{ |
|
/* Token types */ |
|
const TOKEN_TYPE_NOOP = 'Noop'; |
|
const TOKEN_TYPE_OPERAND = 'Operand'; |
|
const TOKEN_TYPE_FUNCTION = 'Function'; |
|
const TOKEN_TYPE_SUBEXPRESSION = 'Subexpression'; |
|
const TOKEN_TYPE_ARGUMENT = 'Argument'; |
|
const TOKEN_TYPE_OPERATORPREFIX = 'OperatorPrefix'; |
|
const TOKEN_TYPE_OPERATORINFIX = 'OperatorInfix'; |
|
const TOKEN_TYPE_OPERATORPOSTFIX = 'OperatorPostfix'; |
|
const TOKEN_TYPE_WHITESPACE = 'Whitespace'; |
|
const TOKEN_TYPE_UNKNOWN = 'Unknown'; |
|
|
|
/* Token subtypes */ |
|
const TOKEN_SUBTYPE_NOTHING = 'Nothing'; |
|
const TOKEN_SUBTYPE_START = 'Start'; |
|
const TOKEN_SUBTYPE_STOP = 'Stop'; |
|
const TOKEN_SUBTYPE_TEXT = 'Text'; |
|
const TOKEN_SUBTYPE_NUMBER = 'Number'; |
|
const TOKEN_SUBTYPE_LOGICAL = 'Logical'; |
|
const TOKEN_SUBTYPE_ERROR = 'Error'; |
|
const TOKEN_SUBTYPE_RANGE = 'Range'; |
|
const TOKEN_SUBTYPE_MATH = 'Math'; |
|
const TOKEN_SUBTYPE_CONCATENATION = 'Concatenation'; |
|
const TOKEN_SUBTYPE_INTERSECTION = 'Intersection'; |
|
const TOKEN_SUBTYPE_UNION = 'Union'; |
|
|
|
/** |
|
* Value |
|
* |
|
* @var string |
|
*/ |
|
private $value; |
|
|
|
/** |
|
* Token Type (represented by TOKEN_TYPE_*) |
|
* |
|
* @var string |
|
*/ |
|
private $tokenType; |
|
|
|
/** |
|
* Token SubType (represented by TOKEN_SUBTYPE_*) |
|
* |
|
* @var string |
|
*/ |
|
private $tokenSubType; |
|
|
|
/** |
|
* Create a new PHPExcel_Calculation_FormulaToken |
|
* |
|
* @param string $pValue |
|
* @param string $pTokenType Token type (represented by TOKEN_TYPE_*) |
|
* @param string $pTokenSubType Token Subtype (represented by TOKEN_SUBTYPE_*) |
|
*/ |
|
public function __construct($pValue, $pTokenType = PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN, $pTokenSubType = PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) |
|
{ |
|
// Initialise values |
|
$this->value = $pValue; |
|
$this->tokenType = $pTokenType; |
|
$this->tokenSubType = $pTokenSubType; |
|
} |
|
|
|
/** |
|
* Get Value |
|
* |
|
* @return string |
|
*/ |
|
public function getValue() |
|
{ |
|
return $this->value; |
|
} |
|
|
|
/** |
|
* Set Value |
|
* |
|
* @param string $value |
|
*/ |
|
public function setValue($value) |
|
{ |
|
$this->value = $value; |
|
} |
|
|
|
/** |
|
* Get Token Type (represented by TOKEN_TYPE_*) |
|
* |
|
* @return string |
|
*/ |
|
public function getTokenType() |
|
{ |
|
return $this->tokenType; |
|
} |
|
|
|
/** |
|
* Set Token Type |
|
* |
|
* @param string $value |
|
*/ |
|
public function setTokenType($value = PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN) |
|
{ |
|
$this->tokenType = $value; |
|
} |
|
|
|
/** |
|
* Get Token SubType (represented by TOKEN_SUBTYPE_*) |
|
* |
|
* @return string |
|
*/ |
|
public function getTokenSubType() |
|
{ |
|
return $this->tokenSubType; |
|
} |
|
|
|
/** |
|
* Set Token SubType |
|
* |
|
* @param string $value |
|
*/ |
|
public function setTokenSubType($value = PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) |
|
{ |
|
$this->tokenSubType = $value; |
|
} |
|
}
|
|
|