o
    i                     @   sV   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 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-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsinclude)TextCommentOperatorKeywordNameStringNumber	ElpiLexerc                   @   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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edg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d/fd0ed1fd2e"j#fd3e"j$fd4e%fgd5e&fd6e&d7fd8ejfgd9e&d:fd;e&fgd<e"j#fd=ed:fgd>eej'ejdfd?ej'feej'fd@ej'fdAed:fedgdBedCfedgdDejfdEejfdFedGfedgdHejdIfdAed:fedgd>eej'ejdfd?ej'feej'fd@ej'fdJed:fdAedGfedgdKejfd*ejd:fgdLejfd,ejd:fgdMejfd)ejd:fgd.edNfdOed:fedgd0e%dNfd=e%d:fedgdPZ(dQS )Rr   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
({}|{}|{})_elpi-commentz#(:before|:after|:if|:name)(\s*)(\")elpi-stringz(:index)(\s*\()elpi-indexing-exprz\b(external pred|pred)(\s+)({})elpi-pred-itemz)\b(external type|type)(\s+)(({}(,\s*)?)+)	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+)?)+)elpi-chr-rule-startz(?=[A-Z_]){}z(?=[a-z_]){}\\_z({}|!|=>|;)z\[|\]|\||=>"`
elpi-btickz\'	elpi-tickz\{[^\{]
elpi-spillz\(elpi-in-parensz\d[\d_]*z(-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)z[\+\*\-/\^\.]z	%[^\n]*\nz/\*elpi-multiline-commentz\s+z\*/z#pop.z[0-9 _]+z\)z(ctype\s+)(\")z->z\(|\)z\.z\{elpi-chr-rulez\brule\bz\\z\}z#pop:2z[io]:
elpi-ctype,z[^` ]+z[^\' ]+z[^\"]+z#pushz\}[^\}])rootr   r   r   r   r   r   r   r   r   r   r   r   r   r   N))__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypeslcase_reucase_redigit_re	schar2_reformat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   IntegerFloatr   r   Typetokens rB   rB   O/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/pygments/lexers/elpi.pyr      s   



1	





N)r%   pygments.lexerr   r   r   pygments.tokenr   r   r   r   r	   r
   r   __all__r   rB   rB   rB   rC   <module>   s
    
$