File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/elpi.cpython-310.pyc
o
���aO � @ sV d Z ddlmZmZmZ ddlmZmZmZm Z m
Z
mZmZ dgZ
G dd� de�ZdS )z�
pygments.lexers.elpi
~~~~~~~~~~~~~~~~~~~~
Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� )�
RegexLexer�bygroups�include)�Text�Comment�Operator�Keyword�Name�String�Number� ElpiLexerc @ s� e Zd ZdZdZdgZdgZdgZdZdZ dZ
d Zd
�e�Z
d�ee e
e
�Zd�ee�Zd
�ee e
e
�Zd�e eeeeee�ZdZd�ee�Zd�eee�Zed�ged�deejejej�dfdeejej�dfd�e�eejejej�dfd�e�eejejej�dfd�e�eejejej�dfd�e�eejejej�dfdeejejej�dfd�e�eejeje�fd�e�eejeje�fd eejejej e�fd!�e�eejejej�d"fd#�e�ej fd$�e�ej fd%ej fd&�e�ejfeefd'ejfd(ejdfd)ejd*fd+ejd,fd-ed.fd/ed0fd1e!j"fd2e!j#fd3e$fgd4e%fd5e%d6fd7ejfgd8e%d9fd:e%fgd;e!j"fd<ed9fgd=eej&ej�dfd>ej&feej&fd?ej&fd@ed9fed�gdAedBfed�gdCejfdDejfdEedFfed�gdGejdHfd@ed9fed�gd=eej&ej�dfeej&fd?ej&fdIed9fd@edFfed�gdJejfd)ejd9fgdKejfd+ejd9fgdLejfd(ejd9fgd-edMfdNed9fed�gd/e$dMfd<e$d9fed�gdO�Z'dPS )Qr zo
Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.
.. versionadded::2.11
�Elpi�elpiz*.elpiztext/x-elpiz[a-z]z[A-Z]z[0-9]z([+*^?/<>`'@#~=&!])z({}|-|\$|_)z
({}|{}|{}|{})z({}+|(?=\.[a-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
({}|{}|{})�
_elpi-commentz#(:before|:after|:if|:name)(\s*)(\")�elpi-stringz(:index)(\s*\()�elpi-indexing-exprz\b(external pred|pred)(\s+)({})�elpi-pred-itemz)\b(external type|type)(\s+)(({}(,\s*)?)+)� elpi-typez\b(kind)(\s+)(({}|,)+)z\b(typeabbrev)(\s+)({})z\b(accumulate)(\s+)(\")z'\b(accumulate|namespace|local)(\s+)({})z\b(shorten)(\s+)({}\.)z-\b(pi|sigma)(\s+)([a-zA-Z][A-Za-z0-9_ ]*)(\\)z \b(constraint)(\s+)(({}(\s+)?)+)�elpi-chr-rule-startz(?=[A-Z_]){}z(?=[a-z_]){}\\�_z({}|!|=>|;)z\[|\]|\||=>�"�`�
elpi-btickz\'� elpi-tickz\{[^\{]�
elpi-spillz\(�elpi-in-parensz\d[\d_]*z(-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)z
[\+\*\-/\^\.]z %[^\n]*\nz/\*�elpi-multiline-commentz\s+z\*/z#pop�.z[0-9 _]+z\)z(ctype\s+)(\")z->z\(|\)z\.z\{�
elpi-chr-rulez\brule\bz\\z\}z#pop:2z[io]:�
elpi-ctype�,z[^` ]+z[^\' ]+z[^\"]+z#pushz\}[^\}])�rootr r r r r r r r r r r r r r N)(�__name__�
__module__�__qualname__�__doc__�name�aliases� filenames� mimetypes�lcase_re�ucase_re�digit_re� schar2_re�format�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 �Integer�Floatr r �Type�tokens� rA rA �6/usr/lib/python3/dist-packages/pygments/lexers/elpi.pyr s�
� ���� ��
��
�
�
���
�N)r% �pygments.lexerr r r �pygments.tokenr r r r r r
r �__all__r rA rA rA rB �<module> s
$