U
    YSh9*                     @   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-2025 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#dS )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inlineZ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)prefixr5   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&   r6   r'   r9   r(   r:   r   r;   r=   r7   r>   r8   r?   r   r   rA   rB   r@   rG   rH   rI   rJ   r+   rK   r*   rL   rN   rP   rM   rR   rC   r   ra   rD   r   rb   rE   rF   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}   G/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/tact.pyr      s  	
	


	

  N)rg   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   __all__r   r}   r}   r}   r~   <module>   s   
(