a
    ;@bO  ã                   @   sV   d Z ddlmZmZmZ ddlmZmZmZm	Z	m
Z
mZmZ dgZG dd„ deƒZdS )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 Zd ZdZdZdgZdgZdgZdZdZ	dZ
d	Zd
 e¡Zd ee	e
e¡Zd ee¡Zd ee	e
e¡Zd e	eeeeee¡ZdZd ee¡Zd eee¡Zedƒgedƒdeejejejƒdfdeejejƒdfd e¡eejejejƒdfd e¡eejejejƒdfd e¡eejejejƒdfd e¡eejejejƒdfdeejejejƒdfd e¡eejejeƒfd e¡eejejeƒfd eejejej eƒfd! e¡eejejejƒd"fd# e¡ej fd$ e¡ej fd%ej fd& e¡ejfeefd'ejfd(ejdfd)ejd*fd+ejd,fd-ed.fd/ed0fd1e!j"fd2e!j#fd3e$fgd4e%fd5e%d6fd7ejfgd8e%d9fd:e%fgd;e!j"fd<ed9fgd=eej&ejƒdfd>ej&feej&fd?ej&fd@ed9fedƒgdAedBfedƒgdCejfdDejfdEedFfedƒgdGejdHfd@ed9fedƒgd=eej&ejƒdfeej&fd?ej&fdIed9fd@edFfedƒgdJejfd)ejd9fgdKejfd+ejd9fgdLejfd(ejd9fgd-edMfdNed9fedƒgd/e$dMfd<e$d9fedƒgdOœZ'dPS )Qr   zo
    Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.

    .. versionadded::2.11
    ZElpiÚelpiz*.elpiztext/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Ú	filenamesZ	mimetypesZlcase_reZucase_reZdigit_reZ	schar2_reÚformatZschar_reZ	idchar_reZidcharstarns_reZsymbchar_reZconstant_reZ	symbol_reZ	escape_reZconst_sym_rer   r   r   ZModer   Ú
Whitespacer
   ÚDoubleZDeclarationr	   ZFunctionZVariabler   ZIntegerZFloatr   r   ÚTypeÚtokens© r-   r-   ú3lib/python3.9/site-packages/pygments/lexers/elpi.pyr      sÆ   



ã ýþþú	þü
ýú	
þ
þ
þýý¡N)r$   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   Ú__all__r   r-   r-   r-   r.   Ú<module>   s   
$