Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.118.144.50
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/self/root/proc/2/cwd/proc/self/root/lib/python3/dist-packages/pygments/lexers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /proc/self/root/proc/2/cwd/proc/self/root/lib/python3/dist-packages/pygments/lexers//berry.py
"""
    pygments.lexers.berry
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for Berry.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
"""

from pygments.lexer import RegexLexer, words, include, bygroups
from pygments.token import Comment, Whitespace, Operator, Keyword, Name, \
    String, Number, Punctuation

__all__ = ['BerryLexer']


class BerryLexer(RegexLexer):
    """
    For `berry <http://github.com/berry-lang/berry>`_ source code.

    .. versionadded:: 2.12.0
    """
    name = 'Berry'
    aliases = ['berry', 'be']
    filenames = ['*.be']
    mimetypes = ['text/x-berry', 'application/x-berry']

    _name = r'\b[^\W\d]\w*'

    tokens = {
        'root': [
            include('whitespace'),
            include('numbers'),
            include('keywords'),
            (rf'(def)(\s+)({_name})',
             bygroups(Keyword.Declaration, Whitespace, Name.Function)),
            (rf'\b(class)(\s+)({_name})',
             bygroups(Keyword.Declaration, Whitespace, Name.Class)),
            (rf'\b(import)(\s+)({_name})',
             bygroups(Keyword.Namespace, Whitespace, Name.Namespace)),
            include('expr')
        ],
        'expr': [
            (r'[^\S\n]+', Whitespace),
            (r'\.\.|[~!%^&*+=|?:<>/-]', Operator),
            (r'[(){}\[\],.;]', Punctuation),
            include('controls'),
            include('builtins'),
            include('funccall'),
            include('member'),
            include('name'),
            include('strings')
        ],
        'whitespace': [
            (r'\s+', Whitespace),
            (r'#-(.|\n)*?-#', Comment.Multiline),
            (r'#.*?$', Comment.Single)
        ],
        'keywords': [
            (words((
                'as', 'break', 'continue', 'import', 'static', 'self', 'super'),
                suffix=r'\b'), Keyword.Reserved),
            (r'(true|false|nil)\b', Keyword.Constant),
            (r'(var|def)\b', Keyword.Declaration)
        ],
        'controls': [
            (words((
                'if', 'elif', 'else', 'for', 'while', 'do', 'end', 'break',
                'continue', 'return', 'try', 'except', 'raise'),
                suffix=r'\b'), Keyword)
        ],
        'builtins': [
            (words((
                'assert', 'bool', 'input', 'classname', 'classof', 'number', 'real',
                'bytes', 'compile', 'map', 'list', 'int', 'isinstance', 'print',
                'range', 'str', 'super', 'module', 'size', 'issubclass', 'open',
                'file', 'type', 'call'),
                suffix=r'\b'), Name.Builtin)
        ],
        'numbers': [
            (r'0[xX][a-fA-F0-9]+', Number.Hex),
            (r'-?\d+', Number.Integer),
            (r'(-?\d+\.?|\.\d)\d*([eE][+-]?\d+)?', Number.Float)
        ],
        'name': [
            (_name, Name)
        ],
        'funccall': [
            (rf'{_name}(?=\s*\()', Name.Function, '#pop')
        ],
        'member': [
            (rf'(?<=\.){_name}\b(?!\()', Name.Attribute, '#pop')
        ],
        'strings': [
            (r'"([^\\]|\\.)*?"', String.Double, '#pop'),
            (r'\'([^\\]|\\.)*?\'', String.Single, '#pop')
        ]
    }

Anon7 - 2022
AnonSec Team