File: //opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/dsls.cpython-310.pyc
o
;j�� � @ s4 d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
mZmZmZmZmZmZmZmZ g d�ZG dd� de�ZG dd � d e�ZG d
d� de�ZeZG dd
� d
e�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�Z G dd� de�Z!G dd� de�Z"G dd� de�Z#dS )z�
pygments.lexers.dsls
~~~~~~~~~~~~~~~~~~~~
Lexers for various domain-specific languages.
:copyright: Copyright 2006-present 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 @ s2 e Zd ZdZdZdZddgZdgZdZde fd e
fd
ejfdej
fedd
d
d�efedd
d�ejfdejfdeeje �dfdeeje �dfdeeje �dfdefdefdejfdejfdejfdejfdejfdejfd efd!eeje e�fd"efgd#ejd$fed$�gd%ejd$fed$�gd%ed$fed$�gd&�Z d'S )(r z5
Lexer for Protocol Buffer definition files.
zProtocol Bufferz/https://developers.google.com/protocol-buffers/Zprotobuf�protoz*.protoz1.4z[ \t]+z[,;{}\[\]()<>]z/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/)�import�option�optional�requiredZrepeatedZreservedr �packed�ctype�
extensions�to�maxZrpc�returnsZoneofZsyntax�\b��prefix�suffix)Zint32Zint64Zuint32Zuint64Zsint32Zsint64Zfixed32Zfixed64Zsfixed32Zsfixed64�float�double�bool�string�bytes�r. �(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.]*z[a-zA-Z_][\w\.]*�#pop�[a-zA-Z_]\w*)�rootr6 r7 r8 N)!�__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenames�
version_addedr r r �Single� Multiliner r �Type�Constantr � Namespace�Declarationr r �Float�Hex�Oct�Integerr
r � Attributer �Class�tokens� rR rR �H/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/dsls.pyr sj ��������
#�
��
�r c @ s� e Zd ZdZdZdZdgZdgZdgZdZ e
d�e
d �d
eje
dd�fd
eje
dd�fdeeje�dfdeeje�dfdeee�ejee�fe
d�e
d�defdefdefgdefdefgdefdefdejfgdejfgd
ejdfd ejfgd!ejdfd"ejfgd#ejdfed�gd$ejdfed�gd%efd&ejfd'ejfe d(d)d*�ejfe d+d)d*�ej!fe d,d)d)d-�ej"fgd.e#j$fd/e#j%fd0e#j&fgd1�
Z'd2S )3r z+
For Thrift interface definitions.
ZThriftzhttps://thrift.apache.org/Zthriftz*.thriftzapplication/x-thrift�2.1�
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"\'])r9 z [^\\"\n]+�'z
[^\\\'\n]+z[a-z*](\.\w|\w)*r: z1(async|oneway|extends|throws|required|optional)\br5 z(const|typedef)\b)Z
cpp_namespaceZcpp_includeZcpp_typeZjava_packageZcocoa_prefixZcsharp_namespaceZdelphi_namespaceZ
php_namespaceZ py_moduleZperl_packageZruby_namespaceZsmalltalk_categoryZsmalltalk_prefixZxsd_allZxsd_optionalZxsd_nillableZ
xsd_namespaceZ xsd_attrsr r+ r4 )Zvoidr1 ZbyteZi16Zi32Zi64r0 r2 �binary�map�list�set�slistZsenum)eZBEGINZENDZ __CLASS__Z__DIR__Z__FILE__Z__FUNCTION__Z__LINE__Z
__METHOD__Z
__NAMESPACE__Zabstract�alias�and�args�as�assert�begin�break�caseZcatchr\ �clone�continue�declare�defr �del�delete�doZdynamic�elif�elseZelseif�elsif�endZ
enddeclareZendforZ
endforeachZendifZ endswitchZendwhileZensure�except�exec�finallyr/ �for�foreach�function�global�goto�ifZ
implementsr! �in�inlineZ
instanceof� interface�is�lambda�moduleZnative�new�next�nil�not�or�passZpublic�printZprivateZ protected�raiseZredoZrescueZretry�register�return�self�sizeofZstatic�super�switch�synchronized�thenr �throwZ transient�try�undefZunlessZunsigned�until�use�varZvirtualZvolatile�when�while�with�xor�yieldr, z1[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)z[+-]?0x[0-9A-Fa-f]+z[+-]?[0-9]+)
r; rU rV rX rY rZ r[ r\ r] r^ N)(r<