o
    \i                     @   sj   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 deZdS )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                    @   s|  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 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 d0eejeje j!d1fd2e e j"fd3e d4e j"fd5e j"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#j$fdDe#j%fdEe&fgddFe'fdGe'fdHejfgddIe#j$fdJedKfgd%dLeej(ejdfdMej(fdNejfeej(fdOej(fdPedKfedgd1dQedRfedgdRdSejfdTejfdUedVfedgd dWejfdPedKfdXejfedYdJejdKfdAej(dZfededZgd"eej(fdPedKfdXejfdMejfedYdJejdKfdAej(dZfededZg	dYd[eejejejd fd\eejejejd"fgdZdMej(feej(fedYdAej(d]fdJej(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jfdbee#edcfdde dee#e j"fdee)e*fgdceddaedKfgd@d?ed]fdfedKfedgdBdAed]feddJedKfgiZ+dgS )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 r;   r;   R/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/pygments/lexers/elpi.pyr      s   *










<AENRX

b

mq

z
 
  
  	
       
N)r   pygments.lexerr   r   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   __all__pygments.lexers.theoremr   r   r;   r;   r;   r<   <module>   s    
(