summaryrefslogtreecommitdiffstats
path: root/contrib/python/Pygments/py3/pygments/lexers/elpi.py
diff options
context:
space:
mode:
authormonster <[email protected]>2022-07-07 14:41:37 +0300
committermonster <[email protected]>2022-07-07 14:41:37 +0300
commit06e5c21a835c0e923506c4ff27929f34e00761c2 (patch)
tree75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /contrib/python/Pygments/py3/pygments/lexers/elpi.py
parent03f024c4412e3aa613bb543cf1660176320ba8f4 (diff)
fix ya.make
Diffstat (limited to 'contrib/python/Pygments/py3/pygments/lexers/elpi.py')
-rw-r--r--contrib/python/Pygments/py3/pygments/lexers/elpi.py145
1 files changed, 0 insertions, 145 deletions
diff --git a/contrib/python/Pygments/py3/pygments/lexers/elpi.py b/contrib/python/Pygments/py3/pygments/lexers/elpi.py
deleted file mode 100644
index e1fc19d4198..00000000000
--- a/contrib/python/Pygments/py3/pygments/lexers/elpi.py
+++ /dev/null
@@ -1,145 +0,0 @@
-"""
- 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.
-"""
-
-from pygments.lexer import RegexLexer, bygroups, include
-from pygments.token import \
- Text, Comment, Operator, Keyword, Name, String, Number
-
-__all__ = ['ElpiLexer']
-
-class ElpiLexer(RegexLexer):
- """
- Lexer for the Elpi programming language.
-
- .. versionadded::2.11
- """
-
- name = 'Elpi'
- url = 'http://github.com/LPCIC/elpi'
- aliases = ['elpi']
- filenames = ['*.elpi']
- mimetypes = ['text/x-elpi']
-
- lcase_re = r"[a-z]"
- ucase_re = r"[A-Z]"
- digit_re = r"[0-9]"
- schar2_re = r"([+*^?/<>`'@#~=&!])"
- schar_re = r"({}|-|\$|_)".format(schar2_re)
- idchar_re = r"({}|{}|{}|{})".format(lcase_re,ucase_re,digit_re,schar_re)
- idcharstarns_re = r"({}*(\.({}|{}){}*)*)".format(idchar_re, lcase_re, ucase_re, idchar_re)
- symbchar_re = r"({}|{}|{}|{}|:)".format(lcase_re, ucase_re, digit_re, schar_re)
- constant_re = r"({}{}*|{}{}|{}{}*|_{}+)".format(ucase_re, idchar_re, lcase_re, idcharstarns_re,schar2_re, symbchar_re,idchar_re)
- symbol_re=r"(,|<=>|->|:-|;|\?-|->|&|=>|\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~)"
- escape_re=r"\(({}|{})\)".format(constant_re,symbol_re)
- const_sym_re = r"({}|{}|{})".format(constant_re,symbol_re,escape_re)
-
- tokens = {
- 'root': [ include('elpi') ],
-
- 'elpi': [
-
- include('_elpi-comment'),
-
- (r"(:before|:after|:if|:name)(\s*)(\")",bygroups(Keyword.Mode,Text.Whitespace,String.Double),'elpi-string'),
- (r"(:index)(\s*\()",bygroups(Keyword.Mode,Text.Whitespace),'elpi-indexing-expr'),
- (r"\b(external pred|pred)(\s+)({})".format(const_sym_re),bygroups(Keyword.Declaration,Text.Whitespace,Name.Function),'elpi-pred-item'),
- (r"\b(external type|type)(\s+)(({}(,\s*)?)+)".format(const_sym_re),bygroups(Keyword.Declaration,Text.Whitespace,Name.Function),'elpi-type'),
- (r"\b(kind)(\s+)(({}|,)+)".format(const_sym_re),bygroups(Keyword.Declaration,Text.Whitespace,Name.Function),'elpi-type'),
- (r"\b(typeabbrev)(\s+)({})".format(const_sym_re),bygroups(Keyword.Declaration,Text.Whitespace,Name.Function),'elpi-type'),
- (r"\b(accumulate)(\s+)(\")",bygroups(Keyword.Declaration,Text.Whitespace,String.Double),'elpi-string'),
- (r"\b(accumulate|namespace|local)(\s+)({})".format(constant_re),bygroups(Keyword.Declaration,Text.Whitespace,Text)),
- (r"\b(shorten)(\s+)({}\.)".format(constant_re),bygroups(Keyword.Declaration,Text.Whitespace,Text)),
- (r"\b(pi|sigma)(\s+)([a-zA-Z][A-Za-z0-9_ ]*)(\\)",bygroups(Keyword.Declaration,Text.Whitespace,Name.Variable,Text)),
- (r"\b(constraint)(\s+)(({}(\s+)?)+)".format(const_sym_re),bygroups(Keyword.Declaration,Text.Whitespace,Name.Function),'elpi-chr-rule-start'),
-
- (r"(?=[A-Z_]){}".format(constant_re),Name.Variable),
- (r"(?=[a-z_]){}\\".format(constant_re),Name.Variable),
- (r"_",Name.Variable),
- (r"({}|!|=>|;)".format(symbol_re),Keyword.Declaration),
- (constant_re,Text),
- (r"\[|\]|\||=>",Keyword.Declaration),
- (r'"', String.Double, 'elpi-string'),
- (r'`', String.Double, 'elpi-btick'),
- (r'\'', String.Double, 'elpi-tick'),
- (r'\{[^\{]', Text, 'elpi-spill'),
- (r"\(",Text,'elpi-in-parens'),
- (r'\d[\d_]*', Number.Integer),
- (r'-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)', Number.Float),
- (r"[\+\*\-/\^\.]", Operator),
- ],
- '_elpi-comment': [
- (r'%[^\n]*\n',Comment),
- (r'/\*',Comment,'elpi-multiline-comment'),
- (r"\s+",Text.Whitespace),
- ],
- 'elpi-multiline-comment': [
- (r'\*/',Comment,'#pop'),
- (r'.',Comment)
- ],
- 'elpi-indexing-expr':[
- (r'[0-9 _]+',Number.Integer),
- (r'\)',Text,'#pop'),
- ],
- 'elpi-type': [
- (r"(ctype\s+)(\")",bygroups(Keyword.Type,String.Double),'elpi-string'),
- (r'->',Keyword.Type),
- (constant_re,Keyword.Type),
- (r"\(|\)",Keyword.Type),
- (r"\.",Text,'#pop'),
- include('_elpi-comment'),
- ],
- 'elpi-chr-rule-start': [
- (r"\{",Text,'elpi-chr-rule'),
- include('_elpi-comment'),
- ],
- 'elpi-chr-rule': [
- (r"\brule\b",Keyword.Declaration),
- (r"\\",Keyword.Declaration),
- (r"\}",Text,'#pop:2'),
- include('elpi'),
- ],
- 'elpi-pred-item': [
- (r"[io]:",Keyword.Mode,'elpi-ctype'),
- (r"\.",Text,'#pop'),
- include('_elpi-comment'),
- ],
- 'elpi-ctype': [
- (r"(ctype\s+)(\")",bygroups(Keyword.Type,String.Double),'elpi-string'),
- (r'->',Keyword.Type),
- (constant_re,Keyword.Type),
- (r"\(|\)",Keyword.Type),
- (r",",Text,'#pop'),
- (r"\.",Text,'#pop:2'),
- include('_elpi-comment'),
- ],
- 'elpi-btick': [
- (r'[^` ]+', String.Double),
- (r'`', String.Double, '#pop'),
- ],
- 'elpi-tick': [
- (r'[^\' ]+', String.Double),
- (r'\'', String.Double, '#pop'),
- ],
- 'elpi-string': [
- (r'[^\"]+', String.Double),
- (r'"', String.Double, '#pop'),
- ],
- 'elpi-spill': [
- (r'\{[^\{]', Text, '#push'),
- (r'\}[^\}]', Text, '#pop'),
- include('elpi'),
- ],
- 'elpi-in-parens': [
- (r"\(", Operator, '#push'),
- (r"\)", Operator, '#pop'),
- include('elpi'),
- ],
-
- }