3

V'ícyã@s„dZddlZddlmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZddgZGdd„deƒZGdd„deƒZdS)	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Ú	HxmlLexercn@s¤
eZdZdZdZdZdddgZddgZd	d
dgZdZ	d
Z
de
dZdZde	deZ
ejejBZgZdd„ZedƒedƒdejdÕfdejdÖfdejd×fdejfdejd fd!ejd"fd#ejd$fd%ejd&fd'ed(fgd)efd*ejfd+ejfd,efgd-ejdØfd0ejfd1edejd2fed3ƒgd4ejd5fd6ejfd7ejfgd8ej d5fd6ejfd7ej fgd9eejfd:ejd5fgedƒee!jfd;e"d<fe#d5ƒgedƒee!jfd=efd;e"d<fd>ejd2fe#d5ƒgedƒd=ed5fee!jd5fgedƒee!jfd;e"d<fe#d5ƒgd)efd4ejdÙfd8ej dÚfe#d5ƒgd)efd@ej$fdAej$dÛfeej$d5fdCe%j&fdDe%j&fdEe%j&fdFe%j&fdGedHe%j&fdIe%j'fdJe%j(fd4ejdÜfd8ej dÝfg
d)efdKej$d5fe#dLƒgd)efeej$dÞfe#d5ƒgd)efd@ej$fdAej$dßfeej$dàfdCe%j&dáfdDe%j&dâfdEe%j&dãfdFe%j&däfdGedHe%j&dåfdIe%j'dæfdJe%j(dçfd4ejdèfd8ej défg
edƒe#dêƒgedƒdSe"dëfgedƒdAe"dìfe#d5ƒgedƒdWejdVfdXe"fe#d5ƒgedƒdYe!j)dífgedƒd]e!j)d5fe#d5ƒgedƒee!j)d5fgedƒdAe!j)dîfe#d5ƒgedƒdKe!j)d5fe#dïƒgedƒdKe!j)d5fdXe"dðfgedƒe#dñƒgedƒdae*dòfgedƒe#dóƒgedƒedƒd:e"d5fe
e!dôfgedƒdAe"dõfe#döƒgedƒe#d÷ƒgedƒdiejdVfdXe"fe#d5ƒgedƒdSe"d5fgedƒd:e"d5fgedƒedƒd:e"d5fdjejfe#dkƒgedƒdlejdøfdnejdùfgedƒe
e!j+dúfe#dûƒgedƒed/ƒe#d5ƒgedƒee!j+düfgedƒdKe"d5fdre"fe
e!dýfgedƒdKe"d5fdXe"dþfgedƒdAe"dÿfe#d5ƒgedƒdwed5fe
ed5fgedƒe#dƒgedƒdYe!j)dfdxe*fdAe"dfd{ejfd|ejdfdSe"dfdej,dfd€edfdedfdƒedfd…ejd	fd†ed
fdˆedfdŠedfdŒed
fdŽedfdedfd’efd“edfd”edfd–ed5fd—ed˜e!dfe
e!dfdCe%j&dfdDe%j&dfdEe%j&dfdFe%j&dfdGedHe%j&dfdIe%j'dfdJe%j(dfd4ejdfd8ej dfd›ej-dfdœe"dfg#edƒdže*fee*dfdŸed fdre*d!fd¡e
de.e"e!ƒfdœe"d¢fdAe"d£fe#d5ƒg	edƒedƒd]e"d"fdejfdejd#fd!ejd$fd#ejd%fd%ejd&fe#d'ƒg	dSe"d(fed"ƒgedƒdAe"d)fe#d*ƒgedƒdXe"d+fe#d5ƒgedƒd¦ed,fe#d5ƒgedƒe#d-ƒgedƒdŽed.fgedƒdAe"d/fgedƒdAe"d0fgedƒdAe"d1fgedƒd©ed2fe#d5ƒgedƒe#d3ƒgedƒd«ed4fd:e"d5fgedƒd]e"d5fe#d5ƒgedƒd]e"d5fdXe"d6fgedƒdŠed7fe#d5ƒgedƒd°ed(fe#d5ƒgedƒe#d8ƒgedƒd±e"d5fe#d9ƒgedƒd±e"d5fdXe"d:fgedƒe#d;ƒgedƒd±e"d5fgedƒdXe"d5fgedƒd]e"d5fgedƒd´e"d5fgedƒd´e"d5fe#d5ƒgedƒee!d5fgedƒdSe"d<fe#d=ƒgedƒe
e!d5fgedƒd;e"d2fe#d5ƒgedƒdre"fee!d>fdSe"d?fdAe"d@fgedƒe#dAƒgedƒdºe"dBfd»e"d¼fe#d5ƒgedƒd:e"d5fdre"fd½e"dCfe
e!dDfedTƒgedƒd:e"d5fdXe"dEfgdCe%j&d5fdDe%j&d5fdEe%j&d5fdFe%j&d5fdGedHe%j&d5fdIe%j'd5fdJe%j(d5fd4ejdFfd8ej dGfdÀej-d5fdœe*dHfedVƒgedƒe#dIƒgedƒd½e"d5fdXe"dJfgedƒd»e"dKfe#d5ƒgedƒd½e"d5fdXe"dLfgedƒd]e"dMfe#d5ƒgedƒdAe"dNfe#dOƒgedƒdKe"d5fdXe"dVfgedƒe#dPƒgedƒdAe"d5fgedƒdKe"d5fgedƒe
edQfgedƒdXe"dRfe#d5ƒgedƒdae*dSfe#d5ƒgedƒd]e"dTfe#d5ƒgedƒd]e*d5fgedƒdKe"d5fe#dUƒgedƒdKe"d5fdXe"dVfgedƒdÊedËe
e!dWfd4ejdXfd8ej dYfe#dZƒgedƒd]e"d[fe#d\ƒgedƒd:e"d5fe#d(ƒgedƒd:e"d5fe#d]ƒgedƒe
e!d5fd4ejd^fd8ej d_fgedƒd:e"d5fdXe"d`fgdќiZ/dÒdӄZ0dÔS(arz:
    For Haxe source code.

    .. versionadded:: 1.3
    ZHaxezhttp://haxe.org/ZhaxeZhxslÚhxz*.hxz*.hxslz	text/haxeztext/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(?!ú)ccs²|jdƒ}|dkr*|jj|jdd…ƒn<|dkrN|jrf|jddd…|_n|dkrf|jrf|jjƒ|d
krz|jjdƒ|dkrŽ|jjd	ƒ|jƒtjd
|fV|jƒ|_	dS)NéÚifÚelseÚelseiféÚendzpreproc-exprÚerrorz
preproc-errorú#)rréÿÿÿÿ)rr)r)
ÚgroupÚ
preproc_stackÚappendÚstackÚpopÚstartrÚPreprocrÚpos)ÚselfÚmatchÚctxÚproc©r*ú8/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/haxe.pyÚpreproc_callback;s

zHaxeLexer.preproc_callbackÚspacesÚmetaz
(?:package)\bÚ	semicolonÚpackagez(?:import)\bÚimportz(?:using)\bÚusingz(?:extern|private)\bz(?:abstract)\bÚabstractz(?:class|interface)\bÚclassz
(?:enum)\bÚenumz
(?:typedef)\bÚtypedefz(?=.)zexpr-statementz\s+z
//[^\n\r]*z	/\*.*?\*/z(#)(if|elseif|else|end|error)\bz\$\{ústring-interpol-closeÚexprz\$\$z\$(?=Úidentú
string-singleú'ú#popz\\.Ú.ú"z\$z\}z\.zimport-identz\*Úinú
string-doublez\!z\(ú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|\.\.)z0x[0-9a-fA-F]+z[0-9]+z\)úpreproc-expr-in-parenthesisúpreproc-expr-chainú
abstract-bodyúabstract-relationúabstract-opaqueútype-param-constraintú	type-namez\{ú
class-bodyúparenthesis-closeÚtypez(?:to|from)ú,ú@ú	meta-bodyú
meta-identú
meta-colonú:ú	meta-callú
meta-call-sepútypedef-bodyú=úoptional-semicolonú	enum-bodyúbracket-openúenum-memberÚflagúfunction-paramÚextendsz(?:extends|implements)\bz9(?:static|public|private|override|dynamic|inline|macro)\bzclass-memberz(var)\bÚvarz(function)\búclass-methodú
optional-exprúparenthesis-openz\?úfunction-param-sepÚassignúprop-get-set-optÚcommaz((?:default|null|never|dynamic|get|set)\bz(?:\+\+|\-\-|~(?!/)|!|\-)ú
expr-chainÚparenthesisz3(?:static|public|private|override|dynamic|inline)\bz(?:function)\búfunction-localÚbracketz(?:true|false|null)\bz
(?:this)\bz
(?:cast)\bÚcastz	(?:try)\bÚcatchz	(?:var)\bz	(?:new)\bÚnewz(?:switch)\bÚswitchz(?:if)\brz(?:do)\bÚdoz(?:while)\bÚwhilez	(?:for)\bÚforz(?:untyped|throw)\bz(?:return)\bz(?:macro)\bÚmacroz(?:continue|break)\bz(?:\$\s*[a-z]\b|\$(?!z))Údollarústring-single-interpolz#~/(\\\\|\\[^\\]|[^/\\\n])*/[gimsu]*z\[ú
array-declz
(?:\+\+|\-\-)z(?:in)\bÚternaryz(\.)(zarray-accessÚcallúmacro-classú	cast-typez(?:catch)\búdo-whilerz
(?:else)\búswitch-bodyz(?:case|default)\bú
case-blockÚcaseúcase-sepú
case-guardz(?!(?:case|default)\b|\})z\]úarray-decl-sepúarray-access-closeú;ú
bracket-closeú
type-checkútype-full-nameútype-structútype-parenthesisz->z<(?!=)ú
type-paramú>útype-struct-sepÚcolonz!~/(\\\\|\\[^\\]|[^/\\\n])*/[gim]*útype-param-sepútype-param-typeútype-param-constraint-sepútype-param-constraint-flagútype-param-constraint-flag-typeú#type-param-constraint-flag-type-sepúvar-sepúprop-get-setúcall-sepz(?!(?:\$\s*[a-z]\b|\$(?!z)))ú
bracket-checkÚblockú
object-sepúident-or-stringÚobject)iÚrootr-zstring-single-interpolz
string-singlez
string-doublezstring-interpol-closer0r1zimport-identr2z
preproc-errorzpreproc-exprzpreproc-parenthesiszpreproc-expr-chainzpreproc-expr-in-parenthesisr3z
abstract-bodyzabstract-opaquezabstract-relationr.z
meta-colonz
meta-identz	meta-bodyz	meta-callz
meta-call-sepr6ztypedef-bodyr5z	enum-bodyzenum-memberr4r\zbracket-openz
bracket-closez
class-bodyzclass-memberzfunction-localz
optional-exprzclass-methodzfunction-paramzfunction-param-sepzprop-get-setzprop-get-set-optzexpr-statementr8z
expr-chainrpzmacro-classriz	cast-typerjrmzdo-whilernrorrrlzswitch-bodyr{zcase-sepz
case-guardz
case-blockrkz
array-declzarray-decl-sepzarray-accesszarray-access-closerdr‰r/zoptional-semicolonr9rqz	type-nameztype-full-namerKztype-parenthesisz
type-checkztype-structztype-struct-sepztype-param-typez
type-paramztype-param-sepztype-param-constraintztype-param-constraint-sepztype-param-constraint-flagztype-param-constraint-flag-typez#type-param-constraint-flag-type-seprfzparenthesis-openzparenthesis-closer]zvar-seprbrZrtruzcall-seprhz
bracket-checkr”r—zident-or-stringz
object-sepcCstjd|ƒrdSdS)Nz\w+\s*:\s*\wg333333Ó?)Úrer')Útextr*r*r+Úanalyse_text}szHaxeLexer.analyse_textN)r/r0)r/r1)r/r2)r7r8)r<r:)r<r@)r<rA)r<r:)r<r@)r<rB)r<rCrA)r<rC)r<rC)r<rC)r<rC)r<rC)r<rC)r<rC)r<rC)r<rCr:)r<rCr@)r<rDrErFrGrH)r<rI)r<rJrK)rNrOrP)r<rR)r<rSr8)r<rR)r<rTrGrH)r<rVrK)r<rWrXrGrH)rYrG)r<r/rZr[)r<r/rZ)r<rIrXr\rGrH)r<rVr])r<rVr^)r<r_rZr[r`rG)r<r_rZr[r`rG)r<r_rZr[r`rG)r<rarbrZ)r<r[)r<rJrcrdrc)r<rVr8)r<r_rNrOrP)r<rerf)r<rerg)r<rerh)r<re)r<re)r<reri)r<rjr8)r<r])r<rerk)r<rl)r<r)r<rm)r<rn)r<ro)r<r_)r<rp)r<rq)r<re)r<re)r<re)r<re)r<re)r<re)r<re)r<re)r<rerr)r<rer@)r<re)r<rers)r<r8)r<r8)r<r8rtr8)r<rK)r<rVr3)r<rVrv)r<rVr5)r<rVr6)r<r8)r<rI)r<rJrwr8)r<r8)r<rK)r8r[r`)r<rxr8)r<rfr`)r<r8rf)r<r8rf)r<rrVr8rf)r<r8)r<ryrXr8)rzr{)r<r|r}r8)r<r{)r<rfr`)r<rur`rK)r<r~r8)r<rs)r<rr8)r<rerr8)r<re)r<r‚rƒ)r<r‚r„)r<r‚r…)r<rJrK)r<rK)rdrK)r<rˆrKr‰)r<r„)r<r:)r<r@)r<rs)r<rŠr‹)r<r†)r<rŒrrH)r<rŒrrH)r<rŽ)r<rrK)r<rK)r<rJrZr8)r<rrbrZr‘)r<r])r<r8)r<rK)r<r’r8)r<ru)r<r“)r<r“r:)r<r“r@)r<r”)r<r•r8)r<r”rVre)r<r•r8r‰r–)r<r:)r<r@)r<r—)1Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚkeywordZtypeidr9ZbinopZident_no_keywordr™ÚDOTALLÚ	MULTILINEÚflagsrr,rr
Ú	NamespaceZDeclarationrrrÚSingleZ	MultilinerZInterpolZEscapeÚDoublerrrr$r
ZFloatÚHexÚIntegerZ	Decoratorr	ZFunctionÚConstantÚRegexrÚtokensr›r*r*r*r+rsX


















































































































c@s´eZdZdZdZdZddgZdgZddee	e
jƒfd	ee	ejƒfd
ee	eƒfdee	ee
eƒfdee	ee
ejƒfd
ee	ee
eje	eje	eje	ejƒ
fdee	ee
eƒfdejfgiZdS)rz@
    Lexer for haXe build files.

    .. versionadded:: 1.6
    ZHxmlz0https://haxe.org/manual/compiler-usage-hxml.htmlZhaxemlZhxmlz*.hxmlr˜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£rrrZHeadingr
rrr
r­r¬rrªr°r*r*r*r+r‚s*

)rŸr™Zpygments.lexerrrrrrZpygments.tokenrrr	r
rrr
rrrÚ__all__rrr*r*r*r+Ú<module>	s0s