
    L&i                     d    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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                      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     a/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/elpi.pyr   r      s         D
(ChG
IIHHH&I$$Y//H ''(8LLI-44Y(T]^^O$++Hh(SSK,33HiSbdmoz  }F  G  GK sI%%k)<<I ''IiHHL GFOO

 GO$$3XglDOV]CC  ',!H!H!#/66|DDXg)4?DMJJ :@@NNXg)4?DMJJ '--l;;Xg)4?DMJJ (..|<<Xg)4?DMJJ (Xg)4?FMJJ 8>>{KKXg)4?DAAC&--k::Xg)4?DAAC=Xg)4?DM4PPR077EEXg)4?DMJJ"$ ##K00$-@%%k22DMB4=!""9--w/BC$W016=-06=,/FM;/|,D*+&.)8&,Gx(]/
b 7#W67T_%
 Wf%7O#

 &.)D&!

 v} E E}UGL!','w|$D&!GO$$
 D/*GO$$ 

 ,-7&'4"76??	
 w|\2D&!GO$$
 v} E E}UGL!','w|$4 D(#GO$$
 &6=&)

 'FM6*

 &6=&)

 w'v&GFOO
 Hg&Hf%GFOO
gy yFFFrE   N)r'   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   __all__r   rD   rE   rF   <module>rJ      s     9 8 8 8 8 8 8 8 8 8                  -S S S S S
 S S S S SrE   