a
    ©lcŠ  ã                   @   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-2022 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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	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d0ed1fd2e"j#fd3e"j$fd4e%fgd5e&fd6e&d7fd8ejfgd9e&d:fd;e&fgd<e"j#fd=ed:fgd>eej'ejƒdfd?ej'feej'fd@ej'fdAed:fedƒgdBedCfedƒgdDejfdEejfdFedGfedƒgdHejdIfdAed:fedƒgd>eej'ejƒdfd?ej'feej'fd@ej'fdJed:fdAedGfedƒgdKejfd*ejd:fgdLejfd,ejd:fgdMejfd)ejd:fgd.edNfdOed:fedƒgd0e%dNfd=e%d:fedƒgdPœZ(dQS )Rr   zM
    Lexer for the Elpi programming language.

    .. versionadded::2.11
    ÚElpizhttp://github.com/LPCIC/elpiÚelpiz*.elpiztext/x-elpiz[a-z]z[A-Z]z[0-9]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
({}|{}|{})ú_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ÚurlÚaliasesÚ	filenamesÚ	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
   ÚDoubleÚDeclarationr	   ÚFunctionÚVariabler   ÚIntegerÚFloatr   r   ÚTypeÚtokens© r5   r5   úP/var/www/html/django/DPS/env/lib/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   r5   r5   r5   r6   Ú<module>   s   
$