[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * PHPExcel 4 * 5 * Copyright (c) 2006 - 2014 PHPExcel 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 * 21 * @category PHPExcel 22 * @package PHPExcel_Calculation 23 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) 24 * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 25 * @version ##VERSION##, ##DATE## 26 */ 27 28 29 /** 30 * PHPExcel_Calculation_Token_Stack 31 * 32 * @category PHPExcel_Calculation_Token_Stack 33 * @package PHPExcel_Calculation 34 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) 35 */ 36 class PHPExcel_Calculation_Token_Stack { 37 38 /** 39 * The parser stack for formulae 40 * 41 * @var mixed[] 42 */ 43 private $_stack = array(); 44 45 /** 46 * Count of entries in the parser stack 47 * 48 * @var integer 49 */ 50 private $_count = 0; 51 52 53 /** 54 * Return the number of entries on the stack 55 * 56 * @return integer 57 */ 58 public function count() { 59 return $this->_count; 60 } // function count() 61 62 /** 63 * Push a new entry onto the stack 64 * 65 * @param mixed $type 66 * @param mixed $value 67 * @param mixed $reference 68 */ 69 public function push($type, $value, $reference = NULL) { 70 $this->_stack[$this->_count++] = array('type' => $type, 71 'value' => $value, 72 'reference' => $reference 73 ); 74 if ($type == 'Function') { 75 $localeFunction = PHPExcel_Calculation::_localeFunc($value); 76 if ($localeFunction != $value) { 77 $this->_stack[($this->_count - 1)]['localeValue'] = $localeFunction; 78 } 79 } 80 } // function push() 81 82 /** 83 * Pop the last entry from the stack 84 * 85 * @return mixed 86 */ 87 public function pop() { 88 if ($this->_count > 0) { 89 return $this->_stack[--$this->_count]; 90 } 91 return NULL; 92 } // function pop() 93 94 /** 95 * Return an entry from the stack without removing it 96 * 97 * @param integer $n number indicating how far back in the stack we want to look 98 * @return mixed 99 */ 100 public function last($n = 1) { 101 if ($this->_count - $n < 0) { 102 return NULL; 103 } 104 return $this->_stack[$this->_count - $n]; 105 } // function last() 106 107 /** 108 * Clear the stack 109 */ 110 function clear() { 111 $this->_stack = array(); 112 $this->_count = 0; 113 } 114 115 } // class PHPExcel_Calculation_Token_Stack
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |