§
    £E±câ  ã                   ód   — 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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                   óü  — 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   zN
    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Ú	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© ó    ú6/usr/lib/python3/dist-packages/pygments/lexers/elpi.pyr   r      s  € € € € € ðð ð €DØ
(€CØˆh€GØ�
€IØ�€Ià€HØ€HØ€HØ&€IØ×$Ò$ YÑ/Ô/€HØ ×'Ò'¨°¸(À8ÑLÔL€IØ-×4Ò4°YÀÈ(ÐT]Ñ^Ô^€OØ$×+Ò+¨H°hÀÈ(ÑSÔS€KØ,×3Ò3°H¸iÈÐSbÐdmÐozð  }Fñ  Gô  G€Kð s€IØ×%Ò% k°)Ñ<Ô<€IØ ×'Ò'¨°I¸iÑHÔH€Lð ˆG�F‰OŒOð
ð
 ˆG�OÑ$Ô$à3ØˆX�g”l D¤O°V´]ÑCÔCØðð    ¨'¬,¸¼Ñ!HÔ!HØ!ð#à/×6Ò6°|ÑDÔDØˆX�gÔ)¨4¬?¸D¼MÑJÔJØðð :×@Ò@ÀÑNÔNØˆX�gÔ)¨4¬?¸D¼MÑJÔJØðð '×-Ò-¨lÑ;Ô;ØˆX�gÔ)¨4¬?¸D¼MÑJÔJØðð (×.Ò.¨|Ñ<Ô<ØˆX�gÔ)¨4¬?¸D¼MÑJÔJØðð (ØˆX�gÔ)¨4¬?¸F¼MÑJÔJØðð 8×>Ò>¸{ÑKÔKØˆX�gÔ)¨4¬?¸DÑAÔAðCà&×-Ò-¨kÑ:Ô:ØˆX�gÔ)¨4¬?¸DÑAÔAðCà=ØˆX�gÔ)¨4¬?¸D¼MÈ4ÑPÔPðRà0×7Ò7¸ÑEÔEØˆX�gÔ)¨4¬?¸D¼MÑJÔJØ"ð$ð ×#Ò# KÑ0Ô0°$´-Ð@Ø×%Ò% kÑ2Ô2°D´MÐBØ�4”=Ð!Ø×"Ò" 9Ñ-Ô-¨wÔ/BÐCØ˜$ÐØ˜WÔ0Ð1Ø�6”= -Ð0Ø�6”= ,Ð/Ø�F”M ;Ð/Ø˜˜|Ð,Ø�DÐ*Ð+Ø˜&œ.Ð)Ø8¸&¼,ÐGØ˜xÐ(ð]/
ðb ˜7Ð#Ø�WÐ6Ð7Ø�T”_Ð%ð
ð �W˜fÐ%Ø�7ˆOð#
ð
 ˜&œ.Ð)Ø�D˜&Ð!ð
ð
   ¨¬°v´}Ñ EÔ EÀ}ÐUØ�G”LÐ!Ø˜'œ,Ð'Ø�w”|Ð$Ø�D˜&Ð!ØˆG�OÑ$Ô$ð
ð �D˜/Ð*ØˆG�OÑ$Ô$ð 
ð
 ˜Ô,Ð-Ø�7Ô&Ð'Ø�4˜Ð"Øˆ7�6‰?Œ?ð	
ð �w”| \Ð2Ø�D˜&Ð!ØˆG�OÑ$Ô$ð
ð   ¨¬°v´}Ñ EÔ EÀ}ÐUØ�G”LÐ!Ø˜'œ,Ð'Ø�w”|Ð$Ø�4˜Ð Ø�D˜(Ð#ØˆG�OÑ$Ô$ð
ð ˜œÐ&Ø�6”= &Ð)ð
ð
 ˜œÐ'Ø�F”M 6Ð*ð
ð
 ˜œÐ&Ø�6”= &Ð)ð
ð
 ˜˜wÐ'Ø˜˜vÐ&ØˆG�F‰OŒOð
ð �H˜gÐ&Ø�H˜fÐ%ØˆG�F‰OŒOð
ðgyð y€F€F€FrE   N)r'   Úpygments.lexerr   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   Ú__all__r   rD   rE   rF   ú<module>rJ      sÐ   ððð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ˆ-€ðSð Sð Sð Sð S�
ñ Sô Sð Sð Sð SrE   