
    dd%                     l    d Z ddl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 dgZ G d de          ZdS )z
    pygments.lexers.chapel
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Chapel language.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupswords)	TextCommentOperatorKeywordNameStringNumberPunctuation
WhitespaceChapelLexerc                      e Zd ZdZdZdZdgZddgZdZdZ	d	Z
g e	e
R Zd
ZdZdZdefdefdefdej        fdej        f eed          ej        f eed          ej        f eed          ej        f eg eeR d          efdedfd eee          dfd eee          dfd eee          dfd eee          dfdefdefdefdefd ej        fd!ej        fd"ej        fd#ej        fd$ej        fd%ej        fd&e fd'e fd(e!fd)e"fd*e#j$        fgd*e#j%        d+fgd,e#j&        d+fd-e"d.fd/e"fg eed          ef eed          ej        fd0e#j$        d+fgd1e#j'        d+fgd2Z(d3S )4r   z7
    For Chapel source.

    .. versionadded:: 2.0
    Chapelzhttps://chapel-lang.org/z*.chplchapelchpl)boolbytescompleximagintlocalenothingopaquerangerealstringuintvoid)atomicsinglesync)borrowedownedshared	unmanaged)	configconstininoutoutparamreftypevar)falsenilnonetrue)Aalignasbeginbreakbycatchcobegincoforallcontinuedeferdeletedmappeddodomainelseenumexceptexportexternforforallforeach
forwardingif
implementsimportindexinitinlinelabellambdaletlifetimelocalnewnoinitononly	otherwiseoverridepragma	primitiveprivate	prototypepublicreducerequirereturnscanselectserialsparse	subdomainthenthisthrowthrowstryusewhenwherewhilewithyieldzipz\nz\s+z\\\nz	//(.*?)\nz/(\\\n)?[*](.|\n)*?[*](\\\n)?/z\b)suffix@attributenamez(iter)(\s+)procnamez(proc)(\s+)z(operator)(\s+)z*(class|interface|module|record|union)(\s+)	classnamez\d+iz\d+\.\d*([Ee][-+]\d+)?iz\.\d+([Ee][-+]\d+)?iz\d+[Ee][-+]\d+iz(\d*\.\d+)([eE][+-]?[0-9]+)?i?z\d+[eE][+-]?[0-9]+i?z
0[bB][01]+z0[xX][0-9a-fA-F]+z0[oO][0-7]+z[0-9]+z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z(=|\+=|-=|\*=|/=|\*\*=|%=|&=|\|=|\^=|&&=|\|\|=|<<=|>>=|<=>|<~>|\.\.|by|#|\.\.\.|&&|\|\||!|&|\||\^|~|<<|>>|==|!=|<=|>=|<|>|[+\-*/%]|\*\*)z[:;,.?()\[\]{}]z[a-zA-Z_][\w$]*z#popz<([a-zA-Z_][.\w$]*|\~[a-zA-Z_][.\w$]*|[+*/!~%<>=&^|\-:]{1,2})z\(receivertypez\)+\.z[^()]*z[a-zA-Z_][.\w$]*)rootrz   ry   r{   rx   N))__name__
__module____qualname____doc__nameurl	filenamesaliasesknown_typestype_modifiers_partype_modifiers_memtype_modifiersdeclarations	constantsother_keywordsr   r   r   Single	Multiliner   r	   DeclarationConstantTyper   r   FloatBinHexOctIntegerr   r   r   r
   OtherClassFunction	Decoratortokens     6lib/python3.11/site-packages/pygments/lexers/chapel.pyr   r      s        
 D
$C
I GK 6E?)?,>??N#L 1IN* JZ dO7>*.0ABU<...0CDU9U+++W-=>U;u---w|<U5^5n55eDDDgN7O,XXgz::JGXXgz::JG':!>!>
K:HHWj<Y<Y f'0$f-( /=$fl3 FJ'!6:.VZ(' #F+"F+ !)	*
  -  ,m7
r  V4
( ]F$ K0{#	
 U>%000':U;u---w|<
F+
 !$.&9
WN NFFFr   N)r   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   r   __all__r   r   r   r   <module>r      s     7 6 6 6 6 6 6 6 6 6$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ /z z z z z* z z z z zr   