o
    ‡ÎÖa�  ã                   @   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-2021 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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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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d-e"j#d(fgd.œZ&d/S )0r   zU
    For `Chapel <https://chapel-lang.org/>`_ source.

    .. versionadded:: 2.0
    ÚChapelz*.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)Úsuffixz(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[^()]*)Úrootrv   ru   rw   N)'Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚ	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Útokens© r•   r•   ú8/usr/lib/python3/dist-packages/pygments/lexers/chapel.pyr      st    
ÿüË
8ÿýø
ý
»N)r|   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   r   Ú__all__r   r•   r•   r•   r–   Ú<module>   s
    
,