CloneableInstantiable
ChildrenPhpParser\Lexer\Emulative
Methods
public __construct(array $options = [])
 

Creates a Lexer.

    public getNextToken( $value = NULL, $startAttributes = NULL, $endAttributes = NULL) : int
     

    Fetches the next token.

    The available attributes are determined by the 'usedAttributes' option, which can
    be specified in the constructor. The following attributes are supported:

    • 'comments' => Array of PhpParser\Comment or PhpParser\Comment\Doc instances,
                     representing all comments that occurred between the previous
                     non-discarded token and the current one.
      
    • 'startLine' => Line in which the node starts.
    • 'endLine' => Line in which the node ends.
    • 'startTokenPos' => Offset into the token array of the first token in the node.
    • 'endTokenPos' => Offset into the token array of the last token in the node.
    • 'startFilePos' => Offset into the code string of the first character that is part of the node.
    • 'endFilePos' => Offset into the code string of the last character that is part of the node.
    • return int Token id
    public getTokens() : array
     

    Returns the token array for current code.

    The token array is in the same format as provided by the
    token_get_all() function and does not discard tokens (i.e.
    whitespace and comments are included). The token position
    attributes are against this token array.

    • return array Array of tokens in token_get_all() format
    public handleHaltCompiler() : string
     

    Handles __halt_compiler() by returning the text after it.

    • return string Remaining text
    public startLexing(string $code, ?PhpParser\ErrorHandler $errorHandler = NULL)
     

    Initializes the lexer for lexing the provided source code.

    This function does not throw if lexing errors occur. Instead, errors may be retrieved using
    the getErrors() method.

      Properties
      protected $code
      protected $dropTokens
      protected $filePos
      protected $identifierTokens
      protected $line
      protected $pos
      protected $prevCloseTagHasNewline
      protected $tokenMap
      protected $tokens
      Methods
      protected createTokenMap() : array
       

      Creates the token map.

      The token map maps the PHP internal token identifiers
      to the identifiers used by the Parser. Additionally it
      maps T_OPEN_TAG_WITH_ECHO to T_ECHO and T_CLOSE_TAG to ';'.

      • return array The token map
      protected postprocessTokens(PhpParser\ErrorHandler $errorHandler)
      Properties
      private $attributeCommentsUsed
      private $attributeEndFilePosUsed
      private $attributeEndLineUsed
      private $attributeEndTokenPosUsed
      private $attributeStartFilePosUsed
      private $attributeStartLineUsed
      private $attributeStartTokenPosUsed
      Methods
      private createIdentifierTokenMap() : array
      private defineCompatibilityTokens()
      private handleInvalidCharacterRange( $start, $end, $line, PhpParser\ErrorHandler $errorHandler)
      private isUnterminatedComment( $token) : bool
       

      Check whether comment token is unterminated.

      • return bool
      © 2020 Bruce Wells
      Search Namespaces \ Classes
      ConfigurationNumbers (0-9.) only