o
    3Ih9*                     @   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                   @   sP  e Zd ZdZdZdgZdgZdZdZi d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dee
ee	dfgdde
dfededde	fgddee
edfgdedededde	fgdeddejfdee
eje
fdee
eje
fgdde
d fgd d!e
d"feded#gdd$ed%fgd%edd&efdejfed'de	fd(e
fgd'de
d)fgd)d!e
d"feded*ed+ed,ededed#de	fg	d#dejd-fgd-de
dfeded.ed/gdd0ed1fgd1d2e
dfd3efed4d5d6efd7ejfeded.ed/de	fgd*d8ed9fgi d9d:e
dfeded;ed<de	fgd+d=ed>fgd>d:e
dfeded;ed<gd,d?ed@fgd@d:e
dfeded;ed<gddAedBfgdBdCe
dfdDefdEefdFejfedGdHe
fgdGeded;ed.ed<de	fgd;dIe
dJfgdJdKe
dfededed.dLeejjejfd(e
fde	fgd<de
dMfgdMd!e
dfedgdeded<edNgddOeejee
dPfgdPdKe
dfedQde	fgdQdRejjfgdNeded.edSedTededUedVedWgi dWdXeeje	e
dYfgdYdZe
dfeded[de	fd(e
fgd[d\eeje	e
d]fgd]d^e
dfededNde	fgd/d_ed`fgd`dae
dfededNde	fgd.dbee
e	dcfgdcdde
dfededeedfdgefdejfde	fgdfdhe
difgdidje
dfedededejfde	fd(e
fgdedkeee	dlfgdldme
dfeddejfde	fgdSednd5d5doefdpefedqd5d5doejfgddredsfgdsdredfdtejfduejfgdTdvejfdwejfgddxe j!fdye j"dzfgd{e j"dfd|e j"fd}e j"fgd~ejfgdejfgdZ#dS )r   zFor Tact source code.Tacttactz*.tactzhttps://tact-lang.orgz2.18rootz\s+z[.;(),\[\]{}]z\?|!!commentsz	import-inz	struct-inzcontract-or-trait-inzannotation-inzfun-declaration-inzconst-declaration-in
statementsz(((?<=\.\.\.)|(?<![.$]))\b(import)\b(\s*)import;z#popz	string-inz+((?<=\.\.\.)|(?<![.$]))\b(struct|message)\bstructzstruct-headerzstruct-body-inz\b\w+z/(\()((?:\b0[xX])[0-9a-fA-F][0-9a-fA-F_]*\b)(\))z(\()((?:\b[0-9]+\b))(\))z\{zstruct-bodyz\}z#pop:2zfield-declaration-inz+((?<=\.\.\.)|(?<![.$]))\b(contract|trait)\bzcontract-or-traitwithzcontract-or-trait-body-in,zcontract-or-trait-bodyzinit-declaration-inzreceive-declaration-inzbounce-declaration-inzfield-declarationztype-annotation-inzvariable-init-inzT(?=\b(?:(?:get|native|extends|mutates|virtual|override|inline|abstract)\s*)*const\b)zconst-declarationz(;)const)getnativeextendsmutatesvirtualoverrideinlineabstractz\b)suffixz\b\w+\bz(init)zinit-declarationz(?<=\})zfun-arguments-inzblock-declaration-inz(receive|exernal)zreceive-declarationz	(bounced)zbounce-declarationzR(?=\b(?:(?:get|native|extends|mutates|virtual|override|inline|abstract)\s*)*fun\b)zfun-declarationz
(?<=\}|\;)funzA\b(get|native|extends|mutates|virtual|override|inline|abstract)\bz\b[\w]+zfun-declaration-bodyz[,;]z\(zfun-argumentsz\)z(self)|(\b[\w]+\b)zblock-declarationexpressionsz(@)(\w+)(\()
annotationzannotation-argumentz\w+keywordsnumericvariablefunction-callzstruct-init-inz(\b\w+)(\s*)(\{)zstruct-initz(\})zstruct-property-inz(\b[\w]+)(\s*)(:)zstruct-propertyz	(?=\}|\,)z(=)zvariable-initz(?=\}|\{|\,|\;)z(:)(\s+)ztype-annotationz(?=\{|\;|\=|\,|\))z
type-as-inztype-generic-inz\?<ztype-generic>z\b(as)(\s+)ztype-asz(?=\{|\;|\=|\,|\)|\>))ifelsewhiledountilrepeatreturnr   r   r   r   r    r   letr   r#   selfisinitOfmapbouncedr   as)prefixr"   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*\{))r?   r(   r)   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 rY   rY   T/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/pygments/lexers/tact.pyr      s    &).19<G
JPS]`gjpsy|             $  '  ,
  /  9  <  C  F  L  O  U  X  a  d  l  o  u  z  }       
    
  N)rC   pygments.lexerr   r   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   __all__r   rY   rY   rY   rZ   <module>   s
    
(