
    L&i y                         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-2022 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                   6   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
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.d/ej        d0fd1ej        fd2ej        fgd3d4ej         d0fd1ej        fd2ej         fgd5d6ez   ej        fd7ej        d0fgd8 ed          ee!j        fd9e"d:f e#d0          gd; ed          ee!j        fd<efd9e"d:fd=ej        d-f e#d0          gd: ed          d<ed0fee!j        d0fgd> ed          ee!j        fd9e"d:f e#d0          gd?d$efd/ej        d@fd4ej         dAf e#d0          gdBd$efdCej$        fdDej$        dEfeej$        d0fdFe%j&        fdGe%j&        fdHe%j&        fdIe%j&        fdJez   dKz   e%j&        fdLe%j'        fdMe%j(        fd/ej        d@fd4ej         dAfgdNd$efdOej$        d0f e#dP          gdQd$efeej$        dRf e#d0          gdPd$efdCej$        fdDej$        dSfeej$        dTfdFe%j&        dTfdGe%j&        dTfdHe%j&        dTfdIe%j&        dTfdJez   dKz   e%j&        dTfdLe%j'        dTfdMe%j(        dTfd/ej        dUfd4ej         dVfgd ed           e#dW          gdX ed          dYe"dZfgi d[ ed          dDe"d\f e#d0          gd] ed          d^ej        d_fd`e"f e#d0          gd ed          dae!j)        dbfgdc ed          dde!j)        d0f e#d0          gde ed          ee!j)        d0fgdf ed          dDe!j)        dgf e#d0          gdh ed          dOe!j)        d0f e#di          gdj ed          dOe!j)        d0fd`e"dgfgd! ed           e#dk          gdl ed          dme*dnfgd ed           e#do          gdp ed           ed          d7e"d0fee!dqfgdr ed          dDe"dsf e#dt          gd ed           e#du          gdv ed          dwej        d_fd`e"f e#d0          gdx ed          dYe"d0fgdy ed          d7e"d0fgi dz ed           ed          d7e"d0fd{ej        f e#d|          gd| ed          d}ej        d~fdej        dfgd ed          ee!j+        df e#d          gd ed           ed           e#d0          gd ed          ee!j+        dfgd ed          dOe"d0fde"fee!dfgd ed          dOe"d0fd`e"dfgd ed          dDe"df e#d0          gd ed          ded0feed0fgd# ed           e#d          gdg  ed          dae!j)        dfde*fdDe"dfdej        fdej        dfdYe"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d0fdez   dz   e!dfee!dfdFe%j&        dfdGe%j&        dfdHe%j&        dfdIe%j&        dfdJez   dKz   e%j&        dfdLe%j'        dfdMe%j(        dfd/ej        dfd4e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dDe"df e#d0          g	d ed           ed          dde"dfdej        fdej        dfdej        dfdej        dfd ej        df e#d          g	ddYe"dZf ed          gd ed          dDe"df e#d          gd ed          d`e"df e#d0          gd ed          dedf e#d0          gi d ed           e#dЦ          gd ed          dedfgd ed          dDe"dfgd ed          dDe"dfgd ed          dDe"dfgd ed          dedf e#d0          gd ed           e#dۦ          gd ed          dedfd7e"d0fgd ed          dde"d0f e#d          gd ed          dde"d0fd`e"dfgd ed          dedf e#d0          gd ed          ded#f e#d0          gd ed           e#d          gd ed          de"d0f e#d          gd ed          de"d0fd`e"dfgd ed           e#d          gd ed          de"d0fgi d ed          d`e"d0fgd ed          dde"d0fgd ed          de"d0fgd ed          de"d0f e#d0          gd- ed          ee!d0fgd ed          dYe"df e#d          gd ed          e
e!d0fgd ed          d9e"d-f e#d0          gd_ ed          de"fee!dfdYe"dfdDe"dfgd ed           e#d\          gd ed          de"dfde"df e#d0          gd  ed          d7e"d0fde"fde"dfee!df edz          gd ed          d7e"d0fd`e"dfgddFe%j&        d0fdGe%j&        d0fdHe%j&        d0fdIe%j&        d0fdJez   dKz   e%j&        d0fdLe%j'        d0fdMe%j(        d0fd/ej        d@fd4ej         dAfdej-        d0fde*df ed_          gd ed           e#d          gd	 ed          de"d0fd`e"d
fgd ed          de"df e#d0          gi d ed          de"d0fd`e"dfgd ed          dde"df e#d0          gd ed          dDe"df e#dæ          gd ed          dOe"d0fd`e"d_fgd ed           e#d          gd ed          dDe"d0fgd ed          dOe"d0fgd ed          eedfgd ed          d`e"df e#d0          gd ed          dme*df e#d0          gd ed          dde"df e#d0          gd ed          dde*d0fgd ed          dOe"d0f e#d          gd ed          dOe"d0fd`e"dfgd  ed          d!ez   d"z   ez   e!d#fd/ej        d$fd4ej         d%f e#d&          gd' ed          dde"d(f e#d)          gd* ed          d7e"d0f e#d#          g ed          d7e"d0f e#d+          g ed          ee!d0fd/ej        d@fd4ej         dAfg ed          d7e"d0fd`e"d,fgd-Z/d. Z0d/S (0  r   z:
    For Haxe source code.

    .. versionadded:: 1.3
    Haxezhttp://haxe.org/)haxehxslhxz*.hxz*.hxsl)z	text/haxeztext/x-haxez	text/x-hxa  (?: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       a/home/geonatureadmin/si_en_reseau/tutos/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)1__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypes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;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                   X   e Zd ZdZdZdZddgZdg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.

    .. versionadded:: 1.6
    Hxmlz0https://haxe.org/manual/compiler-usage-hxml.htmlhaxemlhxmlz*.hxmlr4   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   Headingr   r   r   r   r   r   r	   r   r   r   r3   r1   r   r     s,        
 D
<C G
I 	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    
			             - - - - - - - - - - - - - - - - - - - - - - - - 
$j j j j j" j j jZ' ' ' ' '
 ' ' ' ' 'r3   