File: //lib/python3/dist-packages/pygments/lexers/__pycache__/rebol.cpython-311.pyc
�
�E�c�H � � � d Z ddlZddlmZmZ ddlmZmZmZm Z m
Z
mZmZm
Z
mZ ddgZ G d� de� � Z G d� de� � ZdS ) z�
pygments.lexers.rebol
~~~~~~~~~~~~~~~~~~~~~
Lexers for the REBOL and related languages.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�bygroups) �Text�Comment�Operator�Keyword�Name�String�Number�Generic�
Whitespace�
RebolLexer�RedLexerc �� � e Zd ZdZdZdgZg d�ZdgZej ej
z ZdZd� Z
defd ej d
fdefgg def�d
ej df�dej f�dej df�dej f�dedf�dedf�dej f�dej f�def�dej df�dej f�dej f�dej f�dej f�d ej f�d!ej f�d"ej f�d#ej f�d$ef�d%ej f�d&ej f�d'ej f�d(ej f�d)ed*f�d+ed,f�d-ed.f�d/ef�d0ej f�d1e
f�d2ej f�d3ej d4f�d5ef�d6efeej fd7efd8ej fded9fgd:efeej fd7efd8ej fded;fd<ed9fgd6ej feej fd8ej fdej d9fgedz ej d9fd=ej d9fd>ej d9fgeej fdej d?fd@ej fdAej d9fgd6ej feej fd7ej fd8ej fdej d9fgdBej fdCej d9fgdej fdDej fd<ej d9fgd6efeefd7efd8efded9fgd:efeefd7efd8efded;fd<ed9fgdEed;fdFed9fded*fded,fdGefgdH�
Z!dI� Z"dJS )Kr zN
A `REBOL <http://www.rebol.com/>`_ lexer.
.. versionadded:: 1.1
�REBOL�rebol)z*.rz*.r3z*.rebztext/x-rebol�(?:\^\([0-9a-f]{1,4}\)*)c # �H K � |� � � }t j d|� � r%|� � � t j |fV � d S t j d|� � r%|� � � t j |fV � d S t j d|� � r%|� � � t j |fV � d S t j d|� � r%|� � � t j
|fV � d S t j d|� � r%|� � � t j |fV � d S t j d|� � r%|� � � t j |fV � d S t j d|� � r |� � � t |fV � d S t j d|� � r |� � � t |fV � d S t j d |� � r |� � � t |fV � d S t j d
|� � r%|� � � t j |fV � d S t j d|� � r*|� � � t j j |fV � d S t j d|� � r%|� � � t j |fV � d S t j d
|� � r%|� � � t j |fV � d S |� � � t j |fV � d S )N�.*:$a (native|alias|all|any|as-string|as-binary|bind|bound\?|case|catch|checksum|comment|debase|dehex|exclude|difference|disarm|either|else|enbase|foreach|remove-each|form|free|get|get-env|if|in|intersect|loop|minimum-of|maximum-of|mold|new-line|new-line\?|not|now|prin|print|reduce|compose|construct|repeat|reverse|save|script\?|set|shift|switch|throw|to-hex|trace|try|type\?|union|unique|unless|unprotect|unset|until|use|value\?|while|compress|decompress|secure|open|close|read|read-io|write-io|write|update|query|wait|input\?|exp|log-10|log-2|log-e|square-root|cosine|sine|tangent|arccosine|arcsine|arctangent|protect|lowercase|uppercase|entab|detab|connected\?|browse|launch|stats|get-modes|set-modes|to-local-file|to-rebol-file|encloak|decloak|create-link|do-browser|bind\?|hide|draw|show|size-text|textinfo|offset-to-caret|caret-to-offset|local-request-file|rgb-to-hsv|hsv-to-rgb|crypt-strength\?|dh-make-key|dh-generate-key|dh-compute-key|dsa-make-key|dsa-generate-key|dsa-make-signature|dsa-verify-signature|rsa-make-key|rsa-generate-key|rsa-encrypt)$a4 (add|subtract|multiply|divide|remainder|power|and~|or~|xor~|minimum|maximum|negate|complement|absolute|random|head|tail|next|back|skip|at|pick|first|second|third|fourth|fifth|sixth|seventh|eighth|ninth|tenth|last|path|find|select|make|to|copy\*|insert|remove|change|poke|clear|trim|sort|min|max|abs|cp|copy)$a� (error|source|input|license|help|install|echo|Usage|with|func|throw-on-error|function|does|has|context|probe|\?\?|as-pair|mod|modulo|round|repend|about|set-net|append|join|rejoin|reform|remold|charset|array|replace|move|extract|forskip|forall|alter|first+|also|take|for|forever|dispatch|attempt|what-dir|change-dir|clean-path|list-dir|dirize|rename|split-path|delete|make-dir|delete-dir|in-dir|confirm|dump-obj|upgrade|what|build-tag|process-source|build-markup|decode-cgi|read-cgi|write-user|save-user|set-user-name|protect-system|parse-xml|cvs-date|cvs-version|do-boot|get-net-info|desktop|layout|scroll-para|get-face|alert|set-face|uninstall|unfocus|request-dir|center-face|do-events|net-error|decode-url|parse-header|parse-header-date|parse-email-addrs|import-email|send|build-attach-body|resend|show-popup|hide-popup|open-events|find-key-face|do-face|viewtop|confine|find-window|insert-event-func|remove-event-func|inform|dump-pane|dump-face|flag-face|deflag-face|clear-fields|read-net|vbug|path-thru|read-thru|load-thru|do-thru|launch-thru|load-image|request-download|do-face-alt|set-font|set-para|get-style|set-style|make-face|stylize|choose|hilight-text|hilight-all|unlight-text|focus|scroll-drag|clear-face|reset-face|scroll-face|resize-face|load-stock|load-stock-block|notify|request|flash|request-color|request-pass|request-text|request-list|request-date|request-file|dbug|editor|link-relative-path|emailer|parse-error)$zO(halt|quit|do|load|q|recycle|call|run|ask|parse|view|unview|return|exit|break)$zREBOL$�to-.*z5(\+|-|\*|/|//|\*\*|and|or|xor|=\?|=|==|<>|<|>|<=|>=)$z.*\?$�.*\!$�'.*�#.*�%.*)�group�re�match�startr �
Subheadingr �Builtin�Functionr � Namespace� Exception�Headingr �Type�Variable�Instance�Label� Decorator��lexerr �words �7/usr/lib/python3/dist-packages/pygments/lexers/rebol.py�
word_callbackzRebolLexer.word_callback# s6 � � � ��{�{�}�}��
�8�F�D�!�!� P 5��+�+�-�-��!3�T�9�9�9�9�9�9�
�X�
�$ #�'$� $� N 5�( �+�+�-�-���t�3�3�3�3�3�3�
�X�
�
�
� � 9 5� �+�+�-�-����4�4�4�4�4�4�
�X�
%�0 '+�3,� ,� 1 5�4 �+�+�-�-��!2�D�8�8�8�8�8�8�
�X�
#�$(�*� *� 5� �+�+�-�-����5�5�5�5�5�5�
�X�h��
%�
%� 5��+�+�-�-���$�6�6�6�6�6�6�
�X�g�t�
$�
$� 5��+�+�-�-��$�.�.�.�.�.�.�
�X�N��� � 5��+�+�-�-��4�/�/�/�/�/�/�
�X�h��
%�
%� 5��+�+�-�-��$�.�.�.�.�.�.�
�X�h��
%�
%� 5��+�+�-�-���t�3�3�3�3�3�3�
�X�e�T�
"�
"� 5��+�+�-�-���!7��=�=�=�=�=�=�
�X�e�T�
"�
"� 5��+�+�-�-���T�1�1�1�1�1�1�
�X�e�T�
"�
"� 5��+�+�-�-����5�5�5�5�5�5��+�+�-�-����4�4�4�4�4�4� �[^R]+z
REBOL\s+\[�script�R�\s+�#"�charz#\{[0-9a-f]*\}�2#\{�bin2�64#\{[0-9a-z+/=\s]*\}�"�string�\{�string2�;#+.*\n�;\*+.*\n�;.*\n�%"�
stringFile�%[^(^{")\s\[\]]+�[+-]?([a-z]{1,3})?\$\d+(\.\d+)?�[+-]?\d+\:\d+(\:\d+)?(\.\d+)?zJ\d+[\-/][0-9a-z]+[\-/]\d+(\/\d+\:\d+((\:\d+)?([.\d+]?([+-]?\d+:\d+)?)?)?)?�\d+(\.\d+)+\.\d+�\d+X\d+�#[+-]?\d+(\'\d+)?([.,]\d*)?E[+-]?\d+�[+-]?\d+(\'\d+)?[.,]\d*�[+-]?\d+(\'\d+)?�[\[\]()]� [a-z]+[^(^{"\s:)]*://[^(^{"\s)]*� mailto:[^(^{"@\s)]+@[^(^{"@\s)]+�[^(^{"@\s)]+@[^(^{"@\s)]+�
comment\s"�commentString1�comment\s\{�commentString2�comment\s\[�commentBlock�comment\s[^(\s{"\[]+z/[^(^{")\s/[\]]*z"([^(^{")\s/[\]]+)(?=[:({"\s/\[\]])�
<[\w:.-]*>�<[^(<>\s")]+�tag�
([^(^{")\s]+)�[^(^")]+�[(|)]+�\^.�#pop� [^(^{})]+�#push�\}�\^."�."� tagString�
[^(<>\r\n")]+�>�(\d+\.)+�\d+�([01]\s*){8}�\[�\]�[^(\[\]"{)]+�
�rootr1 r: r<