Flow\Parser::parseArrayExpression PHP Метод

parseArrayExpression() защищенный Метод

protected parseArrayExpression ( )
    protected function parseArrayExpression()
    {
        $line = $this->stream->getCurrentToken()->getLine();
        $elements = array();
        do {
            $token = $this->stream->getCurrentToken();
            if ($token->test(Token::OPERATOR, ']')) {
                break;
            }
            if ($token->test(Token::NAME) || $token->test(Token::STRING) || $token->test(Token::NUMBER)) {
                if ($token->test(Token::NAME) || $token->test(Token::STRING)) {
                    $key = new Expression\ConstantExpression(strval($token->getValue()), $line);
                } else {
                    if (preg_match('/\\./', $token->getValue())) {
                        $key = new Expression\ConstantExpression(floatval($token->getValue()), $line);
                    } else {
                        $key = new Expression\ConstantExpression(intval($token->getValue()), $line);
                    }
                }
                $this->stream->next();
                if ($this->stream->consume(Token::OPERATOR, array('=>'))) {
                    $element = $this->parseExpression();
                    $elements[] = array($key, $element);
                } else {
                    $elements[] = $key;
                }
            } else {
                $elements[] = $this->parseExpression();
            }
            $this->stream->consume(Token::OPERATOR, ',');
        } while (!$this->stream->test(Token::OPERATOR, ']'));
        return new Expression\ArrayExpression($elements, $line);
    }