
     y                         S r SSKrSSK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/r " S S\5      r " S S\5      rg)	z
pygments.lexers.haxe
~~~~~~~~~~~~~~~~~~~~

Lexers for Haxe and related stuff.

:copyright: Copyright 2006-2023 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                      \ rS rSrSrSrSr/ SQrSS/r/ SQr	S	r
S
rS\-   S-   rSrS\
-   S-   \-   r\R                   \R"                  -  r/ rS r0 S\" S5      \" S5      S\R.                  S4S\R.                  S4S\R.                  S4S\R0                  4S\R0                  S4S\R0                  S4S\R0                  S 4S!\R0                  S"4S#\S$4/_SS%\4S&\R8                  4S'\R:                  4S(\4/_S)S*\R>                  S+4S,\R@                  4S-\-   S-   \R>                  S.4\" S/5      /_S/S0\R8                  S14S2\R@                  4S3\R8                  4/_S4S5\RB                  S14S2\R@                  4S3\RB                  4/_S6S7\-   \R>                  4S8\R>                  S14/_S9\" S5      \\"R.                  4S:\#S;4\$" S15      /_S<\" S5      \\"R.                  4S=\4S:\#S;4S>\R.                  S.4\$" S15      /_S;\" S5      S=\S14\\"R.                  S14/_S?\" S5      \\"R.                  4S:\#S;4\$" S15      /_S@S%\4S0\R8                  SA4S5\RB                  SB4\$" S15      /_SCS%\4SD\RJ                  4SE\RJ                  SF4\\RJ                  S14SG\&RN                  4SH\&RN                  4SI\&RN                  4SJ\&RN                  4SK\-   SL-   \&RN                  4SM\&RP                  4SN\&RR                  4S0\R8                  SA4S5\RB                  SB4/_SOS%\4SP\RJ                  S14\$" SQ5      /_SRS%\4\\RJ                  SS4\$" S15      /_SQS%\4SD\RJ                  4SE\RJ                  ST4\\RJ                  SU4SG\&RN                  SU4SH\&RN                  SU4SI\&RN                  SU4SJ\&RN                  SU4SK\-   SL-   \&RN                  SU4SM\&RP                  SU4SN\&RR                  SU4S0\R8                  SV4S5\RB                  SW4/_S\" S5      \$" SX5      /_SY\" S5      SZ\#S[4/_0 S\\" S5      SE\#S]4\$" S15      /_S^\" S5      S_\R0                  S`4Sa\#4\$" S15      /_S\" S5      Sb\"RT                  Sc4/_Sd\" S5      Se\"RT                  S14\$" S15      /_Sf\" S5      \\"RT                  S14/_Sg\" S5      SE\"RT                  Sh4\$" S15      /_Si\" S5      SP\"RT                  S14\$" Sj5      /_Sk\" S5      SP\"RT                  S14Sa\#Sh4/_S"\" S5      \$" Sl5      /_Sm\" S5      Sn\+So4/_S \" S5      \$" Sp5      /_Sq\" S5      \" S5      S8\#S14\\"Sr4/_Ss\" S5      SE\#St4\$" Su5      /_S\" S5      \$" Sv5      /_Sw\" S5      Sx\R0                  S`4Sa\#4\$" S15      /_Sy\" S5      SZ\#S14/_Sz\" S5      S8\#S14/_E0 S{\" S5      \" S5      S8\#S14S|\R0                  4\$" S}5      /_S}\" S5      S~\R0                  S4S\R0                  S4/_S\" S5      \\"RX                  S4\$" S5      /_S\" S5      \" S5      \$" S15      /_S\" S5      \\"RX                  S4/_S\" S5      SP\#S14S\#4\\"S4/_S\" S5      SP\#S14Sa\#S4/_S\" S5      SE\#S4\$" S15      /_S\" S5      S\S14\\S14/_S$\" S5      \$" S5      /_S/ \" S5      PSb\"RT                  S4PS\+4PSE\#S4PS\R0                  4PS\R0                  S4PSZ\#S4PS\RZ                  S4PS\S4PS\S4PS\S4PS\R0                  S4PS\S4PS\S4PS\S4PS\S4PS\S4PS\S4PS\4PS\S4PS\S4PS\S14PS\-   S-   \"S4P\\"S4PSG\&RN                  S4PSH\&RN                  S4PSI\&RN                  S4PSJ\&RN                  S4PSK\-   SL-   \&RN                  S4PSM\&RP                  S4PSN\&RR                  S4PS0\R8                  S4PS5\RB                  S4PS\R\                  S4PS\#S4P_S\" S5      S\+4\\+S4S\S4S\+S4S\-   S-   \/" \#\"5      4S\#S4SE\#S4\$" S15      /	_S\" S5      \" S5      Se\#S4S\R0                  4S\R0                  S4S\R0                  S4S\R0                  S4S!\R0                  S4\$" S5      /	_SSZ\#S[4\" S5      /_S\" S5      SE\#S4\$" S5      /_S\" S5      Sa\#S4\$" S15      /_S\" S5      S\S4\$" S15      /_E0 S\" S5      \$" S5      /_S\" S5      S\S4/_S\" S5      SE\#S4/_S\" S5      SE\#S4/_S\" S5      SE\#S4/_S\" S5      S\S4\$" S15      /_S\" S5      \$" S5      /_S\" S5      S\S4S8\#S14/_S\" S5      Se\#S14\$" S5      /_S\" S5      Se\#S14Sa\#S4/_S\" S5      S\S4\$" S15      /_S\" S5      S\S$4\$" S15      /_S\" S5      \$" S5      /_S\" S5      S\#S14\$" S5      /_S\" S5      S\#S14Sa\#S4/_S\" S5      \$" S5      /_S\" S5      S\#S14/_E0 S\" S5      Sa\#S14/_S\" S5      Se\#S14/_S\" S5      S\#S14/_S\" S5      S\#S14\$" S15      /_S.\" S5      \\"S14/_S\" S5      SZ\#S4\$" S5      /_S\" S5      \\"S14/_S\" S5      S:\#S.4\$" S15      /_S`\" S5      S\#4\\"S4SZ\#S4SE\#S4/_S\" S5      \$" S]5      /_S\" S5      S\#S4S\#GS 4\$" S15      /_GS\" S5      S8\#S14S\#4GS\#GS4\\"GS4\" S{5      /_GS\" S5      S8\#S14Sa\#GS4/_GSSG\&RN                  S14SH\&RN                  S14SI\&RN                  S14SJ\&RN                  S14SK\-   SL-   \&RN                  S14SM\&RP                  S14SN\&RR                  S14S0\R8                  SA4S5\RB                  SB4GS\R\                  S14S\+S4\" S`5      /_GS \" S5      \$" GS	5      /_GS
\" S5      GS\#S14Sa\#GS4/_GS\" S5      S\#GS4\$" S15      /_E0 GS\" S5      GS\#S14Sa\#GS4/_GS\" S5      Se\#GS4\$" S15      /_GS\" S5      SE\#GS4\$" S5      /_GS\" S5      SP\#S14Sa\#S`4/_GS\" S5      \$" GS5      /_GS\" S5      SE\#S14/_GS\" S5      SP\#S14/_GS\" S5      \\GS4/_GS\" S5      Sa\#S4\$" S15      /_GS\" S5      Sn\+S4\$" S15      /_GS\" S5      Se\#S4\$" S15      /_GS\" S5      Se\+S14/_S\" S5      SP\#S14\$" GS5      /_GS\" S5      SP\#S14Sa\#GS 4/_GS!\" S5      GS"\-   GS#-   \-   \"GS$4S0\R8                  GS%4S5\RB                  GS&4\$" GS'5      /_GS(\" S5      Se\#GS)4\$" GS*5      /_GS+\" S5      S8\#S14\$" S$5      /_E\" S5      S8\#S14\$" GS,5      /\" S5      \\"S14S0\R8                  SA4S5\RB                  SB4/\" S5      S8\#S14Sa\#GS-4/GS..Er0GS/ r1GS0r2Gg1(2  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              #   F  #    UR                  S5      nUS:X  a)  U R                  R                  UR                  S S  5        O`US;   a)  U R                  (       a  U R                  S   S S  Ul        O1US:X  a+  U R                  (       a  U R                  R	                  5         US;   a  UR                  R                  S5        US;   a  UR                  R                  S	5        UR                  5       [        R                  S
U-   4v   UR                  5       Ul	        g 7f)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       'lib/third_party/pygments/lexers/haxe.pypreproc_callbackHaxeLexer.preproc_callback;   s     {{1~4<%%ciil3''!! ..r215	U]!!""&&( ##II^, 9II_-kkmW__cDj88))+s   DD!rootspacesmetaz(?:package)\b)	semicolonpackagez(?:import)\b)r8   importz(?:using)\b)r8   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"rA   z\$z\}r9   z\.zimport-identr:   z\*inr;   r$   )rF   rD   )rF   rH   r"   z\!z\()rF   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]+rK   z\)preproc-expr-in-parenthesispreproc-expr-chain)rF   rL   )rF   rM   rK   )rF   rM   )rF   rM   rD   )rF   rM   rH   )rF   abstract-bodyabstract-relationabstract-opaquetype-param-constraint	type-namerN   z\{)rF   
class-bodyrP   )rF   parenthesis-closetyperO   z(?:to|from)rU   ,@)	meta-body
meta-ident
meta-colonrZ   :rY   rX   )rF   	meta-callr\   )rF   meta-call-seprB   r]   )rF   typedef-bodyrQ   rR   r^   =)rF   optional-semicolonrU   )rF   	enum-bodybracket-openrQ   rR   ra   )enum-memberrQ   rc   )rF   r8   flagfunction-param)rF   r8   rd   )rF   rS   rb   extendsrQ   rR   rf   z(?:extends|implements)\brb   bracket-closerS   z9(?:static|public|private|override|dynamic|inline|macro)\bzclass-memberz(var)\b)rF   r`   varz(function)\b)rF   r`   class-methodfunction-local)rF   optional-exprrd   re   parenthesis-openrQ   rk   rB   ri   re   z\?)rF   function-param-sepassignrd   rm   )rF   re   prop-get-set)rF   rT   prop-get-set-optcommarp   rp   z((?:default|null|never|dynamic|get|set)\b)rF   r`   rB   )rF   rk   rX   rY   rZ   z(?:\+\+|\-\-|~(?!/)|!|\-))rF   
expr-chainparenthesisz3(?:static|public|private|override|dynamic|inline)\bz(?:function)\b)rF   rr   rj   )rF   rr   bracketz(?:true|false|null)\b)rF   rr   z
(?:this)\bz
(?:cast)\b)rF   rr   castz	(?:try)\b)rF   catchrB   z	(?:var)\b)rF   rh   z	(?:new)\b)rF   rr   newz(?:switch)\b)rF   switchz(?:if)\b)rF   r   z(?:do)\b)rF   doz(?:while)\b)rF   whilez	(?:for)\b)rF   forz(?:untyped|throw)\bz(?:return)\b)rF   rk   z(?:macro)\b)rF   macroz(?:continue|break)\bz(?:\$\s*[a-z]\b|\$(?!z)))rF   dollar)rF   rr   r@   )rF   rr   rH   z#~/(\\\\|\\[^\\]|[^/\\\n])*/[gimsu]*z\[)rF   rr   
array-declrr   z(?:\+\+|\-\-))rF   rB   z(?:in)\b)rF   rB   ternaryrB   z(\.)(zarray-accesscallr|   )rF   rU   )rF   r`   r<   )rF   r`   macro-class)rF   r`   r>   )rF   r`   r?   r   ru   )rF   rT   	cast-typerB   r   rv   z(?:catch)\b)rB   re   rl   ry   )rF   do-whilerB   r   )rF   rs   rl   rz   )rF   rB   rs   r{   r   )rF   r   r`   rB   rs   r   z
(?:else)\brx   )rF   switch-bodyrb   rB   r   z(?:case|default)\b)
case-blockcaser   )rF   case-sep
case-guardrB   r   )rF   r   r   r   z(?!(?:case|default)\b|\})rw   )rF   r   rl   rU   r~   z\])rF   array-decl-seprB   r   )rF   r~   )rF   array-access-closerB   r   rq   colonr8   ;r`   r}   )rF   rr   rg   rB   rR   type-full-name)rF   
type-checkr   )rF   r   type-struct)rF   r   type-parenthesisr   r   z->z<(?!=)
type-paramr   >)rq   rU   )rF   type-struct-seprU   r   r   )rF   r   type-param-typez!~/(\\\\|\\[^\\]|[^/\\\n])*/[gim]*)rF   type-param-sepr   r   )rF   r   rQ   )rF   type-param-constraint-septype-param-constraint-flagrR   r   r   )rF   type-param-constraint-flag-typer   )rF   #type-param-constraint-flag-type-seprU   r   rs   )rF   rT   rd   rB   rl   rT   rh   )rF   var-seprn   rd   ro   r   rn   rd   r   )rF   call-seprB   r   )rF   r   rt   z(?!(?:\$\s*[a-z]\b|\$(?!z))))rF   bracket-check)rF   r   rD   )rF   r   rH   )rF   blockr   )rF   
object-seprB   )rF   r   r`   rr   r   )rF   r   rB   r   ident-or-string)rF   object)r   r   r   c                 >    [         R                  " SU 5      (       a  gg )Nz\w+\s*:\s*\wg333333?)rer/   )texts    r2   analyse_textHaxeLexer.analyse_text}  s    88OT** +     N)3__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenames	mimetypeskeywordtypeidrC   binopident_no_keywordr   DOTALL	MULTILINEflagsr'   r3   r   r   	NamespaceDeclarationr   r   r	   Single	Multiliner   InterpolEscapeDoubler   r   r   r,   r   FloatHexInteger	Decoratorr
   FunctionConstantRegexr   tokensr   __static_attributes__r   r   r2   r   r      se    D
C$G"I9I;G F )61MAEE
 '#-5II$EM4fHFOw002JKg//1HIW..0FG$g&9&9: 3 3Z@%w':':GDG//8w22I> t-.!
f* 	Z GNN+7,,-/1AB	
+f8 	!foo'HIfmm$#V__g>O$	#
9fF 	6==&)V]]#6==!
GfR 	6==&)V]]#6==!
Sf^ 	 5[&//*FOOV,"
_fh 	HDNN#K0FO	
ifv 	HDNN#GK0G%%w/FO
wfH 	HGV$DNNF+
IfT 	HDNN#K0FO	
Ufb 	Z 6==";<6==";<FO	
cfp 	Z GOO$GOO%DEGOOV, &,,'&5.=-e#i/> 

+' 6==";<6==";<)
qf^ 	Z GOOV,12 
_fj 	Z GOO%LMFO
kfx 	&Z GOO$GOOBD GOO%CD &,,(FG&6TU.>\].LMe#i/?]^ 

,JK(FG 6==<>6==<>-(
yfl 	H M N
mfx 	HK!78
yfB 	HK!FGFO
CfN 	HW00&9;FO	
Of\ 	H4>>#LM
]fh 	H4>>6*FO
ifv 	HDNNF+
wf@ 	HDNN$9:FO
AfL 	HDNNF+56
MfX 	HDNNF+; 56
Yfd 	H " #
efp 	H8CD
qfz 	H ; <
{fF 	HFOK(t%MN	
GfT 	HK<>12	
Ufb 	H ; <
cfn 	H('*=*=vF;FO
of~ 	HK(
fH 	HK(
IfR 	HFOK(I  "N#
Sfd 	H,,24g11;=	
efv 	Ht}};<  B C
wfH	 	HFOFO
I	fT	 	HDMM $= >
U	fd	 	HK(K t=?	
e	ft	 	HK(; :;
u	f@
 	HK "S TFO	
A
fN
 	H8'6JtV,
O
fZ
 	H :;	
[
fh
 	 1
H1
4>> $@ A1
 *84	1

 K!FG1
 D  "1
  3 3 6H I1
 K!BC1
 &w'7'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 	Hx(H./'#34HAB((3.d0KLK0K(FO

Ofh 	HFO; 01$g&9&9: 3 35_`%w':':<ijG//1WXw224]^$%
ifD 	K!78G
EfP 	HK "7 8$%	
Qf` 	H; 01FO
afl 	HW '; <FO	
mf| 	H01
}fH 	HW '; <
IfT 	HK!@A
Uf^ 	HK!@A
_fh 	HK "1 2
ift 	HG%56FO
uf@ 	HCD
AfJ 	H"G-CDK(
KfV 	H;'>?
Wfb 	H;'; 01
cfn 	H'#NOFO
of| 	H)74DEFO
}fH 	H@A
IfR 	HK(67
Sf^ 	HK(; 67
_fj 	H:;
kft 	HK(
uf~ 	H;'
fH 	H;'
IfR 	H;'
Sf\ 	H;'FO
]fj 	HD&!
kft 	HK!PQ*+
uf@ 	HT6"
AfJ 	HK)FO
KfV 	HK DBCK!FGK!KL
Wff 	H9:
gfp 	HK!12\2FO	
qf~ 	HK(K ; 12t%QRL!
fP 	HK(; 78
Qf^ 	&,,/&f=.fEf5e#i/vF 

F3/ 6==";<6==";< 26<<H H45FO-
_fT 	HAB
Uf^ 	H;'; 67
_fn 	 H &Q RFO	"
of| 	$H;'; !L M&
}fL 	%H; KLFO'
MfX 	*HK "* +$%	,
Yff 	.HK(;'0
gft 	HAB
uf~ 	HK(
fH 	HK(
IfR 	Ht%Z[
Sf^ 	H;0FO
_fl 	H8-.FO
mfz 	H; 01FO
{fH 	H8V$
IfT 	HK(01
Ufb 	HK(; 01
cfp 	H(.u47GG&(6=="LM6=="LM%&
qfB 	H; >?IJ
CfP 	HK($%
Qf` HK(NO
 HtV,6==";<6==";<	
 HK(; 23
}fFP r   c                      \ rS rSrSrSrSrSS/rS/rSS	\	" \
\R                  5      4S
\	" \
\R                  5      4S\	" \
\5      4S\	" \
\\\5      4S\	" \
\\\R"                  5      4S\	" \
\\\R"                  \
\R"                  \
\R"                  \
\R$                  5
      4S\	" \
\\\5      4S\R(                  4/0rSrg)r   i  z4
Lexer for haXe build files.

.. versionadded:: 1.6
Hxmlz0https://haxe.org/manual/compiler-usage-hxml.htmlhaxemlhxmlz*.hxmlr5   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#.*r   N)r   r   r   r   r   r   r   r   r   r   r   r   Headingr   r   r   r   r   r   r	   r   r   r   r   r   r2   r   r     s   
 D
<C G
I 	H['//BC#Xk7??%KL+,4[',JL k7J?A *k7JGI Lk7J!6>>;!6::/0
{GZHJ W^^$3
Fr   )r   r   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   r   __all__r   r   r   r   r2   <module>r      sP    
 - - - 
$j" jZ'
 'r   