o
    Ñ­jà  ã                   @   sj   d Z ddlmZmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZ dgZddlm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-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 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Zde› d�Zde
› de› de› de› d�	Zde› de
› de› de› d�	Zde
› de› de› de› d�	Zde› e› de
› e› de› e› de› d�ZdZde› de› d�Zde› de› de› d�Zi dedƒg“dedƒdeejejejƒdfdeejejeƒdfde› d�eejeje j!ƒd fd!e› d�eejeje j!ƒd"fd#e› d$�eejeje j!ƒd%fd&e› d'�eejeje j!ƒd%fd(e› d�eejeje j!ƒd%fd)eejeje j!ƒd%fd*eejejejƒdfd+e› d�eejejeƒfd,e› d-�eejejeƒfd.eejeje j"eƒfd/e› d0�eejeje j!ƒd1fd2e› �e j"fd3e› d4�e j"fd5e j"fde› d6�ejfeefd7ejfd8ejdfd9ejd:fd;ejd<fd=ed>fd?ed@fdAedBfdCe#j$fdDe#j%fdEe&fg“ddFe'fdGe'fdHejfg“ddIe#j$fdJedKfg“d%dLeej(ejƒdfdMej(fdNejfeej(fdOej(fdPedKfedƒg“d1dQedRfedƒg“dRdSejfdTejfdUedVfedƒg“d dWejfdPedKfdXejfedYƒdJejdKfdAej(dZfedƒedZƒg“d"eej(fdPedKfdXejfdMejfedYƒdJejdKfdAej(dZfedƒedZƒg	“dYd[eejejejƒd fd\eejejejƒd"fg“dZdMej(feej(fedYƒdAej(d]fdJej(dKfedƒg“d:d^ejfd9ejdKfg“d<d_ejfd;ejdKfg“dd`ejfd8ejdKfg“d>daedKfdHejfdbee#eƒdcfdde› d�ee#e j"ƒfdee)e*ƒfg“dcedƒdaedKfg“d@d?ed]fdfedKfedƒg“dBdAed]fedƒdJedKfgi¥Z+dgS )hr   z2
    Lexer for the Elpi programming language.
    ÚElpizhttp://github.com/LPCIC/elpiÚelpiz*.elpiztext/x-elpiz2.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*)(\")zelpi-stringz(:index)(\s*)(\()zelpi-indexing-exprz\b(external pred|pred)(\s+)(zelpi-pred-itemz\b(func)(\s+)(zelpi-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+)?)+)zelpi-chr-rule-startz
(?=[A-Z_])z(?=[a-z_])(z|_)\\Ú_z|!|=>|;)z\[|\]|\||=>ú"ú`z
elpi-btickz\'z	elpi-tickz\{\{z
elpi-quotez\{[^\{]z
elpi-spillz\(zelpi-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->Úpropz\(|\)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:)(\{\{)zelpi-quote-exitz(lp:)((?=[A-Z_])z((?!lp:|\}\}).)+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   ÚDoubler   ÚDeclarationr
   ÚFunctionÚVariabler   ÚIntegerÚFloatr   r   ÚTyper   r   Útokens© r;   r;   úQ/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/elpi.pyr      s¬   *ÿÿþÿ
þ
þ
þ
þ
þþþ
ÿ
ÿÿ
þ


Ëû<ýÄAþ¿Eù»Nþ²Rü®X

ø¨b

÷žmþ“q

ú�z
þ„ 
þ �ÿ 
þ �û 	
û �÷ þ �ð ý �ì ý �
çN)r   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__Úpygments.lexers.theoremr   r   r;   r;   r;   r<   Ú<module>   s    
(