protected function next()
    {
        if ($this->offset >= $this->length) 
        {
            return false;
        }

        foreach ($this->tokenMap as $regex => $token) 
        {
            if (preg_match($regex, substr($this->code, $this->offset), $matches)) 
            {
                if ($token === T::TOKEN_LINE) {
                    $this->line++;
                }

                $this->offset += strlen($matches[0]);

                return new T($this->line + 1, $token, $matches[0]);
            }
        }

        throw new ContainerLexerException(sprintf('Unexpected character "%s" on line %s', $this->code[$this->offset], $this->line));
    }
protected function next()
    {
        if ($this->offset >= $this->length) 
        {
            return false;
        }

        foreach ($this->tokenMap as $regex => $token) 
        {
            if (preg_match($regex, substr($this->code, $this->offset), $matches)) 
            {
                if ($token === T::TOKEN_LINE) {
                    $this->line++;
                }

                $this->offset += strlen($matches[0]);

                return new T($this->line + 1, $token, $matches[0]);
            }
        }

        throw new ContainerLexerException(sprintf('Unexpected character "%s" on line %s', $this->code[$this->offset], $this->line));
    }
protected function next ( ) { if ( $ this -> offset >= $ this -> length ) { return false ; } foreach ( $ this -> tokenMap as $ regex => $ token ) { if ( preg_match ( $ regex , substr ( $ this -> code , $ this -> offset ) , $ matches ) ) { if ( $ token === T :: TOKEN_LINE ) { $ this -> line ++ ; } $ this -> offset += strlen ( $ matches [ 0 ] ) ; return new T ( $ this -> line + 1 , $ token , $ matches [ 0 ] ) ; } } throw new ContainerLexerException ( sprintf ( 'Unexpected character "%s" on line %s' , $ this -> code [ $ this -> offset ] , $ this -> line ) ) ; }
Get the next token from our code

@throws ContainerLexerException

@return string|false Returns `false` if everything has been parsed and we are done.
Get the next token from our code