3

V'ícâã@sVdZddlmZmZmZddlmZmZmZm	Z	m
Z
mZmZdgZ
Gdd„deƒZdS)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¾eZdZdZdZdZdgZdgZdgZdZ	dZ
d	Zd
Zdj
eƒZdj
e	e
eeƒZd
j
ee	e
eƒZdj
e	e
eeƒZdj
e
ee	eeeeƒZdZdj
eeƒZdj
eeeƒZedƒgedƒdeejejejƒdfdeejejƒdfdj
eƒeejejej ƒdfdj
eƒeejejej ƒdfdj
eƒeejejej ƒdfdj
eƒeejejej ƒdfdeejejejƒdfdj
eƒeejejeƒfd j
eƒeejejeƒfd!eejejej!eƒfd"j
eƒeejejej ƒd#fd$j
eƒej!fd%j
eƒej!fd&ej!fd'j
eƒejfeefd(ejfd)ejdfd*ejd+fd,ejd-fd.ed/fd0ed1fd2e"j#fd3e"j$fd4e%fgd5e&fd6e&d7fd8ejfgd9e&d:fd;e&fgd<e"j#fd=ed:fgd>eej'ejƒdfd?ej'feej'fd@ej'fdAed:fedƒgdBedCfedƒgdDejfdEejfdFedGfedƒgdHejdIfdAed:fedƒgd>eej'ejƒdfd?ej'feej'fd@ej'fdJed:fdAedGfedƒgdKejfd*ejd:fgdLejfd,ejd:fgdMejfd)ejd:fgd.edNfdOed:fedƒgd0e%dNfd=e%d:fedƒgdPœZ(dQS)RrzN
    Lexer for the Elpi programming language.

    .. versionadded:: 2.11
    ZElpizhttp://github.com/LPCIC/elpiÚelpiz*.elpiztext/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
({}|{}|{})z
_elpi-commentz#(:before|:after|:if|:name)(\s*)(\")zelpi-stringz(:index)(\s*\()zelpi-indexing-exprz\b(external pred|pred)(\s+)({})zelpi-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+)?)+)zelpi-chr-rule-startz(?=[A-Z_]){}z(?=[a-z_]){}\\Ú_z({}|!|=>|;)z\[|\]|\||=>ú"ú`z
elpi-btickz\'z	elpi-tickz\{[^\{]z
elpi-spillz\(zelpi-in-parensz\d[\d_]*z(-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)z
[\+\*\-/\^\.]z	%[^\n]*\nz/\*zelpi-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\}[^\}])Úrootr
z
_elpi-commentzelpi-multiline-commentzelpi-indexing-exprz	elpi-typezelpi-chr-rule-startz
elpi-chr-rulezelpi-pred-itemz
elpi-ctypez
elpi-btickz	elpi-tickzelpi-stringz
elpi-spillzelpi-in-parensN))Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesZlcase_reZucase_reZdigit_reZ	schar2_reÚformatZschar_reZ	idchar_reZidcharstarns_reZsymbchar_reZconstant_reZ	symbol_reZ	escape_reZconst_sym_rerrrZModerÚ
Whitespacer
ÚDoubleZDeclarationr	ZFunctionÚVariablerZIntegerZFloatrrÚTypeÚtokens©r#r#ú8/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/elpi.pyrsÐ






N)rZpygments.lexerrrrZpygments.tokenrrrrr	r
rÚ__all__rr#r#r#r$Ú<module>	s$