summaryrefslogtreecommitdiffstats
path: root/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php
diff options
context:
space:
mode:
authorAnton Luka Šijanec <anton@sijanec.eu>2024-05-27 13:08:29 +0200
committerAnton Luka Šijanec <anton@sijanec.eu>2024-05-27 13:08:29 +0200
commit75160b12821f7f4299cce7f0b69c83c1502ae071 (patch)
tree27e25e4ccaef45f0c58b22831164050d1af1d4db /vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php
parentprvi-commit (diff)
download1ka-75160b12821f7f4299cce7f0b69c83c1502ae071.tar
1ka-75160b12821f7f4299cce7f0b69c83c1502ae071.tar.gz
1ka-75160b12821f7f4299cce7f0b69c83c1502ae071.tar.bz2
1ka-75160b12821f7f4299cce7f0b69c83c1502ae071.tar.lz
1ka-75160b12821f7f4299cce7f0b69c83c1502ae071.tar.xz
1ka-75160b12821f7f4299cce7f0b69c83c1502ae071.tar.zst
1ka-75160b12821f7f4299cce7f0b69c83c1502ae071.zip
Diffstat (limited to 'vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php')
-rw-r--r--vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php150
1 files changed, 150 insertions, 0 deletions
diff --git a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php
new file mode 100644
index 0000000..bed0caa
--- /dev/null
+++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php
@@ -0,0 +1,150 @@
+<?php
+
+namespace PhpOffice\PhpSpreadsheet\Calculation;
+
+/**
+ * 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.
+ *
+ * https://ewbi.blogs.com/develops/2007/03/excel_formula_p.html
+ * https://ewbi.blogs.com/develops/2004/12/excel_formula_p.html
+ */
+class 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 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 = self::TOKEN_TYPE_UNKNOWN, $pTokenSubType = self::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): void
+ {
+ $this->value = $value;
+ }
+
+ /**
+ * Get Token Type (represented by TOKEN_TYPE_*).
+ *
+ * @return string
+ */
+ public function getTokenType()
+ {
+ return $this->tokenType;
+ }
+
+ /**
+ * Set Token Type (represented by TOKEN_TYPE_*).
+ *
+ * @param string $value
+ */
+ public function setTokenType($value): void
+ {
+ $this->tokenType = $value;
+ }
+
+ /**
+ * Get Token SubType (represented by TOKEN_SUBTYPE_*).
+ *
+ * @return string
+ */
+ public function getTokenSubType()
+ {
+ return $this->tokenSubType;
+ }
+
+ /**
+ * Set Token SubType (represented by TOKEN_SUBTYPE_*).
+ *
+ * @param string $value
+ */
+ public function setTokenSubType($value): void
+ {
+ $this->tokenSubType = $value;
+ }
+}