| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- <?php
 
- /*
 
-  * This file is part of the Symfony package.
 
-  *
 
-  * (c) Fabien Potencier <fabien@symfony.com>
 
-  *
 
-  * For the full copyright and license information, please view the LICENSE
 
-  * file that was distributed with this source code.
 
-  */
 
- namespace Symfony\Component\ExpressionLanguage;
 
- /**
 
-  * Represents a Token.
 
-  *
 
-  * @author Fabien Potencier <fabien@symfony.com>
 
-  */
 
- class Token
 
- {
 
-     public $value;
 
-     public $type;
 
-     public $cursor;
 
-     public const EOF_TYPE = 'end of expression';
 
-     public const NAME_TYPE = 'name';
 
-     public const NUMBER_TYPE = 'number';
 
-     public const STRING_TYPE = 'string';
 
-     public const OPERATOR_TYPE = 'operator';
 
-     public const PUNCTUATION_TYPE = 'punctuation';
 
-     /**
 
-      * @param string                $type   The type of the token (self::*_TYPE)
 
-      * @param string|int|float|null $value  The token value
 
-      * @param int|null              $cursor The cursor position in the source
 
-      */
 
-     public function __construct(string $type, $value, ?int $cursor)
 
-     {
 
-         $this->type = $type;
 
-         $this->value = $value;
 
-         $this->cursor = $cursor;
 
-     }
 
-     /**
 
-      * Returns a string representation of the token.
 
-      *
 
-      * @return string
 
-      */
 
-     public function __toString()
 
-     {
 
-         return sprintf('%3d %-11s %s', $this->cursor, strtoupper($this->type), $this->value);
 
-     }
 
-     /**
 
-      * Tests the current token for a type and/or a value.
 
-      *
 
-      * @return bool
 
-      */
 
-     public function test(string $type, ?string $value = null)
 
-     {
 
-         return $this->type === $type && (null === $value || $this->value == $value);
 
-     }
 
- }
 
 
  |