File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/chapel.cpython-310.pyc
o
���a� � @ s^ d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZ dgZG dd� de�ZdS )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 Zd ZdZdZdgZddgZdZdZdZ g e�e �R Z
d Zd
ZdZ
defd
efdefdejfdejfeedd�ejfeedd�ejfeedd�ejfeg e
�e
�R dd�efdeee�dfdeee�dfdeee�dfdeee�dfdefdefdefdefdejfdejfdejfd ejfd!ejfd"ejfd#efd$efd%e fd&e!fd'e"j#fgd'e"j$d(fgd)e"j%d(fd*e!d+fd,e!fgee
dd�efeedd�ejfd-e"j#d(fgd.�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]+z0[xX][0-9a-fA-F]+z0[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
,