HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/php.cpython-311.pyc
�

�;f3����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-2024 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��eZdZdZdZdZdgZdgZdZgd�Z	gd�Z
ejej
zZd	efd
ejfdejfged��d
ejdfdedfed��gdedfgdedfed��dedfdedfdefdedfdejdfdejfdejfdejfdejfde j!fde j"fde j#fdej$fd ejfgd!�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.
    �Zephirzhttp://zephir-lang.com/�zephirz*.zepz2.0)�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�
version_added�zephir_keywords�zephir_type�re�DOTALL�	MULTILINE�flagsr
r�Single�	Multilinerr�Regexrrrr�Declaration�Reserved�Constantr�Builtinrr�Float�Hex�Integer�Double�tokens���F/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/php.pyrrs����������D�
#�C��j�G��	�I��M�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�FrLrc�0�eZdZdZdZdZdgZdZd�Zd�Z	dS)	ru
    For PsySH console output, such as:

    .. sourcecode:: psysh

        >>> $greeting = function($name): string {
        ...     return "Hello, {$name}";
        ... };
        => Closure($name): string {#2371 …3}
        >>> $greeting('World')
        => "Hello, World"
    zPsySH console session for PHPzhttps://psysh.org/�psyshz2.7c�4�d|d<tj|fi|��dS)NT�startinline)r�__init__)�self�optionss  rMrRzPsyshConsoleLexer.__init__is*��!%��
��
��t�'�'�w�'�'�'�'�'rLc	#� 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...�rK)rrTr�finditer�group�
startswith�append�lenr�Prompt�rstripr�get_tokens_unprocessed�start�Output)rS�text�phplexer�curcode�
insertions�match�lines       rMr`z(PsyshConsoleLexer.get_tokens_unprocessedms�����+�+�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�	OrLN)
r0r1r2r3r4r5r6r8rRr`rKrLrMrrWsY��������+�D�
�C��i�G��M�(�(�(�O�O�O�O�OrLrc���eZdZdZdZdZgd�Zgd�ZdgZdZ	dZ
d	Zej
ejzejzZd
ejdfdefd
efggdejdf�dezdzeeeejeejee��f�def�dedf�dejf�dejf�dejf�dejf�dejf�dezdzeeeej��f�def�def�def�deeee��f�d eee��d!f�d"eee��f�d#eeeee��d$f�d%e
zdzeeeej ��f�d&ef�d'ej f�e!d(���d)ej"d*f�d+e
zej"f�e
ejf�d,e#j$f�d-e#j$f�d.e#j%f�d/e#j&f�d0e#j'f�d1e#j(f�d2ejf�d3ej)f�d4ej*d5f�d6ej"dfe!d��ge+d7d8�9��ej,j-fge+d:d8�9��ej fge
ej.dfge!d;��e
ej,dfe/d��gd4ej*dfd<ej*fd=ej0fd>ezd?zezd@zej1fdAeej1e2e3dB�C��ej1��fdDeej1e2e3dB�C��ej1��fdEeej1ej"ej1��fdFej*fgdGedfdHedIfe
ej4fe!d��gdJedfe!d��gdK�
Z5dL�Z6dM�Z7dN�Z8dOS)Pra;
    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-phprVz1(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*z+(?:[_a-z]|[^\x00-\x7f])(?:\w|[^\x00-\x7f])*z	<\?(php)?rkz[^<]+�<z\?>r+z(<<<)([\'"]?)(z)(\2\n.*?\n\s*)(\3)(;?)(\n)r'z#\[�	attributez#.*?\nr(z/\*\*/z/\*\*.*?\*/r)z
(->|::)(\s*)(�)z[~!%^&*+=|:.<>/@-]+z\?z
[\[\]{}();,]+z(new)(\s+)(class)\bz(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\$\{�variablevariablez\$+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\})�__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[${\\]z\]z\(�attributeparamsz\))
r/rkrur�rtrrrsr&rpr�c��t|dd��|_t|ddg��|_t|dd��|_d|vr|�d��|_t
��|_|jrCdd	lm	}|�
��D](\}}||jvr|j�|���)tj
|fi|��dS)
N�funcnamehighlightingT�disabledmodules�unknownrQFr�r)�MODULES)rr�rr�rQ�pop�set�
_functions�pygments.lexers._php_builtinsr��items�updaterrR)rSrTr��key�values     rMrRzPhpLexer.__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�,�,�,�,�,rLc#��K�dg}|jr|�d��tj|||��D]6\}}}|tjur||jvr|tj|fV��/|||fV��7dS)Nr/rk)rQr\rr`rrr�rE)rSrc�stack�index�tokenr�s      rMr`zPhpLexer.get_tokens_unprocessed<s����������	 ��L�L������1�$��e�D�D�	&�	&��E�5�%���
�"�"��D�O�+�+����u�4�4�4�4�����%�%�%�%�%�
	&�	&rLc�b�t|d��rdSd}tjd|��r|dz
}|S)NrkTgz
<\?(?!xml)g333333�?)rr;�search)rc�rvs  rM�analyse_textzPhpLexer.analyse_textHs@���4��(�(�	��4�
��
�9�]�D�)�)�	��#�I�B��	rLN)9r0r1r2r3r4r5r6r7�	mimetypesr8�_ident_inner�_ident_nonsr;�
IGNORECASEr<r=r>r�Preprocrrr�	Delimiterrr
r?r@�Docrr�	AttributerrDr�VariablerrF�OctrGrH�Bin�BacktickrIr
�Function�Magic�Classr�Escape�Interpolrr	�	DecoratorrJrRr`r�rKrLrMrr�s���������@�D�
 �C�-�-�-�G�0�0�0�I���I��M�H�L�@�K��M�B�I�%���4�E��7�?�E�2�
�u��
�5�M�
�
3
�
�W�_�f�-�3
�
��
,�/M�
M�
�X�f�f�f�&6���@P�!�4�)�)�
*�3
�
�T�N�3
��[�+�.�
3
����'�3
����(�3
���)�*�3
��V�Z�(�3
��7�,�-�3
���
+�c�
1�
�X�h��d�n�
5�
5�
7�3
� $�X�.�!3
�"�H��#3
�$�{�+�%3
�&$�X�X�g�t�W�%E�%E�F�'3
�(�h�h�w��5�5�{�C�)3
�*&�x�x���'>�'>�?�+3
�,)�
�X�g�t�X�t�
4�
4�n�
F�-3
�0��
,�s�
2�
�X�g�t�T�]�
3�
3�
5�13
�4
!�#*�

+�53
�J$�W�%5�6�K3
�L
�G�$�%�%�M3
�N�d�m�%7�8�O3
�P�l�
"�D�M�2�Q3
�R�4�:�&�S3
�T3�F�L�A�U3
�V ���.�W3
�X���$�Y3
�Z�V�Z�(�[3
�\�V�^�$�]3
�^���$�_3
�`+�F�M�:�a3
�b+�F�O�<�c3
�d�6�=�(�+�e3
�j�D�M�6�*��G�E�N�N�
��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�
��
�&�
�"�K��(�
�K�!2�3�
�4�>�*��G�E�N�N�	
��K��(��G�E�N�N�
�Yp�p�F�d-�-�-�(
&�
&�
&�����rLr) r3r;�pygments.lexerrrrrrrr	r
rr�pygments.tokenr
rrrrrrrrr�
pygments.utilrrr�__all__rrrrKrLrM�<module>r�s�����
�	�	�	�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�E�E�E�E�E�E�E�E�E�E�
:�
:�
:��>�>�>�>�>�*�>�>�>�B-O�-O�-O�-O�-O��-O�-O�-O�`G�G�G�G�G�z�G�G�G�G�GrL