C:\xampp\phpMyAdmin\vendor\symfony\expression-language\TokenStream.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?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 stream.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class TokenStream
{
    public 
$current;

    private 
$tokens;
    private 
$position 0;
    private 
$expression;

    
/**
     * @param array  $tokens     An array of tokens
     * @param string $expression
     */
    
public function __construct(array $tokens$expression '')
    {
        
$this->tokens $tokens;
        
$this->current $tokens[0];
        
$this->expression $expression;
    }

    
/**
     * Returns a string representation of the token stream.
     *
     * @return string
     */
    
public function __toString()
    {
        return 
implode("\n"$this->tokens);
    }

    
/**
     * Sets the pointer to the next token and returns the old one.
     */
    
public function next()
    {
        ++
$this->position;

        if (!isset(
$this->tokens[$this->position])) {
            throw new 
SyntaxError('Unexpected end of expression'$this->current->cursor$this->expression);
        }

        
$this->current $this->tokens[$this->position];
    }

    
/**
     * Tests a token.
     *
     * @param array|int   $type    The type to test
     * @param string|null $value   The token value
     * @param string|null $message The syntax error message
     */
    
public function expect($type$value null$message null)
    {
        
$token $this->current;
        if (!
$token->test($type$value)) {
            throw new 
SyntaxError(sprintf('%sUnexpected token "%s" of value "%s" ("%s" expected%s)'$message $message.'. ' ''$token->type$token->value$type$value sprintf(' with value "%s"'$value) : ''), $token->cursor$this->expression);
        }
        
$this->next();
    }

    
/**
     * Checks if end of stream was reached.
     *
     * @return bool
     */
    
public function isEOF()
    {
        return 
Token::EOF_TYPE === $this->current->type;
    }

    
/**
     * @internal
     *
     * @return string
     */
    
public function getExpression()
    {
        return 
$this->expression;
    }
}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586