Ë
    !täià  ã                   óp   — 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e«      Zy)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                    ój  — 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j2                  ej6                  ej:                  «      dfd eej2                  ej6                  e«      dfde› d� eej>                  ej6                  e jB                  «      d fd!e› d� eej>                  ej6                  e jB                  «      d"fd#e› d$� eej>                  ej6                  e jB                  «      d%fd&e› d'� eej>                  ej6                  e jB                  «      d%fd(e› d� eej>                  ej6                  e jB                  «      d%fd) eej>                  ej6                  e jB                  «      d%fd* eej>                  ej6                  ej:                  «      dfd+e› d� eej>                  ej6                  e«      fd,e› d-� eej>                  ej6                  e«      fd. eej>                  ej6                  e jD                  e«      fd/e› d0� eej>                  ej6                  e jB                  «      d1fd2e› �e jD                  fd3e› d4�e jD                  fd5e jD                  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#jH                  fdDe#jJ                  fdEe&fg“ddFe'fdGe'fdHej6                  fg“ddIe#jH                  fdJedKfg“d%dL eejP                  ej:                  «      dfdMejP                  fdNej2                  feejP                  fdOejP                  fdPedKf ed«      g“d1dQedRf ed«      g“dRdSej>                  fdTej>                  fdUedVf ed«      g“d dWej2                  fdPedKfdXej2                  f edY«      dJej2                  dKfdAejP                  dZf ed«       edZ«      g“d"eejP                  fdPedKfdXej2                  fdMej2                  f edY«      dJej2                  dKfdAejP                  dZf ed«       edZ«      g	“dYd[ eej2                  ej6                  ej>                  «      d fd\ eej2                  ej6                  ej>                  «      d"fg“dZdMejP                  feejP                  f edY«      dAejP                  d]fdJejP                  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j6                  fdb ee#e«      dcfdde› d� ee#e jD                  «      fde e)e*«      fg“dc ed«      daedKfg“d@d?ed]fdfedKf ed«      g“dBdAed]f ed«      dJedKfgi¥Z+yg)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© ó    úc/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/elpi.pyr   r      sY  „ ñð €DØ
(€CØˆh€GØ�
€IØ�€IØ€Mà€HØ€HØ€HØ&€IØ�I�;˜hÐ'€HØ�X�J˜a ˜z¨¨8¨*°A°h°Z¸qÐA€IØ˜9˜+ U¨8¨*°A°h°Z¸qÀÀÈ4ÐP€OØ�x�j  ( ¨1¨X¨J°a¸°zÀÐE€KØ�x�j  ¨2¨h¨Z¸Ð7HÈÈ)ÈÐU`ÐTaÐadÐenÐdoÐoqÐr€Kð s€IØ�{�m 1 Y K¨sÐ3€IØ˜�} A i [°°)°¸AÐ>€Lð]ØÙ�F‹Oð
ð]ð
 	Ù�OÓ$à3Ù�g—l‘l D§O¡O°V·]±]ÓCØðð "¡8¨G¯L©L¸$¿/¹/È;Ó#WØ!ð#à,¨\¨N¸!Ð<Ù�g×)Ñ)¨4¯?©?¸D¿M¹MÓJØðð ˜|˜n¨AÐ.Ù�g×)Ñ)¨4¯?©?¸D¿M¹MÓJØðð .¨l¨^¸:ÐFÙ�g×)Ñ)¨4¯?©?¸D¿M¹MÓJØðð   ˜~¨UÐ3Ù�g×)Ñ)¨4¯?©?¸D¿M¹MÓJØðð % \ N°!Ð4Ù�g×)Ñ)¨4¯?©?¸D¿M¹MÓJØðð /Ù�g×)Ñ)¨4¯?©?¸D¿M¹MÓJØðð (Ù�g×)Ñ)¨4¯?©?¸F¿M¹MÓJØðð 5°[°MÀÐCÙ�g×)Ñ)¨4¯?©?¸DÓAðCà! + ¨cÐ2Ù�g×)Ñ)¨4¯?©?¸DÓAðCà=Ù�g×)Ñ)¨4¯?©?¸D¿M¹MÈ4ÓPðRà% l ^°9Ð=Ù�g×)Ñ)¨4¯?©?¸D¿M¹MÓJØ"ð$ð ˜;˜-Ð(¨$¯-©-Ð8Ø˜K˜=¨Ð.°·±Ð>Ø�4—=‘=Ð!Ø�)�˜HÐ% w×':Ñ':Ð;Ø˜$ÐØ˜W×0Ñ0Ð1Ø�6—=‘= -Ð0Ø�6—=‘= ,Ð/Ø�F—M‘M ;Ð/Ø�k <Ð0Ø˜˜|Ð,Ø�KÐ!1Ð2Ø˜&Ÿ.™.Ð)Ø8¸&¿,¹,ÐGØ˜xÐ(ðk6
ð]ðx 	Ø˜7Ð#ØEÀwÐOØ�T—_‘_Ð%ð
ðy]ðB 	Ø˜&Ÿ.™.Ð)Ø�K Ð(ð
ðC]ðJ 	Ø¡¨¯©°v·}±}Ó EÀ}ÐUØ�G—L‘LÐ!Ø�g—l‘lÐ#Ø˜'Ÿ,™,Ð'Ø�w—|‘|Ð$Ø�D˜&Ð!Ù�OÓ$ð
ðK]ð\ 	Ø�K Ð1Ù�OÓ$ð 
ð]]ðd 	Ø˜×,Ñ,Ð-Ø�7×&Ñ&Ð'Ø�; Ð)Ù�6‹?ð	
ðe]ðp 	Ø�w—|‘|Ð$Ø�D˜&Ð!Ø�7—<‘<Ð ÙÐ*Ó+Ø�G—L‘L &Ð)Ø�G—L‘LÐ"3Ð4Ù�OÓ$ÙÐ%Ó&ð	
ðq]ðD 	Ø˜'Ÿ,™,Ð'Ø�D˜&Ð!Ø�7—<‘<Ð Ø�G—L‘LÐ!ÙÐ*Ó+Ø�G—L‘L &Ð)Ø�G—L‘LÐ"3Ð4Ù�OÓ$ÙÐ%Ó&ð

ðE]ðZ 	Ø¡¨'¯,©,°t·±Àw×GZÑGZÓ![Ð]mÐnØ¡¨'¯,©,°t·±Àw×GZÑGZÓ![Ð]mÐnð!
ð[]ðb 	Ø�G—L‘LÐ!Ø˜'Ÿ,™,Ð'ÙÐ*Ó+Ø�G—L‘L 'Ð*Ø�G—L‘L &Ð)Ù�OÓ$ð
ðc]ðt	ð ˜Ÿ™Ð&Ø�6—=‘= &Ð)ð
ðy]ð@ 	Ø˜Ÿ™Ð'Ø�F—M‘M 6Ð*ð
ðA]ðH 	Ø˜Ÿ™Ð&Ø�6—=‘= &Ð)ð
ðI]ðP 	Ø�k 6Ð*Ø�T—_‘_Ð%Ø™X f¨kÓ:Ð<MÐNØ   ¨QÐ/±¸&À$Ç-Á-Ó1PÐQØ ¡%¨	Ó"2Ð3ð
ðQ]ð^ 	Ù�F‹OØ�k 6Ð*ð
ð_]ðf 	Ø˜˜wÐ'Ø˜˜vÐ&Ù�F‹Oð
ðg]ðp 	Ø�K Ð)Ù�F‹OØ�K Ð(ð
ñq]�Fr>   N)r    Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   Ú__all__Úpygments.lexers.theoremr   r   r=   r>   r?   Ú<module>rD      s<   ðñ÷ @Ó ?÷÷ ó ð ˆ-€å -ôv�
õ vr>   