File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/dsls.cpython-38.pyc
U
G�
\;� � @ sH d Z ddlZddlmZmZmZmZmZmZm Z m
Z
mZ ddlm
Z
mZmZmZmZmZmZmZmZmZ ddddd d
ddd
dddgZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd � d e�ZG dd
� d
e�ZG dd� de�ZG dd� de�Z G dd
� d
e�Z!G dd� de�Z"G dd� de�Z#dS )z�
pygments.lexers.dsls
~~~~~~~~~~~~~~~~~~~~
Lexers for various domain-specific languages.
:copyright: Copyright 2006-2017 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�Literal�
Whitespace�
ProtoBufLexer�BroLexer�PuppetLexer�RslLexer�MscgenLexer�VGLLexer�
AlloyLexer�PanLexer�
CrmshLexer�ThriftLexer�
FlatlineLexer�
SnowballLexerc @ s* e Zd ZdZdZddgZdgZdefdefde j
fd e jfed
ddd�e
fed
dd�e
jfde
jfdee
je�dfdee
je�dfdee
je�dfdefdefdejfdejfdejfdejfdejfdejfdefdeejee�fd efgd!ejd"fed"�gd!ejd"fed"�gd!ed"fed"�gd#�Zd$S )%r z|
Lexer for `Protocol Buffer <http://code.google.com/p/protobuf/>`_
definition files.
.. versionadded:: 1.4
zProtocol BufferZprotobuf�protoz*.protoz[ \t]+z[,;{}\[\]()<>]z/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/)�importZoptionZoptionalZrequiredZrepeatedr ZpackedZctype�
extensions�to�maxZrpcZreturnsZoneof�\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.]*�[a-zA-Z_]\w*�#pop)�rootr1 r2 r3 N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenamesr r r �Single� Multiliner r �Type�Constantr � Namespace�Declarationr r �Float�Hex�Oct�Integerr
r � Attributer �Class�tokens� rK rK �6/usr/lib/python3/dist-packages/pygments/lexers/dsls.pyr sj ����
�
���#
�
���c @ s� e Zd ZdZdZdgZdgZdgZed�ed�de j
ed d
�fde jed d�fd
e
ejej�dfde
ejej�dfde
ee�ejee�fed�ed�defdefdefgdejfdejfgdefdefdejfgde jfgde j
dfde j
fgde jdfd e jfgd!ejdfed�gd"ejdfed�gd#efd$ejfd%ejfed&d'd(�ejfed)d'd(�ej fed*d'd'd+�ej!fgd,e"j#fd-e"j$fd.e"j%fgd/�
Z&d0S )1r zg
For `Thrift <https://thrift.apache.org/>`__ interface definitions.
.. versionadded:: 2.1
ZThriftZthriftz*.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#.*$z//.*?\n�/\*[\w\W]*?\*/z\\([\\nrt"\'])r5 � [^\\"\n]+�'z
[^\\\'\n]+z[a-z*](\.\w|\w)*r4 z1(async|oneway|extends|throws|required|optional)\br0 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&