
    f                     `    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mZ dg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-2024 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsinclude)TextCommentOperatorKeywordNameStringNumberPunctuation	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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                        dfde d eej<                  ej6                  ej@                        d fd!e d" eej<                  ej6                  ej@                        d#fd$e d% eej<                  ej6                  ej@                        d#fd&e d eej<                  ej6                  ej@                        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jB                  e      fd,e d- eej<                  ej6                  ej@                        d.fd/e ejB                  fd0e d1ejB                  fd2ejB                  fde d3ej<                  feefd4ej<                  fd5ej:                  dfd6ej:                  d7fd8ej:                  d9fd:e"d;fd<ed=fd>ed?fd@e#jH                  fdAe#jJ                  fdBe&fgddCe'fdDe'dEfdFej6                  fgdEdGe'dHfdIe'fgddJe#jH                  fdKedHfgd#dL eejP                  ej:                        dfdMejP                  feejP                  fdNejP                  fdOedHf ed      gd.dPedQf ed      gdQdRej<                  fd1ej<                  fdSedTf ed      gd dUej2                  dVfdOedHf ed      gdVdL eejP                  ej:                        dfdMejP                  feejP                  fdNejP                  fdWedHfdOedTf ed      gd7dXej:                  fd6ej:                  dHfgd9dYej:                  fd8ej:                  dHfgddZej:                  fd5ej:                  dHfgd;d:e"d[fd\e"dHfd]e d eeejB                        fd^efd_efgd=d<ed[fd`edHf ed      gd?d>e&d[fdKe&dHf ed      gZ)ya)br   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(external type|type)(\s+)((z
(,\s*)?)+)z	elpi-typez\b(kind)(\s+)((z|,)+)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]*\nz/\*zelpi-multiline-commentz\s+z\*/z#pop.z[0-9 _]+z\)z(ctype\s+)(\")z->z\(|\)z\.z\{zelpi-chr-rulez\brule\bz\}z#pop:2z[io]:z
elpi-ctype,z[^` ]+z[^\' ]+z[^\"]+z#pushz\}\}z(lp:)((?=[A-Z_])z[^l\}]+zl|\}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   DoubleDeclarationr
   FunctionVariabler   r   IntegerFloatr   r   Typetokens     O/var/www/cvtools/html/venv/lib/python3.12/site-packages/pygments/lexers/elpi.pyr   r      s    D
(ChG
IIMHHH&II;h'HXJaz8*AhZqAI9+U8*AhZq4POxj(1XJazEKxj2hZ7H)U`TaadendooqrK sI{m1YKs3I}Ai[)A>LAFO
A
 	O$3gllDOOV]]C  ',,!H!#,\N!<g))4??DMMJ .l^:Fg))4??DMMJ  ~U3g))4??DMMJ %\N!4g))4??DMMJ (g))4??FMMJ 5[MCg))4??DAC!+c2g))4??DAC=g))4??DMM4PR%l^9=g))4??DMMJ"$ ;-($--8;-r*DMM:4==!)H%w':':;$W0016==-06==,/FMM;/k<0|,D*+&..)8&,,Gx(_0
Al 	7#W67T__%
mAv 	!Wf%7O#
wA~ 	&..)D&!
AF 	v}} E}UGLL!',,'w||$D&!O$
GAV 	D/*O$ 
WA^ 	,,-7&&'4"6?	
_Aj 	w||\2D&!O$
kAt 	v}} E}UGLL!',,'w||$4 D(#O$
uAF 	&6==&)
GAN 	'FMM6*
OAV 	&6==&)
WA^ 	k7+k6* Q/'4==1QRdO
_Al 	w'v&FO
mAv 	Hg&Hf%FO
wAFr<   N)r   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   __all__r   r;   r<   r=   <module>rA      s8    9 8   -Z
 Zr<   