
    6                     `    S r SSKJrJrJr  SSKJrJrJrJ	r	J
r
JrJrJr  S/r " S S\5      rg)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                      \ rS rSrSrSrSrS/rS/rS/r	Sr
S	rS
rSrSR                  \5      rSR                  \
\\\5      rSR                  \\
\\5      rSR                  \
\\\5      rSR                  \\\
\\\\5      rSrSR                  \\5      rSR                  \\\5      r0 S\" S5      /_S\" S5      S\" \R4                  \R8                  \R<                  5      S4S\" \R4                  \R8                  5      S4SR                  \5      \" \R>                  \R8                  \ RB                  5      S4SR                  \5      \" \R>                  \R8                  \ RB                  5      S4SR                  \5      \" \R>                  \R8                  \ RB                  5      S4SR                  \5      \" \R>                  \R8                  \ RB                  5      S4S \" \R>                  \R8                  \R<                  5      S4S!R                  \5      \" \R>                  \R8                  \5      4S"R                  \5      \" \R>                  \R8                  \5      4S#\" \R>                  \R8                  \ RD                  \5      4S$R                  \5      \" \R>                  \R8                  \ RB                  5      S%4S&R                  \5      \ RD                  4S'R                  \5      \ RD                  4S(\ RD                  4S)R                  \5      \R>                  4\\4S*\R>                  4S+\R<                  S4S,\R<                  S-4S.\R<                  S/4S0\#S14S2\S34S4\S54S6\$RJ                  4S7\$RL                  4S8\'4/_SS9\(4S:\(S;4S<\R8                  4/_S;S=\(S>4S?\(4/_SS@\$RJ                  4SA\S>4/_SSB\" \RR                  \R<                  5      S4SC\RR                  4\\RR                  4SD\RR                  4SE\S>4\" S5      /_S%SF\SG4\" S5      /_SGSH\R>                  4SI\R>                  4SJ\SK4\" S5      /_SSL\R4                  SM4SE\S>4\" S5      /_SMSB\" \RR                  \R<                  5      S4SC\RR                  4\\RR                  4SD\RR                  4SN\S>4SE\SK4\" S5      /_S-SO\R<                  4S,\R<                  S>4/_S/SP\R<                  4S.\R<                  S>4/_SSQ\R<                  4S+\R<                  S>4/_S1S0\#SR4SS\#S>4STR                  \5      \" \\ RD                  5      4SU\4SV\4/_S3S2\SR4SW\S>4\" S5      /_S5S4\'SR4SA\'S>4\" S5      /_r*SXr+gY)Zr      zB
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____firstlineno____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   r   IntegerFloatr   r   Typetokens__static_attributes__r       'lib/third_party/pygments/lexers/elpi.pyr   r      s    D
(ChG
IIHHH&I$$Y/H ''(8LI-44Y(T]^O$++Hh(SK,33HiSbdmoz  }F  GK sI%%k)<I ''IiHLAFO
A
 	O$3gllDOOV]]C  ',,!H!#/66|Dg))4??DMMJ :@@Ng))4??DMMJ '--l;g))4??DMMJ (..|<g))4??DMMJ (g))4??FMMJ 8>>{Kg))4??DAC&--k:g))4??DAC=g))4??DMM4PR077Eg))4??DMMJ"$ ##K0$--@%%k2DMMB4==!""9-w/B/BC$W0016==-06==,/FMM;/k<0|,D*+&..)8&,,Gx(_0
Al 	7#W67T__%
mAv 	!Wf%7O#
wA~ 	&..)D&!
AF 	v}} E}UGLL!',,'w||$D&!O$
GAV 	D/*O$ 
WA^ 	,,-7&&'4"6?	
_Aj 	w||\2D&!O$
kAt 	v}} E}UGLL!',,'w||$4 D(#O$
uAF 	&6==&)
GAN 	'FMM6*
OAV 	&6==&)
WA^ 	k7+k6*#**;7'4==9YZdO
_Al 	w'v&FO
mAv 	Hg&Hf%FO
wAFr<   N)r   pygments.lexerr   r   r   pygments.tokenr   r   r   r	   r
   r   r   r   __all__r   r   r<   r=   <module>rA      s8    9 8   -[
 [r<   