File: //lib/python3/dist-packages/pygments/lexers/__pycache__/dsls.cpython-311.pyc
�
�E�c�� � �� � d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
mZmZmZmZmZmZmZmZ g d�Z G d� de� � Z G d� d e� � Z G d
� de� � ZeZ G d� d
e� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z! G d� de� � Z" G d� de� � Z#dS )z�
pygments.lexers.dsls
~~~~~~~~~~~~~~~~~~~~
Lexers for various domain-specific languages.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N) �ExtendedRegexLexer�
RegexLexer�bygroups�words�include�default�this�using�combined) �Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�
Whitespace)�
ProtoBufLexer� ZeekLexer�PuppetLexer�RslLexer�MscgenLexer�VGLLexer�
AlloyLexer�PanLexer�
CrmshLexer�ThriftLexer�
FlatlineLexer�
SnowballLexerc �. � e Zd ZdZdZdZddgZdgZdefde fd e
j fd
e
j f e
ddd�
� � ef e
dd�� � ej fdej fd eej e� � dfd eej e� � dfd eej e� � dfdefdefdej fdej fdej fdej fdej fdej fdefd eej ee� � fd!efgd"ej d#f ed#� � gd"ej d#f ed#� � gd"ed#f ed#� � gd$�Zd%S )&r zP
Lexer for Protocol Buffer definition files.
.. versionadded:: 1.4
zProtocol Bufferz/https://developers.google.com/protocol-buffers/�protobuf�protoz*.protoz[ \t]+z[,;{}\[\]()<>]z/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/)�import�option�optional�required�repeated�reservedr �packed�ctype�
extensions�to�max�rpc�returns�oneof�syntax�\b��prefix�suffix)�int32�int64�uint32�uint64�sint32�sint64�fixed32�fixed64�sfixed32�sfixed64�float�double�bool�string�bytes�r6 �(true|false)\bz(package)(\s+)�packagez(message|extend)(\s+)�messagez(enum|group|service)(\s+)�typez\".*?\"z\'.*?\'z'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z(\-?(inf|nan))\bz0x[0-9a-fA-F]+[LlUu]*z0[0-7]+[LlUu]*z
\d+[LlUu]*z[+-=]z([a-zA-Z_][\w.]*)([ \t]*)(=)z[a-zA-Z_][\w.]*�[a-zA-Z_]\w*�#pop)�rootrH rI rJ N) �__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenamesr r r
�Single� Multiliner r �Type�Constantr � Namespace�Declarationr r �Float�Hex�Oct�Integerr r � Attributer �Class�tokens� � �6/usr/lib/python3/dist-packages/pygments/lexers/dsls.pyr r s � � � � � �� � �D�
;�C��7�#�G���I� �
�#�
��,�
-�w�~�>�
,�g�.?�@�
�U� <� EJ�RW�Y� Y� Y� �
�
�U� >� GL�M� M� M� �\�
�
�� 0�1�
����):�J� G� G��S�
%�
�X�g�)�:�
6�
6� �
C�
)�
�X�g�)�:�
6�
6��
@�
�� �
�� �
7���F�
-�v�|�<�
�&�,�/�
%�v�z�2�
��
�+�
�F�N�+�
�x� �
,�
�X�d�n�j�(�
;�
;�
=�
��&�A!
�F �d�n�f�5��G�F�O�O�
�
�d�j�&�1��G�F�O�O�
�
�d�F�+��G�F�O�O�
�W/� /�F�F�Frd r c � � e Zd ZdZdZdZdgZdgZdgZ e d� � e d� � d e
j ed
d� � fde
j
ed
d
� � fd eej e� � dfd eej e� � dfd e ee� � ej ee� � f e d� � e d� � defdefdefgdefdefgdefdefdej fgde
j fgd e
j dfde
j fgd e
j
dfd!e
j
fgd"ej df ed� � gd#ej df ed� � gd$efd%ej fd&ej f ed'd(�)� � ej f ed*d(�)� � ej f ed+d(d(�,� � ej! fgd-e"j# fd.e"j$ fd/e"j% fgd0�
Z&d1S )2r zF
For Thrift interface definitions.
.. versionadded:: 2.1
�Thriftzhttps://thrift.apache.org/�thriftz*.thriftzapplication/x-thrift�
whitespace�comments�"�stringescape�dqsz\'�sqsz(namespace)(\s+)� namespacez*(enum|union|struct|service|exception)(\s+)�classzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()�keywords�numbersz[&=]z[:;,{}()<>\[\]]z[a-zA-Z_](\.\w|\w)*�\n�\s+�#.*$z//.*?\n�/\*[\w\W]*?\*/z\\([\\nrt"\'])rL z [^\\"\n]+�'z
[^\\\'\n]+z[a-z*](\.\w|\w)*rK z1(async|oneway|extends|throws|required|optional)\brG z(const|typedef)\b)�
cpp_namespace�cpp_include�cpp_type�java_package�cocoa_prefix�csharp_namespace�delphi_namespace�
php_namespace� py_module�perl_package�ruby_namespace�smalltalk_category�smalltalk_prefix�xsd_all�xsd_optional�xsd_nillable�
xsd_namespace� xsd_attrsr r3 rF )�voidrC �byte�i16�i32�i64rB rD �binary�map�list�set�slist�senum)e�BEGIN�END� __CLASS__�__DIR__�__FILE__�__FUNCTION__�__LINE__�
__METHOD__�
__NAMESPACE__�abstract�alias�and�args�as�assert�begin�break�case�catchrp �clone�continue�declare�defr �del�delete�do�dynamic�elif�else�elseif�elsif�end�
enddeclare�endfor�
endforeach�endif� endswitch�endwhile�ensure�except�exec�finallyrA �for�foreach�function�global�goto�if�
implementsr$ �in�inline�
instanceof� interface�is�lambda�module�native�new�next�nil�not�or�pass�public�print�private� protected�raise�redo�rescue�retry�register�return�self�sizeof�static�super�switch�synchronized�thenr �throw� transient�try�undef�unless�unsigned�until�use�var�virtual�volatile�when�while�with�xor�yieldr4 z1[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)z[+-]?0x[0-9A-Fa-f]+z[+-]?[0-9]+)
rM ri rj rl rm rn ro rp rq rr N)'rN rO rP rQ rR rS rT rU � mimetypesr r �Doubler rV r r rZ r r[ r
r r �Functionr r r
rW �Escaper ra rY r rX �Reservedr r\ r] r_ rb rc rd re r r U s� � � � � � �� �
�D�
&�C��j�G���I�'�(�I�
�G�L�!�!��G�J���
�6�=�(�(�>�5�"A�"A�B�
�F�M�8�8�N�E�#B�#B�C�
����*�J�7�7��
F�
:����,�j�9�9�7�
D�� �X�e�e�D�k�k�4�=�*�h�
G�
G�
I�
�G�J����G�I���
�h��
��-�
#�T�*�#
�( �J��
�Z� �
�
�g��
��!�
�� 1�2�
� ��
�.�
� �6�=�&�)�
�6�=�)�
�
�6�=�&�)�
�F�M�*�
�
!�$�.�&�9��G�F�O�O�
�
�d�j�&�1��G�F�O�O�
�
B�7�K�
�� 0�1�
!�7�#6�7�
�U� (� 16�
7� 7� 7� �
�
� �U� � "'�(� (� (� �\�
�
�U� E�$ �U�%,� ,� ,�&