File: //lib/python3/dist-packages/pygments/lexers/__pycache__/c_like.cpython-311.pyc
�
�E�cr � � � d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZ ddlmZmZ ddlmZ g d�Z G d� d e� � Z G d
� de� � Z G d� d
e� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z! G d� de� � Z" G d� de� � Z#dS )z�
pygments.lexers.c_like
~~~~~~~~~~~~~~~~~~~~~~
Lexers for other C-like languages.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�include�bygroups�inherit�words�default) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�
Whitespace)�CLexer�CppLexer)�
_mql_builtins)� PikeLexer� NesCLexer� ClayLexer�ECLexer� ValaLexer� CudaLexer� SwigLexer�MqlLexer�ArduinoLexer�CharmciLexer�OmgIdlLexerc � � e Zd ZdZdZdgZddgZdgZ edd� � � e fd
e j
fd ee e� � dfd
e
fegdej dfdedfgd�ZdS )r z[
For `Pike <http://pike.lysator.liu.se/>`_ source code.
.. versionadded:: 2.0
�Pike�pikez*.pikez*.pmodztext/x-pike)=�catch�new�private� protected�public�gauge�throw�throws�class� interface� implement�abstract�extends�from�this�super�constant�final�static�import�use�extern�inline�proto�break�continue�if�else�for�while�do�switch�case�as�in�version�return�true�false�null�__VERSION__� __MAJOR__� __MINOR__� __BUILD__�__REAL_VERSION__�__REAL_MAJOR__�__REAL_MINOR__�__REAL_BUILD__�__DATE__�__TIME__�__FILE__�__DIR__�__LINE__�__AUTO_BIGNUM__�__NT__�__PIKE__�__amigaos__�_Pragma�
static_assert�defined�sscanf�\b��suffixz�(bool|int|long|float|short|double|char|string|object|void|mapping|array|multiset|program|function|lambda|mixed|[a-z_][a-z0-9_]*_t)\b�(class)(\s+)� classnamez[~!%^&*+=|?:<>/@-]�[a-zA-Z_]\w*�#popz\s*(?=>))�
statementsrd N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypesr r �Typer r r r r
�Class�tokens� � �8/usr/lib/python3/dist-packages/pygments/lexers/c_like.pyr r s� � � � � � �� �
�D��h�G��8�$�I���I� �U�
P� Y^�
_�
_�
_� �
�&� �\�
� �h�h�w�
�;�;�[�I�
"�H�-��'
�, �d�j�&�1�
�*�f�-�
�-� �F�F�Frt r c �t � e Zd ZdZdZdgZdgZdgZd edd� � � e f ed
d� � � e j
fegiZdS )r z
For `nesC <https://github.com/tinyos/nesc>`_ source code with preprocessor
directives.
.. versionadded:: 2.0
�nesC�nescz*.ncztext/x-nescsrcrg )r. rD �async�atomic�call�command� component�
components�
configuration�eventr/ �generic�implementation�includesr, �moduler$ �norace�post�provides�signal�task�usesr` ra )
� nx_struct�nx_union� nx_int8_t�
nx_int16_t�
nx_int32_t�
nx_int64_t�
nx_uint8_t�nx_uint16_t�nx_uint32_t�nx_uint64_tN)
rh ri rj rk rl rm rn ro r r rp r rr rs rt ru r r C s� � � � � � �� � �D��h�G���I�!�"�I� �
�U� >� GL� M� M� M�
�
� �U� #�+0�2� 2� 2� �\�
�
�
��F�F�Frt r c � � e Zd ZdZdZdgZdgZdgZdefde j
fde j fd efd
e
fdefdej fd
ej fdej fdefdedfdedfgdej fdefgdefgdedf ed� � gdedf ed� � ed� � gd�ZdS )r zT
For `Clay <http://claylabs.com/clay/>`_ source.
.. versionadded:: 2.0
�Clayz*.clay�clayztext/x-clay�\s+z//.*?$�/(\\\n)?[*](.|\n)*?[*](\\\n)?/aK \b(public|private|import|as|record|variant|instance|define|overload|default|external|alias|rvalue|ref|forward|inline|noinline|forceinline|enum|var|and|or|not|if|else|goto|return|while|switch|case|break|continue|for|in|true|false|try|catch|throw|finally|onerror|staticassert|eval|when|newtype|__FILE__|__LINE__|__COLUMN__|__ARG__)\bz[~!%^&*+=|:<>/-]z[#(){}\[\],;.]z0x[0-9a-fA-F]+[LlUu]*z
\d+[LlUu]*z\b(true|false)\bz(?i)[a-z_?][\w?]*z"""�tdqs�"�dqsz(?i)\\(x[0-9a-f]{2}|.)z[^\\"]+�\nrf �strings�nl)�rootr� r� r� r� N)rh ri rj rk rl rn rm ro r r
�Single� Multiliner r r r �Hex�Integerr
�Builtinr �Escaper rr rs rt ru r r ` s. � � � � � �� �
�D��
�I��h�G���I� �Z� �
���'�
.��0A�B�� �
� !�(�+�
��,�
%�v�z�2�
�F�N�+�
�$�,�/�
!�4�(�
�V�V�$�
�6�5�!�'
�, '��
�6�
�� �
�
�F�O�
� �6�6�"��G�I���
�
�V�V�$��G�I����G�D�M�M�
�C&� &�F�F�Frt r c � � e Zd ZdZdZdgZddgZddgZd ed d
�� � e f edd
�� � e j
fd
ee e� � dfde
j fegiZdS )r zU
For eC source code with preprocessor directives.
.. versionadded:: 1.5
�eC�ecz*.ecz*.ehztext/x-echdrztext/x-ecsrcrg )+�virtualr+ r% r'