File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/elpi.cpython-311.pyc
�
�;f� � �h � d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
dgZ G d� de� � ZdS )z�
pygments.lexers.elpi
~~~~~~~~~~~~~~~~~~~~
Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�
RegexLexer�bygroups�include)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation� ElpiLexerc �� � e Zd ZdZdZdZdgZdgZdgZdZ dZ
d Zd
ZdZ
de
� d
�Zde
� de� de� de� d� Zde� de
� de� de� d� Zde
� de� de� de� d� Zde� e� de
� e� de
� e� de� d�ZdZde� de� d�Zde� de� de� d�Zi d ed� � g�d ed� � d eej ej ej � � dfd eej ej � � dfde� d� eej ej ej � � d fd!e� d"� eej ej ej � � d#fd$e� d%� eej ej ej � � d#fd&e� d� eej ej ej � � d#fd' eej ej ej � � dfd(e� d� eej ej e� � fd)e� d*� eej ej e� � fd+ eej ej ej! e� � fd,e� d-� eej ej ej � � d.fd/e� �ej! fd0e� d1�ej! fd2ej! fde� d3�ej feefd4ej fd5ej dfd6ej d7fd8ej d9fd:e"d;fd<ed=fd>ed?fd@e#j$ fdAe#j% fdBe&fg�ddCe'fdDe'dEfdFej fg�dEdGe'dHfdIe'fg�ddJe#j$ fdKedHfg�d#dL eej( ej � � dfdMej( feej( fdNej( fdOedHf ed� � g�d.dPedQf ed� � g�dQdRej fd1ej fdSedTf ed� � g�d dUej dVfdOedHf ed� � g�dVdL eej( ej � � dfdMej( feej( fdNej( fdWedHfdOedTf ed� � g�d7dXej fd6ej dHfg�d9dYej fd8ej dHfg�ddZej fd5ej dHfg�d;d:e"d[fd\e"dHfd]e� d� eeej! � � fd^efd_efg�d=d<ed[fd`edHf ed� � g�d?d>e&d[fdKe&dHf ed� � g�Z)daS )br z2
Lexer for the Elpi programming language.
�Elpizhttp://github.com/LPCIC/elpi�elpiz*.elpiztext/x-elpiz2.11z[a-z]z[A-Z]z[0-9]z([+*^?/<>`'@#~=&!])�(z|-|\$|_)�|�)z*(\.(z*)*)z|:)z*|z*|_z+)z�(,|<=>|->|:-|;|\?-|->|&|=>|\bas\b|\buvar\b|<|=<|=|==|>=|>|\bi<|\bi=<|\bi>=|\bi>|\bis\b|\br<|\br=<|\br>=|\br>|\bs<|\bs=<|\bs>=|\bs>|@|::|\[\]|`->|`:|`:=|\^|-|\+|\bi-|\bi\+|r-|r\+|/|\*|\bdiv\b|\bi\*|\bmod\b|\br\*|~|\bi~|\br~)z\((z)\)�rootz
_elpi-commentz#(:before|:after|:if|:name)(\s*)(\")zelpi-stringz(:index)(\s*\()zelpi-indexing-exprz\b(external pred|pred)(\s+)(zelpi-pred-itemz\b(external type|type)(\s+)((z
(,\s*)?)+)z elpi-typez\b(kind)(\s+)((z|,)+)z\b(typeabbrev)(\s+)(z\b(accumulate)(\s+)(\")z$\b(accumulate|namespace|local)(\s+)(z\b(shorten)(\s+)(z\.)z-\b(pi|sigma)(\s+)([a-zA-Z][A-Za-z0-9_ ]*)(\\)z\b(constraint)(\s+)((z (\s+)?)+)zelpi-chr-rule-startz
(?=[A-Z_])z
(?=[a-z_])z\\�_z|!|=>|;)z\[|\]|\||=>�"�`z
elpi-btickz\'z elpi-tickz\{\{z
elpi-quotez\{[^\{]z
elpi-spillz\(zelpi-in-parensz\d[\d_]*z(-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)z
[\+\*\-/\^\.]z %[^\n]*\nz/\*zelpi-multiline-commentz\s+z\*/z#pop�.z[0-9 _]+z\)z(ctype\s+)(\")z->z\(|\)z\.z\{z
elpi-chr-rulez\brule\bz\}z#pop:2z[io]:z
elpi-ctype�,z[^` ]+z[^\' ]+z[^\"]+z#pushz\}\}z(lp:)((?=[A-Z_])z[^l\}]+zl|\}z\}[^\}]N)*�__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenames� mimetypes�
version_added�lcase_re�ucase_re�digit_re� schar2_re�schar_re� idchar_re�idcharstarns_re�symbchar_re�constant_re� symbol_re� escape_re�const_sym_rer r r �Moder �
Whitespacer �Double�Declarationr
�Function�Variabler
r �Integer�Floatr r �Type�tokens� � �G/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/elpi.pyr r s) � � � � � �� � �D�
(�C��h�G��
�I���I��M��H��H��H�&�I�'�I�'�'�'�H�A�X�A�A��A�A�8�A�A�h�A�A�A�I�P�9�P�P�8�P�P�h�P�P��P�P�P�O�E�x�E�E�(�E�E�X�E�E��E�E�E�K�r�x�r��r�r�h�r��r�r�)�r�U`�r�r�en�r�r�r�K� s�I�3�{�3�3�Y�3�3�3�I�>��>�>�i�>�>�)�>�>�>�L�A���G�F�O�O�
�A�
��G�O�$�$�
3�
�X�g�l�D�O�V�]�
C�
C�
�
� ���'�,���!H�!H�
!�
#�
<�\�
<�
<�
<�
�X�g�)�4�?�D�M�
J�
J�
�
� G�l�
F�
F�
F�
�X�g�)�4�?�D�M�
J�
J�
�
� 4��
3�
3�
3�
�X�g�)�4�?�D�M�
J�
J�
�
� 5�\�
4�
4�
4�
�X�g�)�4�?�D�M�
J�
J�
�
� (�
�X�g�)�4�?�F�M�
J�
J�
�
� D�[�
C�
C�
C�
�X�g�)�4�?�D�
A�
A�
C�
2�+�
2�
2�
2�
�X�g�)�4�?�D�
A�
A�
C�
=�
�X�g�)�4�?�D�M�4�
P�
P�
R�
=�l�
=�
=�
=�
�X�g�)�4�?�D�M�
J�
J�
"�
$� )�;�
(�
(�$�-�8�
*�;�
*�
*�
*�D�M�:�
�4�=�!�
%�)�
%�
%�
%�w�':�;�
�$��
�W�0�1�
�6�=�-�0�
�6�=�,�/�
�F�M�;�/�
�k�<�0�
��|�,�
�D�*�+�
�&�.�)�
8�&�,�G�
�x�(�_0
�A�l �
�7�#�
�W�6�7�
�T�_�%�
�mA�v !�
�W�f�%�
�7�O�#
�wA�~ �
�&�.�)�
�D�&�!�
�A�F �
�����v�}� E� E�}�U�
�G�L�!�
�'�,�'�
�w�|�$�
�D�&�!��G�O�$�$�
�GA�V �
�D�/�*��G�O�$�$�
�WA�^ ���,�-��7�&�'��4��"��7�6�?�?�
�_A�j �
�w�|�\�2�
�D�&�!��G�O�$�$�
�kA�t �
�����v�}� E� E�}�U�
�G�L�!�
�'�,�'�
�w�|�$�
�4�� �
�D�(�#��G�O�$�$�
�uA�F �
��
�&�
�6�=�&�)�
�GA�N �
���'�
�F�M�6�*�
�OA�V �
��
�&�
�6�=�&�)�
�WA�^ �
�k�7�+�
�k�6�*�
/��
/�
/�
/���'�4�=�1Q�1Q�R�
���
�d�O�
�_A�l �
��w�'�
��v�&��G�F�O�O�
�mA�v �
�H�g�&�
�H�f�%��G�F�O�O�
�wA�F�F�Fr<