a
    ñ»j'  ã                   @   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-present 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
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d�ejfeedd�ejfee	dd�ejfeg e¢e¢R 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d0e#fgeedd�efee	dd�ejfd1e$j%d,fgd2e$j(d,fgd3œZ)d4S )5r   z
    For Chapel source.
    ÚChapelzhttps://chapel-lang.org/z*.chplÚchapelÚchplz2.0)ÚboolÚbytesÚcomplexÚimagÚintÚlocaleZnothingÚopaqueÚrangeÚrealÚstringZuintZvoid)ZatomicÚsingleZsync)ZborrowedZownedZsharedZ	unmanaged)	ÚconfigÚconstÚinZinoutÚoutÚparamÚrefÚtypeÚvar)ÚfalseÚnilÚnoneÚtrue)AÚalignÚasÚbeginÚbreakZbyZcatchZcobeginZcoforallÚcontinueZdeferÚdeleteZdmappedÚdoÚdomainÚelseÚenumÚexceptZexportZ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)?[*][\s\S]*?[*](\\\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$]*)ÚrootrX   rW   rY   rV   N)*Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚ	filenamesÚaliasesÚversion_addedZknown_typesZtype_modifiers_parZtype_modifiers_memZtype_modifiersZdeclarationsÚ	constantsZother_keywordsr   r   r   ÚSingleÚ	Multiliner   r   ÚDeclarationÚConstantÚTyper   r   ÚFloatÚBinÚHexÚOctÚIntegerr
   r   r   r	   ÚOtherÚClassÚFunctionÚ	DecoratorÚtokens© rt   rt   ú<E:\soccer\ml_env\Lib\site-packages\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   rt   rt   rt   ru   Ú<module>   s   
,