o
    Ñ­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Ú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$]*)Úrootrx   rw   ry   rv   N)*Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚ	filenamesÚaliasesÚversion_addedÚ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© rš   rš   úS/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/chapel.pyr      s~    
ÿüÊ
9ÿýø
ý
ÿ
µN)r~   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r   r	   r
   r   r   r   Ú__all__r   rš   rš   rš   r›   Ú<module>   s
    
,