a
    Df                     @   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-2024 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerbygroupsinclude)TextCommentOperatorKeywordNameStringNumberPunctuation	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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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 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 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d.e ej!fd/e d0ej!fd1ej!fde d2ejfeefd3ejfd4ejdfd5ejd6fd7ejd8fd9e"d:fd;ed<fd=ed>fd?e#j$fd@e#j%fdAe&fgdBe'fdCe'dDfdEejfgdFe'dGfdHe'fgdIe#j$fdJedGfgdKeej(ejdfdLej(feej(fdMej(fdNedGfedgdOedPfedgdQejfd0ejfdRedSfedgdTejdUfdNedGfedgdKeej(ejdfdLej(feej(fdMej(fdVedGfdNedSfedgdWejfd5ejdGfgdXejfd7ejdGfgdYejfd4ejdGfgd9e"dZfd[e"dGfd\e deeej!fd]efd^efgd;edZfd_edGfedgd=e&dZfdJe&dGfedgd`Z)daS )br   z2
    Lexer for the Elpi programming language.
    Z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)\)_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+)((z
(,\s*)?)+)	elpi-typez\b(kind)(\s+)((z|,)+)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+)?)+)elpi-chr-rule-startz
(?=[A-Z_])z
(?=[a-z_])z\\_z|!|=>|;)z\[|\]|\||=>"`
elpi-btickz\'	elpi-tickz\{\{
elpi-quotez\{[^\{]
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#pop:2z[io]:
elpi-ctype,z[^` ]+z[^\' ]+z[^\"]+z#pushz\}\}z(lp:)((?=[A-Z_])z[^l\}]+zl|\}z\}[^\}])rootr   r   r    r   r   r   r"   r   r#   r   r   r   r   r   r   N)*__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesZversion_addedZlcase_reZucase_reZdigit_reZ	schar2_reZschar_reZ	idchar_reZidcharstarns_reZsymbchar_reZconstant_reZ	symbol_reZ	escape_reZconst_sym_rer   r   r   ZModer   
Whitespacer
   DoubleZDeclarationr	   ZFunctionVariabler   r   ZIntegerZFloatr   r   Typetokens r4   r4   a/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/pygments/lexers/elpi.pyr      s  *









2	




N)r)   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   r   __all__r   r4   r4   r4   r5   <module>   s   
(