File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/elpi.cpython-310.pyc
o
;j� � @ sj d Z ddlmZmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ dgZddlmZ G dd� de�ZdS )z�
pygments.lexers.elpi
~~~~~~~~~~~~~~~~~~~~
Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�
RegexLexer�bygroups�include�using)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation� ElpiLexer)� RocqLexerc @ s| 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 ded�g�ded�deejejej�dfdeejeje�dfde� d�eejeje j!�d fd!e� d�eejeje j!�d"fd#e� d$�eejeje j!�d%fd&e� d'�eejeje j!�d%fd(e� d�eejeje j!�d%fd)eejeje j!�d%fd*eejejej�dfd+e� d�eejeje�fd,e� d-�eejeje�fd.eejeje j"e�fd/e� d0�eejeje j!�d1fd2e� �e j"fd3e� d4�e j"fd5e j"fde� d6�ejfeefd7ejfd8ejdfd9ejd:fd;ejd<fd=ed>fd?ed@fdAedBfdCe#j$fdDe#j%fdEe&fg�ddFe'fdGe'fdHejfg�ddIe#j$fdJedKfg�d%dLeej(ej�dfdMej(fdNejfeej(fdOej(fdPedKfed�g�d1dQedRfed�g�dRdSejfdTejfdUedVfed�g�d dWejfdPedKfdXejfedY�dJejdKfdAej(dZfed�edZ�g�d"eej(fdPedKfdXejfdMejfedY�dJejdKfdAej(dZfed�edZ�g �dYd[eejejej�d fd\eejejej�d"fg�dZdMej(feej(fedY�dAej(d]fdJej(dKfed�g�d:d^ejfd9ejdKfg�d<d_ejfd;ejdKfg�dd`ejfd8ejdKfg�d>daedKfdHejfdbee#e�dcfdde� d�ee#e j"�fdee)e*�fg�dced�daedKfg�d@d?ed]fdfedKfed�g�dBdAed]fed�dJedKfgi�Z+dgS )hr z2
Lexer for the Elpi programming language.
ZElpizhttp://github.com/LPCIC/elpiZelpiz*.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(func)(\s+)(zelpi-func-itemz\b(external type|type)(\s+)((z
(,\s*)?)+)z elpi-typez\b(kind)(\s+)((z|,)+)z\b(typeabbrev)(\s+)(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]*\nz5/(?:\\\n)?[*](?:[^*]|[*](?!(?:\\\n)?/))*[*](?:\\\n)?/z\s+z[0-9 _]+z\)z#popz(ctype\s+)(\")z->Zpropz\(|\)z\.z\{z
elpi-chr-rulez\brule\bz\\z\}z#pop:2z[io]:�,z_elpi-inner-pred-funz_elpi-type-itemz(\()(\s*)(pred)z(\()(\s*)(func)z#pushz[^` ]+z[^\' ]+z[^\"]+z\}\}z(lp:)(\{\{)zelpi-quote-exitz(lp:)((?=[A-Z_])z((?!lp:|\}\}).)+z\}[^\}]N),�__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenamesZ mimetypesZ
version_addedZlcase_reZucase_reZdigit_reZ schar2_reZschar_reZ idchar_reZidcharstarns_reZsymbchar_reZconstant_reZ symbol_reZ escape_reZconst_sym_rer r r ZModer �
Whitespacer �Doubler
ZDeclarationr
ZFunctionZVariabler ZIntegerZFloatr r �Typer r �tokens� r$ r$ �H/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/elpi.pyr s� *����
�
�
�
�
���
�
��
�
��<��A��E��N��R��X
��b
��m��q
��z
��
� ��
� ��
� �� � �� � �� � �
�N)r Zpygments.lexerr r r r Zpygments.tokenr r r r r
r r r
�__all__Zpygments.lexers.theoremr r r$ r$ r$ r% �<module> s
(