o
    nix                     @   s   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 deZG dd deZdS )	z
    pygments.lexers.haxe
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Haxe and related stuff.

    :copyright: Copyright 2006-2017 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                   @   sB  e Zd ZdZdZg dZddgZg dZdZdZ	d	e	 d
 Z
dZde d e
 ZejejB Zg Zd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
 d 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
 ejfd7ejd0fgd8e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j"fd/ejd@fd4ejdAfe!d0gdBd$ej"fdCej"fdDej"dEfe
ej"d0fdFe#j$fdGe#j$fdHe#j$fdIe#j$fdJe
 dK e#j$fdLe#j%fdMe#j&fd/ejd@fd4ejdAfgdNd$ej"fdOej"d0fe!dPgdQd$ej"feej"dRfe!d0gdPd$ej"fdCej"fdDej"dSfe
ej"dTfdFe#j$dTfdGe#j$dTfdHe#j$dTfdIe#j$dTfdJe
 dK e#j$dTfdLe#j%dTfdMe#j&dTfd/ejdUfd4ejdVfgdede!dWgdXe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dcedddej'd0fe!d0gdeede
ej'd0fgdfeddDej'dgfe!d0gdheddOej'd0fe!digdjeddOej'd0fd`e dgfgd!ede!dkgdleddme(dnfgdede!dogdpededd7e d0feedqfgdreddDe dsfe!dtgdede!dugdveddwejd_fd`e fe!d0gdxeddYe d0fgdyedd7e d0fgi dze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dedeej)dfe!dgdedede!d0gdede
ej)dfgdeddOe d0fde feedfgdeddOe d0fd`e dfgdeddDe dfe!d0gde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
 d edfeedfdFe#j$dfdGe#j$dfdHe#j$dfdIe#j$dfdJe
 dK e#j$dfdLe#j%dfdMe#j&dfd/ejdfd4ejdfdej+dfde dfdedde(fee(dfdedfde(dfde d e,e efde dfdDe dfe!d0g	de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deddDe dfe!dgdedd`e dfe!d0gdeddedfe!d0gi dede!dЃgdeddedfgdeddDe dfgdeddDe dfgdeddDe dfgdeddedfe!d0gdede!dۃgdeddedfd7e d0fgdeddde d0fe!dgdeddde d0fd`e dfgdeddedfe!d0gdedded#fe!d0gdede!dgdedde d0fe!dgdedde d0fd`e dfgdede!dgdedde d0fgi dedd`e d0fgdeddde d0fgdedde d0fgdedde d0fe!d0gd-ede
ed0fgdeddYe dfe!dgdede	ed0fgdedd9e d-fe!d0gd_edde fe
edfdYe dfdDe dfgdede!d\gde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
 dK 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de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deddOe d0fe!dgdeddOe d0fd`e dfgd edd!e
 d" e 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.d/ Z.d0S (1  r   zM
    For Haxe source code (http://haxe.org/).

    .. versionadded:: 1.3
    Haxe)hxhaxehxslz*.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                 c   s    | d}|dkr| j|jd d   n|dv r(| jr'| jd d d  |_n|dkr4| jr4| j  |dv r>|jd |dv rH|jd	 | tjd
| 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proc r.   _/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/wandb/vendor/pygments/lexers/haxe.pypreproc_callback;   s"   

zHaxeLexer.preproc_callbackrootspacesmetaz(?:package)\b)	semicolonpackagez(?:import)\b)r4   importz(?:using)\b)r4   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\}r5   z\.zimport-identr6   z\*inr7   r    )rB   r@   )rB   rD   r   z\!z\()rB   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]+rG   z\)preproc-expr-in-parenthesispreproc-expr-chain)rB   rH   )rB   rI   rG   )rB   rI   )rB   rI   r@   )rB   rI   rD   )rB   abstract-bodyabstract-relationabstract-opaquetype-param-constraint	type-namerJ   z\{)rB   
class-bodyrL   )rB   parenthesis-closetyperK   z(?:to|from)rQ   ,@)	meta-body
meta-ident
meta-colonrV   :rU   rT   )rB   	meta-callrX   )rB   meta-call-sepr>   rY   )rB   typedef-bodyrM   rN   rZ   =)rB   optional-semicolonrQ   )rB   	enum-bodybracket-openrM   rN   r]   )enum-memberrM   r_   )rB   r4   flagfunction-param)rB   r4   r`   )rB   rO   r^   extendsrM   rN   rb   z(?:extends|implements)\br^   bracket-closerO   z9(?:static|public|private|override|dynamic|inline|macro)\bzclass-memberz(var)\b)rB   r\   varz(function)\b)rB   r\   class-methodfunction-local)rB   optional-exprr`   ra   parenthesis-openrM   rg   r>   re   ra   z\?)rB   function-param-sepassignr`   ri   )rB   ra   prop-get-set)rB   rP   prop-get-set-optcommarl   rl   z((?:default|null|never|dynamic|get|set)\b)rB   r\   r>   )rB   rg   rT   rU   rV   z(?:\+\+|\-\-|~(?!/)|!|\-))rB   
expr-chainparenthesisz3(?:static|public|private|override|dynamic|inline)\bz(?:function)\b)rB   rn   rf   )rB   rn   bracketz(?:true|false|null)\b)rB   rn   z
(?:this)\bz
(?:cast)\b)rB   rn   castz	(?:try)\b)rB   catchr>   z	(?:var)\b)rB   rd   z	(?:new)\b)rB   rn   newz(?:switch)\b)rB   switchz(?:if)\b)rB   r   z(?:do)\b)rB   doz(?:while)\b)rB   whilez	(?:for)\b)rB   forz(?:untyped|throw)\bz(?:return)\b)rB   rg   z(?:macro)\b)rB   macroz(?:continue|break)\bz(?:\$\s*[a-z]\b|\$(?!z)))rB   dollar)rB   rn   r<   )rB   rn   rD   z~/(\\\\|\\/|[^/\n])*/[gimsu]*z\[)rB   rn   
array-declrn   z(?:\+\+|\-\-))rB   r>   z(?:in)\b)rB   r>   ternaryr>   z(\.)(zarray-accesscallrx   )rB   rQ   )rB   r\   r8   )rB   r\   macro-class)rB   r\   r:   )rB   r\   r;   r}   rq   )rB   rP   	cast-typer>   r~   rr   z(?:catch)\b)r>   ra   rh   ru   )rB   do-whiler>   r   )rB   ro   rh   rv   )rB   r>   ro   rw   r   )rB   r   r\   r>   ro   r   z
(?:else)\brt   )rB   switch-bodyr^   r>   r   z(?:case|default)\b)
case-blockcaser   )rB   case-sep
case-guardr>   r   )rB   r   r   r   z(?!(?:case|default)\b|\})rs   )rB   r|   rh   rQ   rz   z\])rB   array-decl-sepr>   r   )rB   rz   )rB   array-access-closer>   r   rm   colonr4   ;r\   ry   )rB   rn   rc   r>   rN   type-full-name)rB   
type-checkr   )rB   r   type-struct)rB   r   type-parenthesisr   r   z->z<(?!=)
type-paramr   >)rm   rQ   )rB   type-struct-seprQ   r   r   )rB   r   type-param-typez~/(\\\\|\\/|[^/\n])*/[gim]*)rB   type-param-sepr   r   )rB   r   rM   )rB   type-param-constraint-septype-param-constraint-flagrN   r   r   )rB   type-param-constraint-flag-typer   )rB   #type-param-constraint-flag-type-seprQ   r   ro   )rB   rP   r`   r>   rh   rP   rd   )rB   var-seprj   r`   rk   r   rj   r`   r{   )rB   call-sepr>   r   )rB   r|   rp   z(?!(?:\$\s*[a-z]\b|\$(?!z))))rB   bracket-check)rB   r   r@   )rB   r   rD   )rB   blockr   )rB   
object-sepr>   )rB   r   r\   rn   r   )rB   r   r>   r   ident-or-string)rB   object)r   r   r   c                 C   s   t d| rdS d S )Nz\w+\s*:\s*\wg333333?)rer+   )textr.   r.   r/   analyse_text}  s   zHaxeLexer.analyse_textN)/__name__
__module____qualname____doc__namealiases	filenames	mimetypeskeywordtypeidr?   binopident_no_keywordr   DOTALL	MULTILINEflagsr#   r0   r   r
   	NamespaceDeclarationr   r   Single	Multiliner   InterpolEscapeDoubler   r   r   r(   r   FloatHexInteger	Decoratorr	   FunctionConstantRegexr   tokensr   r.   r.   r.   r/   r      sp
   







#
)
/
4;
D
JQ

X



o
u
|






     "  (
  /
  5
  <
  A
  G
  M
  S  Y  ^  d  k  r  x
                       &    ,
    4    <    B    I    O    V







 
!"
%
&
)
*
-0     
      



      %      +      3      9      A      G      M      R      W      ]      c      h      n      t      z                                                       #        (        -        2        9        >        D        I        O        W        \        c
        l
        s







                   

          
          #

          +
          1
          8          ?          D          I          N
          T          [          b          i          o          v
          }           
                        

	
      
      .c                   @   s   e 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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   zb
    Lexer for `haXe build <http://haxe.org/doc/compiler>`_ files.

    .. versionadded:: 1.6
    Hxmlhaxemlhxmlz*.hxmlr1   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   Headingr
   r   r   r   r   r   r   r   r   r.   r.   r.   r/   r     s:    )r   r   pygments.lexerr   r   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   r   __all__r   r   r.   r.   r.   r/   <module>   s   
0      r