
    5h3                         S r SSKrSSKJrJrJrJrJrJrJ	r	J
r
JrJr  SSKJrJrJrJrJrJrJrJrJrJr  SSKJrJrJr  / SQr " S S\5      r " S	 S
\5      r " S S\5      rg)z
pygments.lexers.php
~~~~~~~~~~~~~~~~~~~

Lexers for PHP and related languages.

:copyright: Copyright 2006-2025 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                   <   \ rS rSrSrSrSrS/rS/rSr	/ SQr
/ S	Qr\R                  \R                  -  rS
\4S\R$                  4S\R&                  4/\" S5      S\R,                  S4S\S4\" S5      /S\S4/S\S4\" S5      S\S4S\S4S\4S\S4S\R6                  S4S\R8                  4S\R:                  4S\R>                  4S\R@                  4S\!RD                  4S\!RF                  4S\!RH                  4S \RJ                  4S!\R$                  4/S".r&S#r'g$)%r      z{
For Zephir language source code.

Zephir is a compiled high level language aimed
to the creation of C-extensions for PHP.
Zephirzhttp://zephir-lang.com/zephirz*.zepz2.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]?z0x[0-9a-fA-F]+z[0-9]+z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*')r+   r.   badregexroot N)(__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenamesversion_addedzephir_keywordszephir_typereDOTALL	MULTILINEflagsr   r   Single	Multiliner   r   Regexr   r   r   r   DeclarationReservedConstantr   Builtinr   r   FloatHexIntegerDoubletokens__static_attributes__r1       ^/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/pygments/lexers/php.pyr   r      s    D
#CjG	IM9O+KII$E TN(7,,-"
 +,%||V58V$FO
 D&!
 4!34+,45=?QS+'9:% "#57 *7+>+>@RS/ 180@0@B .w/?/?@<<) "4::.5v||D

+'(&--8(&--83
!+FrO   r   c                   6    \ rS rSrSrSrSrS/rSrS r	S r
S	rg
)r   W   u   
For PsySH console output, such as:

.. sourcecode:: psysh

    >>> $greeting = function($name): string {
    ...     return "Hello, {$name}";
    ... };
    => Closure($name): string {#2371 …3}
    >>> $greeting('World')
    => "Hello, World"
zPsySH console session for PHPzhttps://psysh.org/psyshz2.7c                 <    SUS'   [         R                  " U 40 UD6  g )NTstartinline)r   __init__)selfoptionss     rP   rV   PsyshConsoleLexer.__init__i   s    !%t'w'rO   c           	   #     #    [        S0 U R                  D6nSn/ n[        R                  " U5       GH  nUR	                  5       nUR                  S5      (       d  UR                  S5      (       a:  UR                  [        U5      S[        R                  US S 4/45        X6SS  -  nMz  UR                  5       S:X  a7  UR                  [        U5      S[        R                  S4/45        X6SS  -  nM  U(       a&  [        XBR                  U5      5       S h  vN   Sn/ nUR                  5       [        R                  U4v   GM     U(       a$  [        UUR                  U5      5       S h  vN   g g  N\ N7f)	N z>>> z... r      z...   r1   )r   rX   r   finditergroup
startswithappendlenr   Promptrstripr   get_tokens_unprocessedstartOutput)rW   textphplexercurcode
insertionsmatchlines          rP   re   (PsyshConsoleLexer.get_tokens_unprocessedm   sg    +dll+
%%d+E;;=Dv&&$//&*A*A!!3w<%&Ra$A#B#D E8#%'!!3w<%&$>#?#A B8#,"$C$CG$L N N N G!#JkkmW^^T99! ," $Z%-%D%DW%MO O O NOs%   DE<E8AE<1E:2E<:E<r1   N)r2   r3   r4   r5   r6   r7   r8   r9   r;   rV   re   rN   r1   rO   rP   r   r   W   s*     +D
CiGM(OrO   r   c                      \ rS rSrSrSrSr/ SQr/ SQrS/r	Sr
S	rS
r\R                  \R                  -  \R                   -  rS\R&                  S4S\4S\4// S\R&                  S4PS\-   S-   \" \\\R.                  \\R.                  \\5      4PS\4PS\S4PS\R4                  4PS\R4                  4PS\R6                  4PS\R8                  4PS\R6                  4PS\-   S-   \" \\\R>                  5      4PS\4PS\4PS\4PS \" \ \\ 5      4PS!\" \ \5      S"4PS#\" \ \5      4PS$\" \ \\\5      S%4PS&\-   S-   \" \ \\RB                  5      4PS'\ 4PS(\ RB                  4P\"" S)5      PS*\RF                  S+4PS,\-   \RF                  4P\\R(                  4PS-\$RJ                  4PS.\$RJ                  4PS/\$RL                  4PS0\$RN                  4PS1\$RP                  4PS2\$RR                  4PS3\R4                  4PS4\RT                  4PS5\RV                  S64PS7\RF                  S4\"" S5      /\," S8S9S:9\RZ                  R\                  4/\," S;S9S:9\RB                  4/\\R^                  S4/\"" S<5      \\RZ                  S4\0" S5      /S5\RV                  S4S=\RV                  4S>\Rb                  4S?\-   S@-   \-   SA-   \Rd                  4SB\" \Rd                  \3" \4SCSD9\Rd                  5      4SE\" \Rd                  \3" \4SCSD9\Rd                  5      4SF\" \Rd                  \RF                  \Rd                  5      4SG\RV                  4/SH\S4SI\SJ4\\Rj                  4\"" S5      /SK\S4\"" S5      /SL.
r6SM r7SN r8SO r9SPr:gQ)Rr      a  
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.
PHPzhttps://www.php.net/)phpphp3php4php5)z*.phpz
*.php[345]z*.incz
text/x-phpr[   z1(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*z+(?:[_a-z]|[^\x00-\x7f])(?:\w|[^\x00-\x7f])*z	<\?(php)?rr   z[^<]+<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]+z0[0-7]+z0x[a-f0-9]+z\d+z0b[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\))
r0   rr   r|   r   r{   ry   rz   r'   rw   r   c                    [        USS5      U l        [        USS/5      U l        [        USS5      U l        SU;   a  UR                  S5      U l        [        5       U l        U R                  (       aK  SS	KJ	n  UR                  5        H1  u  p4X0R                  ;  d  M  U R                  R                  U5        M3     [        R                  " U 40 UD6  g )
NfuncnamehighlightingTdisabledmodulesunknownrU   Fr   r   )MODULES)r   r   r   r   rU   popset
_functionspygments.lexers._php_builtinsr   itemsupdater   rV   )rW   rX   r   keyvalues        rP   rV   PhpLexer.__init__(  s    $0+T%3!+& 5'F W$&{{>:D %$$=%mmo
222OO**51 . 	D,G,rO   c              #     #    S/nU R                   (       a  UR                  S5        [        R                  " XU5       HE  u  p4nU[        R
                  L a&  XPR                  ;   a  U[        R                  U4v   M?  X4U4v   MG     g 7f)Nr0   rr   )rU   ra   r   re   r   r   r   rH   )rW   rh   stackindextokenr   s         rP   re   PhpLexer.get_tokens_unprocessed<  su     LL11$eD  E%

"OO+u44%% Es   BB	c                 p    [        U S5      (       a  gSn[        R                  " SU 5      (       a  US-  nU$ )Nrr   Tg        z
<\?(?!xml)g333333?)r   r>   search)rh   rvs     rP   analyse_textPhpLexer.analyse_textH  s6    4((99]D))#IB	rO   )r   r   r   rU   N);r2   r3   r4   r5   r6   r7   r8   r9   r:   	mimetypesr;   _ident_inner_ident_nonsr>   
IGNORECASEr?   r@   rA   r   Preprocr   r   r   	Delimiterr   r   rB   rC   Docr   r   	Attributer   rG   r   Variabler   rI   OctrJ   rK   BinBacktickrL   r
   FunctionMagicClassr   EscapeInterpolr   r	   	DecoratorrM   rV   re   r   rN   r1   rO   rP   r   r      sM   @ D
 C-G0IIM HL@KMMBII%4E 7??E2u5M

3
W__f-3
,/MMfff&6&6@P@P!4)*3

 TN3
 [+.3
 '3
 (3
 ))*3
 VZZ(3
 7,,-3
 +c1hdnn573
  $X.!3
" H#3
$ {+%3
& $XgtW%EF'3
( hw5{C)3
* &x'>?+3
, )gtXt4nF-3
0 ,s2gtT]]3513
4
! #*
+53
J $W%5%56K3
L $%M3
N dmm%78O3
P l"DMM2Q3
R 4::&S3
T 3FLLAU3
V  .W3
X $Y3
Z VZZ([3
\ V^^$]3
^ $_3
` +FMM:a3
b +FOO<c3
d 6==(+e3
j DMM6*EN
  : CHI ]]  	"
  =  ]]	
 4::v.
 L!4==&1FO
 6==&)6==)7G[ ?2[@4G__#foouT'Eoo'(  foouT'Eoo'(  foot}}fooFH&
" K(K!234>>*EN	
 K(EN
YpFd-(
&rO   r   ) r6   r>   pygments.lexerr   r   r   r   r   r   r	   r
   r   r   pygments.tokenr   r   r   r   r   r   r   r   r   r   pygments.utilr   r   r   __all__r   r   r   r1   rO   rP   <module>r      sb    
/ / /( ( ( E E
:>* >B-O -O`Gz GrO   