o
    Zh6                     @   sZ   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 deZdS )z
    pygments.lexers.elpi
    ~~~~~~~~~~~~~~~~~~~~

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

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsinclude)TextCommentOperatorKeywordNameStringNumberPunctuation	ElpiLexerc                   @   s6  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i dedgd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"d0fd1ed2fd3ed4fd5e#j$fd6e#j%fd7e&fgdd8e'fd9e'd:fd;ejfgd:d<e'd=fd>e'fgdd?e#j$fd@ed=fgddAeej(ejdfdBej(feej(fdCej(fdDed=fedgd$dEedFfedgdFdGejfdHejfdIedJfedgddKejdLfdDed=fedgdLdAeej(ejdfdBej(feej(fdCej(fdMed=fdDedJfedgd,dNejfd+ejd=fgd.dOejfd-ejd=fgddPejfd*ejd=fgd0d/e"dQfdRe"d=fdSeeeej!fdTefdUefgd2d1edQfdVed=fedgd4d3e&dQfd@e&d=fedgZ)dWS )Xr   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
({}|{}|{})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+)(({}(,\s*)?)+)z	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+)?)+)zelpi-chr-rule-startz(?=[A-Z_]){}z(?=[a-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\}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	mimetypesZlcase_reZucase_reZdigit_reZ	schar2_reformatZschar_reZ	idchar_reZidcharstarns_reZsymbchar_reZconstant_reZ	symbol_reZ	escape_reZconst_sym_rer   r   r   ZModer   
Whitespacer
   DoubleDeclarationr	   FunctionVariabler   r   IntegerFloatr   r   Typetokens r)   r)   K/var/www/html/lang_env/lib/python3.10/site-packages/pygments/lexers/elpi.pyr      sV   



6;?CKOU
Zc
g
k
ov{N)r   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   __all__r   r)   r)   r)   r*   <module>   s
    
(