private static function lexVariableName(string $variableName, array &$tokens, int &$cursor): void
    {
        // Remove the colon before the variable name
        $trimmedVariableName = \substr($variableName, 1);

        if (\mb_strlen($trimmedVariableName) > self::VARIABLE_NAME_MAX_LENGTH) {
            throw new InvalidArgumentException("Variable name \"$trimmedVariableName\" exceeds the max length limit");
        }

        $tokens[] = new Token(TokenTypes::T_VARIABLE, $trimmedVariableName);
        // We have to advance the cursor the length of the untrimmed variable name
        $cursor += \mb_strlen($variableName);
    }
private static function lexVariableName(string $variableName, array &$tokens, int &$cursor): void
    {
        // Remove the colon before the variable name
        $trimmedVariableName = \substr($variableName, 1);

        if (\mb_strlen($trimmedVariableName) > self::VARIABLE_NAME_MAX_LENGTH) {
            throw new InvalidArgumentException("Variable name \"$trimmedVariableName\" exceeds the max length limit");
        }

        $tokens[] = new Token(TokenTypes::T_VARIABLE, $trimmedVariableName);
        // We have to advance the cursor the length of the untrimmed variable name
        $cursor += \mb_strlen($variableName);
    }
private static function lexVariableName ( string $ variableName , array & $ tokens , int & $ cursor ) : void { // Remove the colon before the variable name $ trimmedVariableName = \ substr ( $ variableName , 1 ) ; if ( \ mb_strlen ( $ trimmedVariableName ) > self :: VARIABLE_NAME_MAX_LENGTH ) { throw new InvalidArgumentException ( "Variable name \"$trimmedVariableName\" exceeds the max length limit" ) ; } $ tokens [ ] = new Token ( TokenTypes :: T_VARIABLE , $ trimmedVariableName ) ; // We have to advance the cursor the length of the untrimmed variable name $ cursor += \ mb_strlen ( $ variableName ) ; }
Lexes a variable name lexeme

@param string $variableName The lexeme to add
@param Token[] $tokens The list of tokens to add to
@param int $cursor The current cursor
Lexes a variable name lexeme