File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/dylan.cpython-310.pyc
o
;j�( � @ s� d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZmZmZ g d�ZG dd� de�ZG dd � d e�ZG d
d� de�ZdS )z�
pygments.lexers.dylan
~~~~~~~~~~~~~~~~~~~~~
Lexers for the Dylan language.
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�Lexer�
RegexLexer�bygroups�
do_insertions�default�line_re)
�Comment�Operator�Keyword�Name�String�Number�Punctuation�Generic�Literal�
Whitespace)�
DylanLexer�DylanConsoleLexer�
DylanLidLexerc @ s� e Zd ZdZdZdZdgZg d�ZdgZdZ e
jZh d�Z
h d �Zh d
�Zh d�ZdZd
d� Zdefdejfdeejeee�fed�gdefdeeje�fdejdfdedfdejfdejfdej fdej!fdej"fdej#fde d eej$eej%�fd eej$eej%�fd!e ej$fd"e&fd#efd$e'fd%ej(d&fd'e)fed( e)fd)e d* ej*fd+e d+ ej+j,fd,e ej-feefgd-ejfdejd.fd/ejd0fd1ejfgdej(d0fd2ej(fgded0fd3ej.fd4efd5efd6efgd7�Z/d8S )9r z!
For the Dylan language.
ZDylan�http://www.opendylan.org/Zdylan)z*.dylanz*.dylz*.intrztext/x-dylanz0.7>% �class�instanceZmacro�domain�keyword�threadZsidewaysz
compiler-openz
each-subclasszinline-onlyZconstantZconcreteZgenericZabstract� singleton�required� exceptionZvirtual�methodZprimary�functionZdynamic�inline�openZsealedZ inheritedzcompiler-sideways�handler�subclassZslot�import�blockZexcludeZ interface�module�library�variable> Zexport�if�in�renameZuseZaboveZdefine�local�select�createZbelow�for�else�toZwhen�while�begin�finallyZthenZ
afterwardsZletZelseifZby�endZ otherwise�caseZuntil�from�signalZcleanupZunless> �>�|�&�+�<�^z~==�=z>=�-z<=�~z~=�*z==>� z
as-uppercase!zadd!�union�addzobject-hashz
restart-query�rangezremove-key!�errorzas-lowercasezobject-classZdoZmodulozcondition-format-string�gcdzmerge-hash-codeszapplicable-method?zlast-setterzremove-duplicates!Zash�reverse�alwayszfunction-specializersZcomposez instance?zadd-newzdirect-subclasseszpop-last�lcmzsubsequence-position�valuesZapply�tail�maxz
remove-methodzrow-major-index�reducezmap-intoztable-protocolz
add-methodzfunction-return-valueszodd?zdo-handlersZrcurry�floorzaref-setterzkey-sequencezlogbit?zbackward-iteration-protocolzremove-duplicateszfind-methodz#generic-function-mandatory-keywordsztail-setterzadd-new!Zlogxorz
type-for-copyZcerrorzany?zfloor/Zconcatenateztype-error-expected-typez
second-setterzgeneric-function-methodszas-uppercaseztype-error-valuezsize-setterZdisjoinzelement-setterzreturn-descriptionzreturn-queryzshallow-copyZreduce1�listzslot-initialized?�intersection�mapzfunction-argumentsZrank�pushz truncate/zzero?zeven?Z
dimensionszreplace-subsequence!Zcurryzmember?zremove!zsubtype?zconcatenate-aszfalse-orzreturn-allowed?�minzround/zall-superclasses�secondzdirect-superclassesZlognot�identityz
check-typezmap-asZ
initialize�elementZvectorZ dimensionzreverse!z integral?�third�negative�pairz
as-lowercase!�sortZconjoinzcondition-format-argumentsz
copy-sequencezdefault-handler�absZ
complementz negative?Zlimited�abortZmakezsorted-applicable-methodsr8 �truncate�removezhead-setter�break�roundzempty?�headz push-lastznext-methodzthird-setterzforward-iteration-protocolzreplace-elements!Zlogand�sizezevery?�firstr zsort!ZceilingZarefZlogiorzceiling/zkey-testZchoose�lastz choose-byzfirst-setterzone-of�pop� remainderz positive?z
type-union�aszfill!zfind-keyz\\?[\w!&*<>|^$%@\-+~?/=]+c c s� � t �| |�D ]E\}}}|tu rF|�� }|| jv r!|tj|fV q|| jv r-|t|fV q|| jv r:|tj|fV q|| j v rF|t
|fV q|||fV qd S )N)r �get_tokens_unprocessedr �lower�builtins�Builtin�keywordsr
� functions� operatorsr )�self�text�index�token�valueZlowercase_value� ru �I/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/dylan.pyri ] s$ �
�z!DylanLexer.get_tokens_unprocessed�\s+z//.*?\nz)([a-z0-9-]+)(:)([ \t]*)(.*(?:\n[ \t].+)*)�code�(//.*?)(\n)z/\*�comment�"�stringz/'(\\.|\\[0-7]{1,3}|\\x[a-f0-9]{1,2}|[^\\\'\n])'z#b[01]+z#o[0-7]+z0[-+]?(\d*\.\d+(e[-+]?\d+)?|\d+(\.\d*)?e[-+]?\d+)z[-+]?\d+z#x[0-9a-f]+z(\?z6)(:)(token|name|variable|expression|body|case-body|\*)z9(\?)(:)(token|name|variable|expression|body|case-body|\*)z\?z,(=>|::|#\(|#\[|##|\?\?|\?=|\?|[(){}\[\],.;])z:=z#[tf]z#"r z#[a-z0-9-]+�:r= r9 z\*z\$z[^*/]+z#pushz\*/z#popz[*/]z[^\\"]+z,\\([\\abfnrtv"\']|x[a-f0-9]{2,4}|[0-7]{1,3})z [^\\"\n]+z\\\nz\\)�rootrx rz r r| N)0�__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenames� mimetypes�
version_added�re�
IGNORECASE�flagsrk rm ro rn Z
valid_nameri r r �Singler r � Attributer r r Z MultilineZCharr
ZBin�OctZFloatZIntegerZHexZTagrl r r ZSymbolr
ZClassZVariableZGlobalZConstantZEscape�tokensru ru ru rv r s� $��
��
�E
�
��
�r c @ sf e Zd ZdZdZddgZddgZdgZdZd Z e
jZd
de
fdeeje
�fd
eejee
e�fgiZdS )r z?
For Dylan LID (Library Interchange Definition) files.
ZDylanLIDz dylan-lidZlidz*.lidz*.hdpztext/x-dylan-lidr �1.6r~ rw ry z"(.*?)(:)([ \t]*)(.*(?:\n[ \t].+)*)N)r r� r� r� r� r� r� r� r� r� r� r� r� r r r r� r r� r r r� ru ru ru rv r � s"