
    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     z/home/jay/workspace/.worktrees/task-2116-dev1/scripts/.codegraph-venv/lib/python3.12/site-packages/pygments/lexers/elpi.pyr   r      sY    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]FO
]
 	O$3gllDOOV]]C "8GLL$//;#W!#,\N!<g))4??DMMJ |nA.g))4??DMMJ .l^:Fg))4??DMMJ  ~U3g))4??DMMJ %\N!4g))4??DMMJ /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K=.>4==!)H%w':':;$W0016==-06==,/FMM;/k<0|,K!12&..)8&,,Gx(k6
]x 	7#EwOT__%
y]B 	&..)K(
C]J 	v}} E}UGLL!gll#',,'w||$D&!O$
K]\ 	K1O$ 
]]d 	,,-7&&';)6?	
e]p 	w||$D&!7<< *+GLL&)GLL"34O$%&	
q]D 	',,'D&!7<< GLL!*+GLL&)GLL"34O$%&

E]Z 	',,twGZGZ![]mn',,twGZGZ![]mn!
[]b 	GLL!',,'*+GLL'*GLL&)O$
c]t	 &6==&)
y]@ 	'FMM6*
A]H 	&6==&)
I]P 	k6*T__%Xfk:<MN Q/&$--1PQ %	"23
Q]^ 	FOk6*
_]f 	w'v&FO
g]p 	K)FO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>   