diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
commit | 718c552901d703c502ccbefdfc3c9028d608b947 (patch) | |
tree | 46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/python/Pygments/py2/pygments/lexers/whiley.py | |
parent | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff) | |
download | ydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/python/Pygments/py2/pygments/lexers/whiley.py')
-rw-r--r-- | contrib/python/Pygments/py2/pygments/lexers/whiley.py | 232 |
1 files changed, 116 insertions, 116 deletions
diff --git a/contrib/python/Pygments/py2/pygments/lexers/whiley.py b/contrib/python/Pygments/py2/pygments/lexers/whiley.py index feeeb3b7c8..c462e05756 100644 --- a/contrib/python/Pygments/py2/pygments/lexers/whiley.py +++ b/contrib/python/Pygments/py2/pygments/lexers/whiley.py @@ -1,116 +1,116 @@ -# -*- coding: utf-8 -*- -""" - pygments.lexers.whiley - ~~~~~~~~~~~~~~~~~~~~~~ - - Lexers for the Whiley language. - - :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -from pygments.lexer import RegexLexer, bygroups, words -from pygments.token import Comment, Keyword, Name, Number, Operator, \ - Punctuation, String, Text - -__all__ = ['WhileyLexer'] - - -class WhileyLexer(RegexLexer): - """ - Lexer for the Whiley programming language. - - .. versionadded:: 2.2 - """ - name = 'Whiley' - filenames = ['*.whiley'] - aliases = ['whiley'] - mimetypes = ['text/x-whiley'] - - # See the language specification: - # http://whiley.org/download/WhileyLanguageSpec.pdf - - tokens = { - 'root': [ - # Whitespace - (r'\s+', Text), - - # Comments - (r'//.*', Comment.Single), - # don't parse empty comment as doc comment - (r'/\*\*/', Comment.Multiline), - (r'(?s)/\*\*.*?\*/', String.Doc), - (r'(?s)/\*.*?\*/', Comment.Multiline), - - # Keywords - (words(( - 'if', 'else', 'while', 'for', 'do', 'return', - 'switch', 'case', 'default', 'break', 'continue', - 'requires', 'ensures', 'where', 'assert', 'assume', - 'all', 'no', 'some', 'in', 'is', 'new', - 'throw', 'try', 'catch', 'debug', 'skip', 'fail', - 'finite', 'total'), suffix=r'\b'), Keyword.Reserved), - (words(( - 'function', 'method', 'public', 'private', 'protected', - 'export', 'native'), suffix=r'\b'), Keyword.Declaration), - # "constant" & "type" are not keywords unless used in declarations - (r'(constant|type)(\s+)([a-zA-Z_]\w*)(\s+)(is)\b', - bygroups(Keyword.Declaration, Text, Name, Text, Keyword.Reserved)), - (r'(true|false|null)\b', Keyword.Constant), - (r'(bool|byte|int|real|any|void)\b', Keyword.Type), - # "from" is not a keyword unless used with import - (r'(import)(\s+)(\*)([^\S\n]+)(from)\b', - bygroups(Keyword.Namespace, Text, Punctuation, Text, Keyword.Namespace)), - (r'(import)(\s+)([a-zA-Z_]\w*)([^\S\n]+)(from)\b', - bygroups(Keyword.Namespace, Text, Name, Text, Keyword.Namespace)), - (r'(package|import)\b', Keyword.Namespace), - - # standard library: https://github.com/Whiley/WhileyLibs/ - (words(( - # types defined in whiley.lang.Int - 'i8', 'i16', 'i32', 'i64', - 'u8', 'u16', 'u32', 'u64', - 'uint', 'nat', - - # whiley.lang.Any - 'toString'), suffix=r'\b'), Name.Builtin), - - # byte literal - (r'[01]+b', Number.Bin), - - # decimal literal - (r'[0-9]+\.[0-9]+', Number.Float), - # match "1." but not ranges like "3..5" - (r'[0-9]+\.(?!\.)', Number.Float), - - # integer literal - (r'0x[0-9a-fA-F]+', Number.Hex), - (r'[0-9]+', Number.Integer), - - # character literal - (r"""'[^\\]'""", String.Char), - (r"""(')(\\['"\\btnfr])(')""", - bygroups(String.Char, String.Escape, String.Char)), - - # string literal - (r'"', String, 'string'), - - # operators and punctuation - (r'[{}()\[\],.;]', Punctuation), - (u'[+\\-*/%&|<>^!~@=:?' - # unicode operators - u'\u2200\u2203\u2205\u2282\u2286\u2283\u2287' - u'\u222A\u2229\u2264\u2265\u2208\u2227\u2228' - u']', Operator), - - # identifier - (r'[a-zA-Z_]\w*', Name), - ], - 'string': [ - (r'"', String, '#pop'), - (r'\\[btnfr]', String.Escape), - (r'\\u[0-9a-fA-F]{4}', String.Escape), - (r'\\.', String), - (r'[^\\"]+', String), - ], - } +# -*- coding: utf-8 -*- +""" + pygments.lexers.whiley + ~~~~~~~~~~~~~~~~~~~~~~ + + Lexers for the Whiley language. + + :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +from pygments.lexer import RegexLexer, bygroups, words +from pygments.token import Comment, Keyword, Name, Number, Operator, \ + Punctuation, String, Text + +__all__ = ['WhileyLexer'] + + +class WhileyLexer(RegexLexer): + """ + Lexer for the Whiley programming language. + + .. versionadded:: 2.2 + """ + name = 'Whiley' + filenames = ['*.whiley'] + aliases = ['whiley'] + mimetypes = ['text/x-whiley'] + + # See the language specification: + # http://whiley.org/download/WhileyLanguageSpec.pdf + + tokens = { + 'root': [ + # Whitespace + (r'\s+', Text), + + # Comments + (r'//.*', Comment.Single), + # don't parse empty comment as doc comment + (r'/\*\*/', Comment.Multiline), + (r'(?s)/\*\*.*?\*/', String.Doc), + (r'(?s)/\*.*?\*/', Comment.Multiline), + + # Keywords + (words(( + 'if', 'else', 'while', 'for', 'do', 'return', + 'switch', 'case', 'default', 'break', 'continue', + 'requires', 'ensures', 'where', 'assert', 'assume', + 'all', 'no', 'some', 'in', 'is', 'new', + 'throw', 'try', 'catch', 'debug', 'skip', 'fail', + 'finite', 'total'), suffix=r'\b'), Keyword.Reserved), + (words(( + 'function', 'method', 'public', 'private', 'protected', + 'export', 'native'), suffix=r'\b'), Keyword.Declaration), + # "constant" & "type" are not keywords unless used in declarations + (r'(constant|type)(\s+)([a-zA-Z_]\w*)(\s+)(is)\b', + bygroups(Keyword.Declaration, Text, Name, Text, Keyword.Reserved)), + (r'(true|false|null)\b', Keyword.Constant), + (r'(bool|byte|int|real|any|void)\b', Keyword.Type), + # "from" is not a keyword unless used with import + (r'(import)(\s+)(\*)([^\S\n]+)(from)\b', + bygroups(Keyword.Namespace, Text, Punctuation, Text, Keyword.Namespace)), + (r'(import)(\s+)([a-zA-Z_]\w*)([^\S\n]+)(from)\b', + bygroups(Keyword.Namespace, Text, Name, Text, Keyword.Namespace)), + (r'(package|import)\b', Keyword.Namespace), + + # standard library: https://github.com/Whiley/WhileyLibs/ + (words(( + # types defined in whiley.lang.Int + 'i8', 'i16', 'i32', 'i64', + 'u8', 'u16', 'u32', 'u64', + 'uint', 'nat', + + # whiley.lang.Any + 'toString'), suffix=r'\b'), Name.Builtin), + + # byte literal + (r'[01]+b', Number.Bin), + + # decimal literal + (r'[0-9]+\.[0-9]+', Number.Float), + # match "1." but not ranges like "3..5" + (r'[0-9]+\.(?!\.)', Number.Float), + + # integer literal + (r'0x[0-9a-fA-F]+', Number.Hex), + (r'[0-9]+', Number.Integer), + + # character literal + (r"""'[^\\]'""", String.Char), + (r"""(')(\\['"\\btnfr])(')""", + bygroups(String.Char, String.Escape, String.Char)), + + # string literal + (r'"', String, 'string'), + + # operators and punctuation + (r'[{}()\[\],.;]', Punctuation), + (u'[+\\-*/%&|<>^!~@=:?' + # unicode operators + u'\u2200\u2203\u2205\u2282\u2286\u2283\u2287' + u'\u222A\u2229\u2264\u2265\u2208\u2227\u2228' + u']', Operator), + + # identifier + (r'[a-zA-Z_]\w*', Name), + ], + 'string': [ + (r'"', String, '#pop'), + (r'\\[btnfr]', String.Escape), + (r'\\u[0-9a-fA-F]{4}', String.Escape), + (r'\\.', String), + (r'[^\\"]+', String), + ], + } |