U
    luf%                     @   s^   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 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                   @   s  e Zd ZdZdZdZdgZddgZdZdZ	d	Z
e	e
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dejfeeddejfeeddejfeeed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defeed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
    ZChapelzhttps://chapel-lang.org/z*.chplZchapelZchpl)boolbytescompleximagintlocaleZnothingopaquerangerealstringZuintvoid)ZatomicZsinglesync)ZborrowedZownedZsharedZ	unmanaged)	configconstinZinoutoutparamreftypevar)falsenilnonetrue)AZalignasbeginbreakZbyZcatchZcobeginZcoforallcontinuedeferdeleteZdmappedZdodomainelseenumexceptexportexternforforallZforeachZ
forwardingifZ
implementsimportindexinitinlinelabellambdaZletZlifetimelocalnewZnoinitononlyZ	otherwiseoverrideZpragmaZ	primitiveprivateZ	prototypepublicreducerequirereturnscanselectserialsparseZ	subdomainZthenthisthrowZthrowstryZ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$]*)rootrW   rV   rX   rU   N))__name__
__module____qualname____doc__nameurl	filenamesaliasesZknown_typesZtype_modifiers_parZtype_modifiers_memZtype_modifiersZdeclarations	constantsZother_keywordsr   r   r   SingleZ	Multiliner   r   ZDeclarationConstantTyper   r   ZFloatZBinZHexOctZIntegerr
   r   r   r	   ZOtherZClassZFunctionZ	Decoratortokens rh   rh   :/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/chapel.pyr      s|   
9
 

N)r]   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   r   __all__r   rh   rh   rh   ri   <module>   s   
,