File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/dsls.cpython-310.pyc
o
���aɍ � @ 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-2021 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 @ 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 Buffer�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�r4 �(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)�rootrF rG rH 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� r` r` �6/usr/lib/python3/dist-packages/pygments/lexers/dsls.pyr sf ��������
#�
��
�r c @ s� e Zd ZdZdZdgZdgZdgZed�ed�de j
ed d
�fde jed d�fd
e
eje�dfde
eje�dfde
ee�ejee�fed�ed�defdefdefgdefdefgdefdefdejfgde jfgde j
dfde j
fgde jdfd e jfgd!ejdfed�gd"ejdfed�gd#efd$ejfd%ejfed&d'd(�ejfed)d'd(�ejfed*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
�Thrift�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"\'])rJ z [^\\"\n]+�'z
[^\\\'\n]+z[a-z*](\.\w|\w)*rI z1(async|oneway|extends|throws|required|optional)\brE 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 r1 rD )�voidrA �byte�i16�i32�i64r@ rB �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�catchrk �clone�continue�declare�defr �del�delete�do�dynamic�elif�else�elseif�elsif�end�
enddeclare�endfor�
endforeach�endif� endswitch�endwhile�ensure�except�exec�finallyr? �for�foreach�function�global�goto�if�
implementsr"