
    Mhx                         d Z ddlZddlmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZ ddgZ G d de          Z G d de          ZdS )	z
    pygments.lexers.haxe
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Haxe and related stuff.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)ExtendedRegexLexer
RegexLexerincludebygroupsdefault)
TextCommentOperatorKeywordNameStringNumberPunctuationGeneric
Whitespace	HaxeLexer	HxmlLexerc                   >   e Zd ZdZdZdZg dZddgZg dZdZ	d	Z
d
Zdez   dz   ZdZde
z   dz   ez   Zej        ej        z  Zg Zd Zi d ed           ed          dej        dfdej        dfdej        dfdej        fdej        dfdej        dfdej        d fd!ej        d"fd#ed$fgdd%efd&ej        fd'ej        fd(efgd)d*ej        d+fd,ej         fd-ez   dz   ej        d.f ed/          gd/d0ej        d1fd2ej         fd3ej        fgd4d5ej!        d1fd2ej         fd3ej!        fgd6d7ez   ej        fd8ej        d1fgd9 ed          ee"j        fd:e#d;f e$d1          gd< ed          ee"j        fd=efd:e#d;fd>ej        d.f e$d1          gd; ed          d=ed1fee"j        d1fgd? ed          ee"j        fd:e#d;f e$d1          gd@d%efd0ej        dAfd5ej!        dBf e$d1          gdCd%efdDej%        fdEej%        dFfeej%        d1fdGe&j'        fdHe&j'        fdIe&j'        fdJe&j'        fdKez   dLz   e&j'        fdMe&j(        fdNe&j)        fd0ej        dAfd5ej!        dBfgdOd%efdPej%        d1f e$dQ          gdRd%efeej%        dSf e$d1          gdQd%efdDej%        fdEej%        dTfeej%        dUfdGe&j'        dUfdHe&j'        dUfdIe&j'        dUfdJe&j'        dUfdKez   dLz   e&j'        dUfdMe&j(        dUfdNe&j)        dUfd0ej        dVfd5ej!        dWfgd ed           e$dX          gdY ed          dZe#d[fgi d\ ed          dEe#d]f e$d1          gd^ ed          d_ej        d`fdae#f e$d1          gd ed          dbe"j*        dcfgdd ed          dee"j*        d1f e$d1          gdf ed          ee"j*        d1fgdg ed          dEe"j*        dhf e$d1          gdi ed          dPe"j*        d1f e$dj          gdk ed          dPe"j*        d1fdae#dhfgd" ed           e$dl          gdm ed          dne+dofgd  ed           e$dp          gdq ed           ed          d8e#d1fee"drfgds ed          dEe#dtf e$du          gd ed           e$dv          gdw ed          dxej        d`fdae#f e$d1          gdy ed          dZe#d1fgdz ed          d8e#d1fgi d{ ed           ed          d8e#d1fd|ej        f e$d}          gd} ed          d~ej        dfdej        dfgd ed          ee"j,        df e$d          gd ed           ed           e$d1          gd ed          ee"j,        dfgd ed          dPe#d1fde#fee"dfgd ed          dPe#d1fdae#dfgd ed          dEe#df e$d1          gd ed          ded1feed1fgd$ ed           e$d          gdg  ed          dbe"j*        dfde+fdEe#dfdej        fdej        dfdZe#dfdej-        dfdedfdedfdedfdej        dfdedfdedfdedfdedfdedfdedfdefdedfdedfded1fdez   dz   e"dfee"dfdGe&j'        dfdHe&j'        dfdIe&j'        dfdJe&j'        dfdKez   dLz   e&j'        dfdMe&j(        dfdNe&j)        dfd0ej        dfd5ej!        dfdej.        dfde#dfd ed          de+fee+dfdedfde+dfdez   dz    e/e#e"          fde#dfdEe#df e$d1          g	d ed           ed          dee#dfdej        fdej        dfdej        dfdej        dfd!ej        df e$d          g	ddZe#d[f ed          gd ed          dEe#df e$d          gd ed          dae#df e$d1          gd ed          dedf e$d1          gi d ed           e$dѦ          gd ed          dedfgd ed          dEe#dfgd ed          dEe#dfgd ed          dEe#dfgd ed          dedf e$d1          gd ed           e$dܦ          gd ed          dedfd8e#d1fgd ed          dee#d1f e$d          gd ed          dee#d1fdae#dfgd ed          dedf e$d1          gd ed          ded$f e$d1          gd ed           e$d          gd ed          de#d1f e$d          gd ed          de#d1fdae#dfgd ed           e$d          gd ed          de#d1fgi d ed          dae#d1fgd ed          dee#d1fgd ed          de#d1fgd ed          de#d1f e$d1          gd. ed          ee"d1fgd ed          dZe#df e$d          gd ed          ee"d1fgd ed          d:e#d.f e$d1          gd` ed          de#fee"dfdZe#dfdEe#dfgd ed           e$d]          gd ed          de#dfde#d f e$d1          gd ed          d8e#d1fde#fde#dfee"df ed{          gd ed          d8e#d1fdae#dfgddGe&j'        d1fdHe&j'        d1fdIe&j'        d1fdJe&j'        d1fdKez   dLz   e&j'        d1fdMe&j(        d1fdNe&j)        d1fd0ej        dAfd5ej!        dBfdej.        d1fde+df ed`          gd  ed           e$d	          gd
 ed          de#d1fdae#dfgd ed          de#df e$d1          gi d ed          de#d1fdae#dfgd ed          dee#df e$d1          gd ed          dEe#df e$dĦ          gd ed          dPe#d1fdae#d`fgd ed           e$d          gd ed          dEe#d1fgd ed          dPe#d1fgd ed          eedfgd ed          dae#df e$d1          gd ed          dne+df e$d1          gd ed          dee#df e$d1          gd ed          dee+d1fgd ed          dPe#d1f e$d          gd ed          dPe#d1fdae#d fgd! ed          d"ez   d#z   ez   e"d$fd0ej        d%fd5ej!        d&f e$d'          gd( ed          dee#d)f e$d*          gd+ ed          d8e#d1f e$d$          g ed          d8e#d1f e$d,          g ed          ee"d1fd0ej        dAfd5ej!        dBfg ed          d8e#d1fdae#d-fgd.Z0d/ Z1d0S (1  r   z
    For Haxe source code.
    Haxezhttp://haxe.org/)haxehxslhxz*.hxz*.hxsl)z	text/haxeztext/x-haxez	text/x-hxz1.3a  (?:function|class|static|var|if|else|while|do|for|break|return|continue|extends|implements|import|switch|case|default|public|private|try|untyped|catch|new|this|throw|extern|enum|in|interface|cast|override|dynamic|typedef|package|inline|using|null|true|false|abstract)\bz
_*[A-Z]\w*z(?:_*[a-z]\w*|_+[0-9]\w*|z
|_+|\$\w+)z(?:%=|&=|\|=|\^=|\+=|\-=|\*=|/=|<<=|>\s*>\s*=|>\s*>\s*>\s*=|==|!=|<=|>\s*=|&&|\|\||<<|>>>|>\s*>|\.\.\.|<|>|%|&|\||\^|\+|\*|/|\-|=>|=)z(?!)c              #     K   |                     d          }|dk    r(| j                            |j        d d                     nL|dv r"| j        r| j        d         d d          |_        n&|dk    r | j        r| j                                         |dv r|j                            d           |dv r|j                            d	           |                                t          j        d
|z   fV  |                                |_	        d S )N   if)elseelseifend)r   r   preproc-expr)errorpreproc-error#)
grouppreproc_stackappendstackpopstartr	   Preprocr    pos)selfmatchctxprocs       T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/haxe.pypreproc_callbackzHaxeLexer.preproc_callback:   s     {{1~~4<<%%cil3333'''! 6 .r21115	U]]! )"&&((( ###I^,,, 9I_---kkmmW_cDj8888))++    rootspacesmetaz(?:package)\b)	semicolonpackagez(?:import)\b)r7   importz(?:using)\b)r7   usingz(?:extern|private)\bz(?:abstract)\babstractz(?:class|interface)\bclassz
(?:enum)\benumz(?:typedef)\btypedefz(?=.)zexpr-statementz\s+z
//[^\n\r]*z	/\*.*?\*/z(#)(if|elseif|else|end|error)\bstring-single-interpolz\$\{)string-interpol-closeexprz\$\$z\$(?=identstring-single'#popz\\..string-double"r@   z\$z\}r8   z\.zimport-identr9   z\*inr:   r#   )rE   rC   )rE   rG   r!   z\!z\()rE   preproc-parenthesisz\.[0-9]+z[0-9]+[eE][+\-]?[0-9]+z[0-9]+\.[0-9]*[eE][+\-]?[0-9]+z[0-9]+\.[0-9]+z[0-9]+\.(?!z|\.\.)z0x[0-9a-fA-F]+z[0-9]+rJ   z\)preproc-expr-in-parenthesispreproc-expr-chain)rE   rK   )rE   rL   rJ   )rE   rL   )rE   rL   rC   )rE   rL   rG   )rE   abstract-bodyabstract-relationabstract-opaquetype-param-constraint	type-namerM   z\{)rE   
class-bodyrO   )rE   parenthesis-closetyperN   z(?:to|from)rT   ,@)	meta-body
meta-ident
meta-colonrY   :rX   rW   )rE   	meta-callr[   )rE   meta-call-seprA   r\   )rE   typedef-bodyrP   rQ   r]   =)rE   optional-semicolonrT   )rE   	enum-bodybracket-openrP   rQ   r`   )enum-memberrP   rb   )rE   r7   flagfunction-param)rE   r7   rc   )rE   rR   ra   extendsrP   rQ   re   z(?:extends|implements)\bra   bracket-closerR   z9(?:static|public|private|override|dynamic|inline|macro)\bzclass-memberz(var)\b)rE   r_   varz(function)\b)rE   r_   class-methodfunction-local)rE   optional-exprrc   rd   parenthesis-openrP   rj   rA   rh   rd   z\?)rE   function-param-sepassignrc   rl   )rE   rd   prop-get-set)rE   rS   prop-get-set-optcommaro   ro   z((?:default|null|never|dynamic|get|set)\b)rE   r_   rA   )rE   rj   rW   rX   rY   z(?:\+\+|\-\-|~(?!/)|!|\-))rE   
expr-chainparenthesisz3(?:static|public|private|override|dynamic|inline)\bz(?:function)\b)rE   rq   ri   )rE   rq   bracketz(?:true|false|null)\b)rE   rq   z
(?:this)\bz
(?:cast)\b)rE   rq   castz	(?:try)\b)rE   catchrA   z	(?:var)\b)rE   rg   z	(?:new)\b)rE   rq   newz(?:switch)\b)rE   switchz(?:if)\b)rE   r   z(?:do)\b)rE   doz(?:while)\b)rE   whilez	(?:for)\b)rE   forz(?:untyped|throw)\bz(?:return)\b)rE   rj   z(?:macro)\b)rE   macroz(?:continue|break)\bz(?:\$\s*[a-z]\b|\$(?!z)))rE   dollar)rE   rq   r?   )rE   rq   rG   z#~/(\\\\|\\[^\\]|[^/\\\n])*/[gimsu]*z\[)rE   rq   
array-declrq   z(?:\+\+|\-\-))rE   rA   z(?:in)\b)rE   rA   ternaryrA   z(\.)(zarray-accesscallr{   )rE   rT   )rE   r_   r;   )rE   r_   macro-class)rE   r_   r=   )rE   r_   r>   r   rt   )rE   rS   	cast-typerA   r   ru   z(?:catch)\b)rA   rd   rk   rx   )rE   do-whilerA   r   )rE   rr   rk   ry   )rE   rA   rr   rz   r   )rE   r   r_   rA   rr   r   z
(?:else)\brw   )rE   switch-bodyra   rA   r   z(?:case|default)\b)
case-blockcaser   )rE   case-sep
case-guardrA   r   )rE   r   r   r   z(?!(?:case|default)\b|\})rv   )rE   r   rk   rT   r}   z\])rE   array-decl-seprA   r   )rE   r}   )rE   array-access-closerA   r   rp   colonr7   ;r_   r|   )rE   rq   rf   rA   rQ   type-full-name)rE   
type-checkr   )rE   r   type-struct)rE   r   type-parenthesisr   r   z->z<(?!=)
type-paramr   >)rp   rT   )rE   type-struct-seprT   r   r   )rE   r   type-param-typez!~/(\\\\|\\[^\\]|[^/\\\n])*/[gim]*)rE   type-param-sepr   r   )rE   r   rP   )rE   type-param-constraint-septype-param-constraint-flagrQ   r   r   )rE   type-param-constraint-flag-typer   )rE   #type-param-constraint-flag-type-seprT   r   rr   )rE   rS   rc   rA   rk   rS   rg   )rE   var-seprm   rc   rn   r   rm   rc   r~   )rE   call-seprA   r   )rE   r   rs   z(?!(?:\$\s*[a-z]\b|\$(?!z))))rE   bracket-check)rE   r   rC   )rE   r   rG   )rE   blockr   )rE   
object-seprA   )rE   r   r_   rq   r   )rE   r   rA   r   ident-or-string)rE   object)r   r   r   c                 4    t          j        d|           rdS d S )Nz\w+\s*:\s*\wg333333?)rer.   )texts    r1   analyse_textzHaxeLexer.analyse_text|  s%    8OT** 	3	 	r3   N)2__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedkeywordtypeidrB   binopident_no_keywordr   DOTALL	MULTILINEflagsr&   r2   r   r   	NamespaceDeclarationr   r   r	   Single	Multiliner   InterpolEscapeDoubler   r   r   r+   r   FloatHexInteger	Decoratorr
   FunctionConstantRegexr   tokensr    r3   r1   r   r      s         D
C$$$G"I999IM;G F )61MAEE
 '#-5I$EM  4fGHGFOOw02JKg/1HIW.0FG$g&9: 3Z@%w':GDG/8w2I> t-.!
f* 	Z GN+7,-/1AB	
+f8 	!fo'HIfm$#V_g>GO$$	#
9fF 	6=&)V]#6=!
GfR 	6=&)V]#6=!
Sf^ 	 5[&/*FOV,"
_fh 	GHDN#K0GFOO	
ifv 	GHDN#GK0G%w/GFOO
wfH 	GHGV$DNF+
IfT 	GHDN#K0GFOO	
Ufb 	Z 6=";<6=";<GFOO	
cfp 	Z GO$GO%DEGOV, &,'&5.=-e#i/> 
+' 6=";<6=";<)
qf^ 	Z GOV,G122 
_fj 	Z GO%LMGFOO
kfx 	&Z GO$GOBD GO%CD &,(FG&6TU.>\].LMe#i/?]^ 
,JK(FG 6=<>6=<>-(
yfl 	GHG M N N
mfx 	GHK!78
yf fB 	GHK!FGGFOO
CfN 	GHW0&9;GFOO	
Of\ 	GH4>#LM
]fh 	GH4>6*GFOO
ifv 	GHDNF+
wf@ 	GHDN$9:GFOO
AfL 	GHDNF+G566
MfX 	GHDNF+; 56
Yfd 	GHG " # #
efp 	GH8CD
qfz 	GHG ; < <
{fF 	GHGFOOK(t%MN	
GfT 	GHK<>G122	
Ufb 	GHG ; < <
cfn 	GH('*=vF;GFOO
of~ 	GHK(
fH 	GHK(
If f fR 	GHGFOOK(I "GN##
Sfd 	GH,24g1;=	
efv 	GHt};< G B C C
wfH	 	GHGFOOGFOO
I	fT	 	GHDM $= >
U	fd	 	GHK(K t=?	
e	ft	 	GHK(; :;
u	f@
 	GHK "S TGFOO	
A
fN
 	GH8'6JtV,
O
fZ
 	GH G:;;	
[
fh
 	 1
GH1
4> $@ A1
 *84	1

 K!FG1
 D "1
  3 6H I1
 K!BC1
 &w'79OP1
 G%;<1
 G%CD1
 7$=>1
 7.@1
  7$AB!1
" g'9:#1
$ '>2%1
& '>2'1
( W&78)1
* 7O4+1
, $W--1
. g'@A/1
0 W&7811
2 %gv631
4 &e+D0$8JK51
6 t%;<71
< &,(>?=1
> '6LM?1
@ />TUA1
B .DEC1
D e#i/?UVE1
J 
,BCK1
L (>?M1
R 6="RSS1
T 6="IJU1
Z 4V\CYZ[1
` K!EFa1
i
fN 	GHx(H./'#34HAB((3.d0K0KLK0K(GFOO

Ofh 	GHGFOO; 01$g&9: 35_`%w':<ijG/1WXw24]^G$%%
ifD 	K!78GG
EfP 	GHK "7 8G$%%	
Qf` 	GH; 01GFOO
afl 	GHW '; <GFOO	
mf f f| 	GHG011
}fH 	GHW '; <
IfT 	GHK!@A
Uf^ 	GHK!@A
_fh 	GHK "1 2
ift 	GHG%56GFOO
uf@ 	GHGCDD
AfJ 	GH"G-CDK(
KfV 	GH;'G>??
Wfb 	GH;'; 01
cfn 	GH'#NOGFOO
of| 	GH)74DEGFOO
}fH 	GHG@AA
IfR 	GHK(G677
Sf^ 	GHK(; 67
_fj 	GHG:;;
kft 	GHK(
uf f f~ 	GH;'
fH 	GH;'
IfR 	GH;'
Sf\ 	GH;'GFOO
]fj 	GHD&!
kft 	GHK!PQG*++
uf@ 	GHT6"
AfJ 	GHK)GFOO
KfV 	GHK DBCK!FGK!KL
Wff 	GHG9::
gfp 	GHK!12\2GFOO	
qf~ 	GHK(K ; 12t%QRGL!!
fP 	GHK(; 78
Qf^ 	&,/&f=.fEf5e#i/vF 
F3/ 6=";<6=";< 26<H H45GFOO-
_fT 	GHGABB
Uf^ 	GH;'; 67
_fn 	 GH &Q RGFOO	"
of f f| 	$GH;'; !L M&
}fL 	%GH; KLGFOO'
MfX 	*GHK "* +G$%%	,
Yff 	.GHK(;'0
gft 	GHGABB
uf~ 	GHK(
fH 	GHK(
IfR 	GHt%Z[
Sf^ 	GH;0GFOO
_fl 	GH8-.GFOO
mfz 	GH; 01GFOO
{fH 	GH8V$
IfT 	GHK(G011
Ufb 	GHK(; 01
cfp 	GH(.u47GG&(6="LM6="LMG%&&
qfB 	GH; >?GIJJ
CfP 	GHK(G$%%
Qf f` GHK(GNOO
 GHtV,6=";<6=";<	
 GHK(; 23
}f f fFP    r3   c                   \   e Zd ZdZdZdZddgZdgZdZdd	 e	e
ej                  fd
 e	e
ej                  fd e	e
e          fd e	e
eee          fd e	e
eeej                  fd e	e
eeej        e
ej        e
ej        e
ej        
  
        fd e	e
eee          fdej        fgiZdS )r   z%
    Lexer for haXe build files.
    Hxmlz0https://haxe.org/manual/compiler-usage-hxml.htmlhaxemlhxmlz*.hxmlz1.6r4   z
(--)(next)z(-)(prompt|debug|v)zY(--)(neko-source|flash-strict|flash-use-stage|no-opt|no-traces|no-inline|times|no-output)zO(-)(cpp|js|neko|x|as3|swf9?|swf-lib|php|xml|main|lib|D|resource|cp|cmd)( +)(.+)z(-)(swf-version)( +)(\d+)z;(-)(swf-header)( +)(\d+)(:)(\d+)(:)(\d+)(:)([A-Fa-f0-9]{6})zA(--)(js-namespace|php-front|php-lib|remap|gen-hx-classes)( +)(.+)z#.*N)r   r   r   r   r   r   r   r   r   r   r   r   Headingr   r   r   r   r   r   r	   r   r   r   r3   r1   r   r     s1         D
<C G
IM 	HH['/BBC#XXk7?%K%KL+,4H[',J,JL Xk7J??A *Xk7JGGI LXk7J!6>;!6:/ /0
h{GZHHJ W^$3
FFFr3   )r   r   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   r   __all__r   r   r   r3   r1   <module>r      sL    
			             - - - - - - - - - - - - - - - - - - - - - - - - 
$i i i i i" i i iX& & & & &
 & & & & &r3   