a
    ñ»j<*  ã                   @   s^   d Z ddl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 dgZG dd„ deƒZdS )zÀ
    pygments.lexers.tact
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Tact.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚbygroupsÚwords)ÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚ
WhitespaceÚPunctuationÚ	TactLexerc                7   @   sx  e Zd ZdZdZdgZdgZdZdZde	fde
fd	efed
ƒedƒedƒedƒedƒedƒedƒedƒgdee
ee	ƒdfgde
dfed
ƒedƒde	fgdee
eƒdfged
ƒedƒedƒde	fged
ƒdejfdee
eje
ƒfdee
eje
ƒfgde
dfgd e
d!fed
ƒed"ƒgd#ed$fged
ƒd%efdejfed&ƒde	fd'e
fgde
d(fgd e
d!fed
ƒed)ƒed*ƒed+ƒedƒedƒed"ƒde	fg	dejd,fgde
dfed
ƒed-ƒed.ƒgd/ed0fgd1e
dfd2efed3d4d5�efd6ejfed
ƒed-ƒed.ƒde	fgd7ed8fgd9e
dfed
ƒed:ƒed;ƒde	fgd<ed=fgd9e
dfed
ƒed:ƒed;ƒgd>ed?fgd9e
dfed
ƒed:ƒed;ƒgd@edAfgdBe
dfdCefdDefdEejfedFƒdGe
fged
ƒed:ƒed-ƒed;ƒde	fgdHe
dIfgdJe
dfed
ƒedƒed-ƒdKeejjejƒfd'e
fde	fgde
dLfgd e
dfedƒged
ƒed;ƒedMƒgdNeejee
ƒdOfgdJe
dfedPƒde	fgdQejjfged
ƒed-ƒedRƒedSƒedƒedTƒedUƒedVƒgdWeeje	e
ƒdXfgdYe
dfed
ƒedZƒde	fd'e
fgd[eeje	e
ƒd\fgd]e
dfed
ƒedMƒde	fgd^ed_fgd`e
dfed
ƒedMƒde	fgdaee
e	ƒdbfgdce
dfed
ƒeddƒedeƒdfefdejfde	fgdge
dhfgdie
dfed
ƒeddƒdejfde	fd'e
fgdjeee	ƒdkfgdle
dfed
ƒdejfde	fgedmd4d4dn�efdoefedpd4d4dn�ejfgdqedrfgdqedfdsejfdtejfgduejfdvejfgdwe j!fdxe j"dyfgdze j"dfd{e j"fd|e j"fgd}ejfgd~ejfgdœ6Z#d€S )�r   zFor Tact source code.ÚTactÚtactz*.tactzhttps://tact-lang.orgz2.18z\s+z[.;(),\[\]{}]z\?|!!Úcommentsú	import-inú	struct-inúcontract-or-trait-inúannotation-inúfun-declaration-inúconst-declaration-inÚ
statementsz(((?<=\.\.\.)|(?<![.$]))\b(import)\b(\s*)Úimportú;z#popú	string-inz+((?<=\.\.\.)|(?<![.$]))\b(struct|message)\bÚstructústruct-headerústruct-body-inz\b\w+z/(\()((?:\b0[xX])[0-9a-fA-F][0-9a-fA-F_]*\b)(\))z(\()((?:\b[0-9]+\b))(\))z\{ústruct-bodyz\}z#pop:2úfield-declaration-inz+((?<=\.\.\.)|(?<![.$]))\b(contract|trait)\búcontract-or-traitÚwithúcontract-or-trait-body-inú,úcontract-or-trait-bodyúinit-declaration-inúreceive-declaration-inúbounce-declaration-inúfield-declarationútype-annotation-inúvariable-init-inzT(?=\b(?:(?:get|native|extends|mutates|virtual|override|inline|abstract)\s*)*const\b)úconst-declarationz(;)Úconst)ÚgetÚnativeÚextendsÚmutatesÚvirtualÚoverrideÚinlineÚabstractz\b)Úsuffixz\b\w+\bz(init)úinit-declarationz(?<=\})úfun-arguments-inúblock-declaration-inz(receive|exernal)úreceive-declarationz	(bounced)úbounce-declarationzR(?=\b(?:(?:get|native|extends|mutates|virtual|override|inline|abstract)\s*)*fun\b)úfun-declarationz
(?<=\}|\;)ÚfunzA\b(get|native|extends|mutates|virtual|override|inline|abstract)\bz\b[\w]+úfun-declaration-bodyz[,;]z\(úfun-argumentsz\)z(self)|(\b[\w]+\b)úblock-declarationÚexpressionsz(@)(\w+)(\()Ú
annotationúannotation-argumentz\w+ÚkeywordsÚnumericÚvariableúfunction-callústruct-init-inz(\b\w+)(\s*)(\{)ústruct-initz(\})ústruct-property-inz(\b[\w]+)(\s*)(:)ústruct-propertyz	(?=\}|\,)z(=)úvariable-initz(?=\}|\{|\,|\;)z(:)(\s+)útype-annotationz(?=\{|\;|\=|\,|\))ú
type-as-inútype-generic-inz\?ú<útype-genericú>z\b(as)(\s+)útype-asz(?=\{|\;|\=|\,|\)|\>))ÚifÚelseÚwhileÚdoZuntilÚrepeatÚreturnr0   r1   r2   r3   r4   r/   Zletr-   r=   ÚselfÚisZinitOfÚmapZbouncedr.   Úas)Úprefixr6   z–(<=>|>=|<=|!=|==|\^>>|~>>|>>|<<|\/%|\^%|~%|\^\/|~\/|\+=|-=|\*=|\/=|~\/=|\^\/=|%=|\^%=|<<=|>>=|~>>=|\^>>=|&=|\|=|\^=|\^|=|~|\/|%|-|\*|\+|>|<|&|\||:|\?))ÚtrueÚfalseú"Ústringz\\.z[^\\"]+z%(?:\b0[xX])[0-9a-fA-F][0-9a-fA-F_]*\bz(?:\b[0-9]+\b)z//.*z/\*úcomments-multilinez\*/z[^*]+z[*]z\b\w+\b(?!\s*\()(?!\s*\{)z\b\w+\b(?=\s*\()(?!\s*\{))6Úrootr   r   r   r   r   r   r   r   r!   r#   r%   r    r)   r   r,   r&   r7   r'   r:   r(   r;   r   r<   r>   r8   r?   r9   r@   r   r   rB   rC   rA   rH   rI   rJ   rK   r+   rL   r*   rM   rO   rQ   rN   rS   rD   r   rb   rE   r   rc   rF   rG   N)$Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚurlÚversion_addedr   r   r   r   r   r   r	   ÚClassr   ÚHexÚIntegerÚPropertyr   ÚConstantÚFunctionÚVariableÚInstanceÚPseudoÚMagicÚTyper
   ÚEscapeÚDoubler   ÚSingleÚ	MultilineÚtokens© r~   r~   ú:E:\soccer\ml_env\Lib\site-packages\pygments/lexers/tact.pyr      sÌ  õÿüÿüüÿýÿú	ÿ÷
ÿüÿøÿûÿüÿüÿú	ûÿù
ÿþýÿý
ÿøÿûÿüÿüÿù
ÿú	ÿüýÿýþ
þ
ýÿÿ€ € ïN)rh   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   r~   r~   r~   r   Ú<module>   s   
(