Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/php.cpython-37.pyc

B

˽�\E*�@s�dZddlZddlmZmZmZmZmZmZm	Z	ddl
mZmZm
Z
mZmZmZmZmZmZddlmZmZmZmZddgZGdd�de�ZGd	d�de�ZdS)
z�
    pygments.lexers.php
    ~~~~~~~~~~~~~~~~~~~

    Lexers for PHP and related languages.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�include�bygroups�default�using�this�words)	�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Other)�get_bool_opt�get_list_opt�	iteritems�shebang_matches�ZephirLexer�PhpLexerc@seZdZdZdZdgZdgZddddgZd	d
dgZe	j
e	jBZde
fd
ejfdejfged�dejdfed�gde
dfgde
dfed�dedfdedfdefdedfdejdfdejfdejfdejfdejfdejfdej fd ej!fd!ej"fd"ejfgd#�Z#d$S)%rz�
    For `Zephir language <http://zephir-lang.com/>`_ source code.

    Zephir is a compiled high level language aimed
    to the creation of C-extensions for PHP.

    .. versionadded:: 2.0
    ZZephirZzephirz*.zepZfetchZechoZisset�empty�bit�bits�stringz\s+z//.*?\nz	/\*.*?\*/�commentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)z#popz\nz^(?=\s|/|<!--)�slashstartsregexzC\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|->|[-<>+*%&|^/])=?z[{(\[;,]z[})\].]z�(for|in|while|do|break|return|continue|switch|case|default|if|else|loop|require|inline|throw|try|catch|finally|new|delete|typeof|instanceof|void|namespace|use|extends|this|fetch|isset|unset|echo|fetch|likely|unlikely|empty)\bz(var|let|with|function)\bz�(abstract|boolean|bool|char|class|const|double|enum|export|extends|final|native|goto|implements|import|int|string|interface|long|ulong|char|uchar|float|unsigned|private|protected|public|short|static|self|throws|reverse|transient|volatile)\bz(true|false|null|undefined)\bzm(Array|Boolean|Date|_REQUEST|_COOKIE|_SESSION|_GET|_POST|_SERVER|this|stdClass|range|count|iterator|window)\bz[$a-zA-Z_][\w\\]*z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*')rrZbadregex�rootN)$�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenamesZzephir_keywordsZzephir_type�re�DOTALL�	MULTILINE�flagsr	r
�Single�	Multilinerr�RegexrrrrZDeclarationZReserved�Constantr
�Builtinrr�Float�Hex�Integer�Double�tokens�r4r4�D/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/php.pyrsF



c"@s�eZdZdZdZddddgZddd	gZd
gZdZdZ	d
edZ
e	e
Zej
ejBejBZdejdfdefdefgdejdfdedeeeejeejee�fdefdejfdejfdejfdejfdejfdedeeeej�fdefdefd efd!eee�d"fd#eee�fd$eeeee�d%fd&edeeeej �fd'efd(ej fe!d)�d*ed+ej"fd,eej"feejfd-e#j$fd.e#j$fd/e#j%fd0e#j&fd1e#j'fd2e#j(fd3ejfd4ej)fd5ej*d6fge+d7d8d9�ej,j-fge+d:d8d9�ej fgeej.dfge!d;�eej,dfe/d�gd5ej*dfd<ej*fd=ej0fd>ed?ed@ej1fdAeej1e2e3dBdC�ej1�fdDeej1e2e3dBdC�ej1�fdEeej1ej"ej1�fdFej*fgdG�Z4dHdI�Z5dJdK�Z6dLdM�Z7dNS)OraT
    For `PHP <http://www.php.net/>`_ source code.
    For PHP embedded in HTML, use the `HtmlPhpLexer`.

    Additional options accepted:

    `startinline`
        If given and ``True`` the lexer starts highlighting with
        php code (i.e.: no starting ``<?php`` required).  The default
        is ``False``.
    `funcnamehighlighting`
        If given and ``True``, highlight builtin function names
        (default: ``True``).
    `disabledmodules`
        If given, must be a list of module names whose function names
        should not be highlighted. By default all modules are highlighted
        except the special ``'unknown'`` module that includes functions
        that are known to php but are undocumented.

        To get a list of allowed modules have a look into the
        `_php_builtins` module:

        .. sourcecode:: pycon

            >>> from pygments.lexers._php_builtins import MODULES
            >>> MODULES.keys()
            ['PHP Options/Info', 'Zip', 'dba', ...]

        In fact the names of those modules match the module names from
        the php documentation.
    ZPHP�phpZphp3Zphp4Zphp5z*.phpz
*.php[345]z*.incz
text/x-phpz[\\\w]|[^\x00-\x7f]z(?:[\\_a-z]|[^\x00-\x7f])z(?:z)*z	<\?(php)?z[^<]+�<z\?>z#popz(<<<)([\'"]?)(z)(\2\n.*?\n\s*)(\3)(;?)(\n)z\s+z#.*?\nz//.*?\nz/\*\*/z/\*\*.*?\*/z	/\*.*?\*/z
(->|::)(\s*)(�)z[~!%^&*+=|:.<>/@-]+z\?z
[\[\]{}();,]+z(class)(\s+)�	classnamez(function)(\s*)(?=\()z(function)(\s+)(&?)(\s*)�functionnamez
(const)(\s+)(a(and|E_PARSE|old_function|E_ERROR|or|as|E_WARNING|parent|eval|PHP_OS|break|exit|case|extends|PHP_VERSION|cfunction|FALSE|print|for|require|continue|foreach|require_once|declare|return|default|static|do|switch|die|stdClass|echo|else|TRUE|elseif|var|empty|if|xor|enddeclare|include|virtual|endfor|include_once|while|endforeach|global|endif|list|endswitch|new|endwhile|not|array|E_ALL|NULL|final|php_user_filter|interface|implements|public|private|protected|abstract|clone|try|catch|throw|this|use|namespace|trait|yield|finally)\bz(true|false|null)\b�magicconstantsz\$\{\$+z\}z\$+z"(\d+\.\d*|\d*\.\d+)(e[+-]?[0-9]+)?z\d+e[+-]?[0-9]+z0[0-7]+z0x[a-f0-9]+z\d+z0b[01]+z'([^'\\]*(?:\\.[^'\\]*)*)'z`([^`\\]*(?:\\.[^`\\]*)*)`�"r)Z__constructZ
__destructZ__callZ__callStaticZ__getZ__setZ__issetZ__unsetZ__sleepZ__wakeupZ
__toStringZ__invokeZ__set_stateZ__cloneZ__debugInfoz\b)�suffix)Z__LINE__Z__FILE__Z__DIR__Z__FUNCTION__Z	__CLASS__Z	__TRAIT__Z
__METHOD__Z
__NAMESPACE__�
magicfuncsz	[^{$"\\]+z'\\([nrt"$\\]|[0-7]{1,3}|x[0-9a-f]{1,2})z\$z(\[\S+?\]|->z)?z(\{\$\{)(.*?)(\}\})T)�_startinlinez(\{)(\$.*?)(\})z(\$\{)(\S+)(\})z[${\\])rr6r>r;r9r:rcKs�t|dd�|_t|ddg�|_t|dd�|_d|kr@|�d�|_t�|_|jr�dd	lm	}x*t
|�D]\}}||jkrd|j�|�qdWtj
|f|�dS)
N�funcnamehighlightingT�disabledmodules�unknown�startinlineFr?r)�MODULES)rr@rrArC�pop�set�
_functionsZpygments.lexers._php_builtinsrDr�updater�__init__)�self�optionsrD�key�valuer4r4r5rI�s
zPhpLexer.__init__ccshdg}|jr|�d�xLt�|||�D]:\}}}|tjkrT||jkrT|tj|fVq&|||fVq&WdS)Nrr6)rC�appendr�get_tokens_unprocessedr
rrGr.)rJ�text�stack�index�tokenrMr4r4r5rO�s


zPhpLexer.get_tokens_unprocessedcCs*t|d�rdSd}t�d|�r&|d7}|S)Nr6Tgz
<\?(?!xml)g333333�?)rr&�search)rP�rvr4r4r5�analyse_texts
zPhpLexer.analyse_textN)8rr r!r"r#r$r%Z	mimetypesZ_ident_charZ_ident_beginZ
_ident_endZ_ident_innerr&�
IGNORECASEr'r(r)r
ZPreprocrrrZ	Delimiterrr	r*r+ZDocrr
�	Attributerr-r�Variablerr/�Octr0r1�BinZBacktickr2rZFunctionZMagicZClassrZEscapeZInterpolrrr3rIrOrVr4r4r4r5rXs�









)r"r&Zpygments.lexerrrrrrrrZpygments.tokenr	r
rrr
rrrrZ
pygments.utilrrrr�__all__rrr4r4r4r5�<module>
s$,@