
    Mh                     x    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dS )z
    pygments.lexers.elpi
    ~~~~~~~~~~~~~~~~~~~~

    Lexer for the `Elpi <http://github.com/LPCIC/elpi>`_ programming language.

    :copyright: Copyright 2006-2025 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)CoqLexerc                   L   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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 d. eej        ej        e j!                  d/fd0e e j"        fd1e d2e j"        fd3e j"        fde d4ej        feefd5ej        fd6ej        dfd7ej        d8fd9ej        d:fd;ed<fd=ed>fd?ed@fdAe#j$        fdBe#j%        fdCe&fgddDe'fdEe'fdFej        fgddGe#j$        fdHedIfgd#dJ eej(        ej                  dfdKej(        feej(        fdLej(        fdMedIf ed          gd/dNedOf ed          gdOdPej        fdQej        fdRedSf ed          gd dTej        dUfdMedIf ed          gdUdJ eej(        ej                  dfdKej(        feej(        fdLej(        fdVedIfdMedSf ed          gd8dWej        fd7ej        dIfgd:dXej        fd9ej        dIfgddYej        fd6ej        dIfgd<dZedIfdFej        fd[ ee#e          d\fd]e d ee#e j"                  fd^ e)e*          fgd\ ed          dZedIfgd>d=ed_fd`edIf ed          gd@d?ed_f ed          dHedIfgZ+daS )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(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->z\(|\)z\.z\{zelpi-chr-rulez\brule\bz\\z\}z#pop:2z[io]:z
elpi-ctype,z[^` ]+z[^\' ]+z[^\"]+z\}\}z(lp:)(\{\{)zelpi-quote-exitz(lp:)((?=[A-Z_])z((?!lp:|\}\}).)+z#pushz\}[^\}]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     T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/elpi.pyr   r      si         D
(ChG
IIMHHH&I'I'''HAXAAAA8AAhAAAIP9PP8PPhPPPPPOExEE(EEXEEEEEKrxrrrhrrr)rU`rrenrrrK sI3{33Y333I>>>i>>)>>>LCGFOO
C
 	GO$$3XglDOV]CC "88GL$/;#W#W!#<\<<<Xg)4?DMJJ GlFFFXg)4?DMJJ 4333Xg)4?DMJJ 5\444Xg)4?DMJJ /Xg)4?DMJJ (Xg)4?FMJJ D[CCCXg)4?DAAC2+222Xg)4?DAAC=Xg)4?DM4PPR=l===Xg)4?DMJJ"$ );(($-8.K...>4=!%)%%%w':;$W016=-06=,/FM;/k<0|,K!12&.)8&,Gx(e3
Cr 	7#EwOT_%
sC| 	&.)K(
}CD 	v} E E}UGL!','w|$D&!GO$$
ECT 	K1GO$$ 
UC\ 	,-7&';)76??	
]Ch 	w|\2D&!GO$$
iCr 	v} E E}UGL!','w|$4 D(#GO$$
sCD 	&6=&)
ECL 	'FM6*
MCT 	&6=&)
UC\ 	k6*T_%XXfk::<MN////&$-1P1PQ %%//2
]Cj 	GFOOk6*
kCr 	w'v&GFOO
sC| 	K)GFOOK(
}CFFFr=   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>rC      s     @ ? ? ? ? ? ? ? ? ? ? ?                    - , , , , , ,\ \ \ \ \
 \ \ \ \ \r=   