HEX
Server: Apache/2.4.67 (Debian)
System: Linux vps-b2547eb4 6.1.0-41-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
User: root (0)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pygments/lexers/__pycache__/php.cpython-311.pyc
�

�E�c�0����dZddlZddlmZmZmZmZmZmZm	Z	m
Z
mZmZddl
mZmZmZmZmZmZmZmZmZmZddlmZmZmZgd�ZGd�de��ZGd	�d
e��ZGd�de��ZdS)
z�
    pygments.lexers.php
    ~~~~~~~~~~~~~~~~~~~

    Lexers for PHP and related languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)
�Lexer�
RegexLexer�include�bygroups�default�using�this�words�
do_insertions�line_re)
�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Other�Generic)�get_bool_opt�get_list_opt�shebang_matches)�ZephirLexer�PsyshConsoleLexer�PhpLexerc��eZdZdZdZdZdgZdgZgd�Zgd�Z	e
je
jzZ
defd	ejfd
ejfged��dejd
fded
fed
��gded
fgdedfed��dedfdedfdefdedfdejdfdejfdejfdejfdejfdej fdej!fdej"fdej#fdejfgd �Z$d!S)"rz�
    For Zephir language source code.

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

    .. versionadded:: 2.0
    �Zephirzhttp://zephir-lang.com/�zephirz*.zep)�fetch�echo�isset�empty)�bit�bits�string�\s+�//.*?\n�	/\*.*?\*/�commentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)�#pop�/z\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|readonly)\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'(\\\\|\\[^\\]|[^'\\])*')r*r-�badregex�rootN)%�__name__�
__module__�__qualname__�__doc__�name�url�aliases�	filenames�zephir_keywords�zephir_type�re�DOTALL�	MULTILINE�flagsr
r�Single�	Multilinerr�Regexrrrr�Declaration�Reserved�Constantr�Builtinrr�Float�Hex�Integer�Double�tokens���5/usr/lib/python3/dist-packages/pygments/lexers/php.pyrrs����������D�
#�C��j�G��	�I�9�9�9�O�+�+�+�K��I���$�E��T�N�
���(�
�7�,�-�"
�
�G�+�,�,��%�|�V�
5�
�8�V�$��G�F�O�O�
��D�&�!�
��4�!3�4��G�+�,�,�4�5=�?Q�
S�
�+�'9�:�
��%��"�#5�
7�*�7�+>�@R�S�/�18�0@�
B�.�w�/?�@���<�
)�"�4�:�.�
5�v�|�D�
��
�+�
���'�
(�&�-�8�
(�&�-�8�3
�!+�+�F�F�FrKrc�,�eZdZdZdZdZdgZd�Zd�ZdS)ru5
    For PsySH console output, such as:

    .. sourcecode:: psysh

        >>> $greeting = function($name): string {
        ...     return "Hello, {$name}";
        ... };
        => Closure($name): string {#2371 …3}
        >>> $greeting('World')
        => "Hello, World"

    .. versionadded:: 2.7
    zPsySH console session for PHPzhttps://psysh.org/�psyshc�4�d|d<tj|fi|��dS)NT�startinline)r�__init__)�self�optionss  rLrQzPsyshConsoleLexer.__init__ks*��!%��
��
��t�'�'�w�'�'�'�'�'rKc	#� K�tdi|j��}d}g}tj|��D�]3}|���}|�d��s|�d��rH|�t|��dtj	|dd�fgf��||dd�z
}��|�
��dkr@|�t|��dtj	dfgf��||dd�z
}��|r-t||�|����Ed{V��d}g}|�
��tj|fV���5|r+t||�|����Ed{V��dSdS)	N�z>>> z... r�z...�rJ)rrSr�finditer�group�
startswith�append�lenr�Prompt�rstripr�get_tokens_unprocessed�start�Output)rR�text�phplexer�curcode�
insertions�match�lines       rLr_z(PsyshConsoleLexer.get_tokens_unprocessedos�����+�+�d�l�+�+�����
��%�d�+�+�	:�	:�E��;�;�=�=�D����v�&�&�
:�$�/�/�&�*A�*A�
:��!�!�3�w�<�<�%&����R�a�R��$A�#B�#D�E�E�E��4����8�#��������%�'�'��!�!�3�w�<�<�%&����$>�#?�#A�B�B�B��4����8�#����$�,�"�H�$C�$C�G�$L�$L� N� N�N�N�N�N�N�N�N� �G�!#�J��k�k�m�m�W�^�T�9�9�9�9�9��	O�$�Z�%-�%D�%D�W�%M�%M�O�O�
O�
O�
O�
O�
O�
O�
O�
O�
O�	O�	OrKN)	r0r1r2r3r4r5r6rQr_rJrKrLrrXsT������
�
�+�D�
�C��i�G�(�(�(�O�O�O�O�OrKrc�0�eZdZdZdZdZgd�Zgd�ZdgZdZ	dZ
ejej
zejzZd	ejd
fdefdefggd
ejdf�de
zdzeeeejeejee��f�def�dejf�dejf�dejf�dejf�dejf�de
zdzeeeej��f�def�def�def�deee��df�deee��f�deeeee��d f�d!e	zdzeeeej��f�d"ef�d#ejf�e d$���d%e	zd&zej!f�d'e	zej!f�e	ejf�d(e"j#f�d)e"j#f�d*e"j$f�d+e"j%f�d,e"j&f�d-e"j'f�d.ejf�d/ej(f�d0ej)d1f�e*d2d3�4��ej+j,fge*d5d3�4��ejfge	ej-dfge d6��e	ej+dfe.d��gd0ej)dfd7ej)fd8ej/fd9e
zd:ze
zd;zej0fd<eej0e1e2d=�>��ej0��fd?eej0e1e2d=�>��ej0��fd@eej0ej!ej0��fdAej)fgdB�Z3dC�Z4dD�Z5dE�Z6dFS)Gra;
    For PHP 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.
    �PHPzhttps://www.php.net/)�php�php3�php4�php5)z*.phpz
*.php[345]z*.incz
text/x-phpz1(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*z+(?:[_a-z]|[^\x00-\x7f])(?:\w|[^\x00-\x7f])*z	<\?(php)?rjz[^<]+�<z\?>r+z(<<<)([\'"]?)(z)(\2\n.*?\n\s*)(\3)(;?)(\n)r'z#.*?\nr(z/\*\*/z/\*\*.*?\*/r)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|match)\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&)�__construct�
__destruct�__call�__callStatic�__get�__set�__isset�__unset�__sleep�__wakeup�
__toString�__invoke�__set_state�__clone�__debugInfoz\b)�suffix)�__LINE__�__FILE__�__DIR__�__FUNCTION__�	__CLASS__�	__TRAIT__�
__METHOD__�
__NAMESPACE__�
magicfuncsz	[^{$"\\]+z'\\([nrt"$\\]|[0-7]{1,3}|x[0-9a-f]{1,2})z\$z(\[\S+?\]|->z)?z(\{\$\{)(.*?)(\}\})T)�_startinlinez(\{)(\$.*?)(\})z(\$\{)(\S+)(\})z[${\\])r/rjr�rrrprqr&c��t|dd��|_t|ddg��|_t|dd��|_d|vr|�d��|_t
��|_|jrCdd	lm	}|�
��D](\}}||jvr|j�|���)tj
|fi|��dS)
N�funcnamehighlightingT�disabledmodules�unknownrPFr�r)�MODULES)rr�rr�rP�pop�set�
_functions�pygments.lexers._php_builtinsr��items�updaterrQ)rRrSr��key�values     rLrQzPhpLexer.__init__s���$0��+�T�%3�%3��!�+��&��� 5� 5���'����F�F����W�$�$�&�{�{�>�:�:�D���%�%����$�	2�=�=�=�=�=�=�%�m�m�o�o�
2�
2�
��U��d�2�2�2��O�*�*�5�1�1�1����D�,�,�G�,�,�,�,�,rKc#��K�dg}|jr|�d��tj|||��D]6\}}}|tjur||jvr|tj|fV��/|||fV��7dS)Nr/rj)rPr[rr_rrr�rD)rRrb�stack�index�tokenr�s      rLr_zPhpLexer.get_tokens_unprocessed-s����������	 ��L�L������1�$��e�D�D�	&�	&��E�5�%���
�"�"��D�O�+�+����u�4�4�4�4�����%�%�%�%�%�
	&�	&rKc�b�t|d��rdSd}tjd|��r|dz
}|S)NrjTgz
<\?(?!xml)g333333�?)rr:�search)rb�rvs  rL�analyse_textzPhpLexer.analyse_text9s@���4��(�(�	��4�
��
�9�]�D�)�)�	��#�I�B��	rKN)7r0r1r2r3r4r5r6r7�	mimetypes�_ident_inner�_ident_nonsr:�
IGNORECASEr;r<r=r�Preprocrrr�	Delimiterrr
r>r?�Docrr�	AttributerrCr�VariablerrE�OctrFrG�Bin�BacktickrHr
�Function�Magic�Classr�Escape�Interpolrr	rIrQr_r�rJrKrLrr�s��������@�D�
 �C�-�-�-�G�0�0�0�I���I�H�L�@�K��M�B�I�%���4�E��7�?�E�2�
�u��
�5�M�
�
1
�
�W�_�f�-�1
�
��
,�/M�
M�
�X�f�f�f�&6���@P�!�4�)�)�
*�1
�
�T�N�1
����'�
1
����(�1
���)�*�1
��V�Z�(�1
��7�,�-�1
���
+�c�
1�
�X�h��d�n�
5�
5�
7�1
�$�X�.�1
� �H��!1
�"�{�+�#1
�$�h�h�w��5�5�{�C�%1
�&&�x�x���'>�'>�?�'1
�()�
�X�g�t�X�t�
4�
4�n�
F�)1
�,��
,�s�
2�
�X�g�t�T�]�
3�
3�
5�-1
�0
!�#*�

+�11
�F$�W�%5�6�G1
�H
�G�$�%�%�I1
�J�,�
&��
.��
�>�K1
�L�l�
"�D�M�2�M1
�N�4�:�&�O1
�P3�F�L�A�Q1
�R ���.�S1
�T���$�U1
�V�V�Z�(�W1
�X�V�^�$�Y1
�Z���$�[1
�\+�F�M�:�]1
�^+�F�O�<�_1
�`�6�=�(�+�a1
�h�U�:�CH�I�I�I��]�
 �	
"�
��U�=������]�	
�
��4�:�v�.�
�
�G�L�!�!�
�4�=�&�1��G�F�O�O�
��6�=�&�)�
�6�=�)�
7���G�
�[�
 �?�
2�[�
@�4�
G�
�_�
�
#�
�X�f�o�u�u�T��'E�'E�'E��o�'�'�
(� �
�X�f�o�u�u�T��'E�'E�'E��o�'�'�
(� �
�X�f�o�t�}�f�o�
F�
F�
H�
��
�&�
�a`�`�F�D-�-�-�(
&�
&�
&�����rKr) r3r:�pygments.lexerrrrrrrr	r
rr�pygments.tokenr
rrrrrrrrr�
pygments.utilrrr�__all__rrrrJrKrL�<module>r�s�����
�	�	�	�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�E�E�E�E�E�E�E�E�E�E�
:�
:�
:��?�?�?�?�?�*�?�?�?�D.O�.O�.O�.O�.O��.O�.O�.O�bv�v�v�v�v�z�v�v�v�v�vrK