HEX
Server: Apache/2.4.67 (Debian)
System: Linux vps-b2547eb4 6.1.0-41-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
User: root (0)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pygments/lexers/__pycache__/parsers.cpython-311.pyc
�

�E�c0e���dZddlZddlmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZddlmZddlmZmZddlmZddlmZdd	lmZdd
lmZddl m!Z!ddl"m#Z#gd
�Z$Gd�de��Z%Gd�de��Z&Gd�de��Z'Gd�de��Z(Gd�de��Z)Gd�de��Z*Gd�de��Z+Gd�de��Z,Gd�de��Z-Gd �d!e��Z.Gd"�d#e��Z/Gd$�d%e��Z0Gd&�d'e��Z1Gd(�d)e��Z2Gd*�d+e��Z3Gd,�d-e��Z4Gd.�d/e��Z5Gd0�d1e��Z6Gd2�d3e��Z7Gd4�d5e��Z8dS)6z�
    pygments.lexers.parsers
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for parser generators.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�DelegatingLexer�include�bygroups�using)
�Punctuation�Other�Text�Comment�Operator�Keyword�Name�String�Number�
Whitespace)�	JavaLexer)�CLexer�CppLexer)�ObjectiveCLexer)�DLexer)�CSharpLexer)�	RubyLexer)�PythonLexer)�	PerlLexer)�
RagelLexer�RagelEmbeddedLexer�RagelCLexer�RagelDLexer�
RagelCppLexer�RagelObjectiveCLexer�RagelRubyLexer�RagelJavaLexer�
AntlrLexer�AntlrPythonLexer�AntlrPerlLexer�AntlrRubyLexer�
AntlrCppLexer�AntlrCSharpLexer�AntlrObjectiveCLexer�AntlrJavaLexer�AntlrActionScriptLexer�TreetopLexer�	EbnfLexerc��eZdZdZdZdZdgZgZdefgde	fgde
fde
fd	e
fd
e
fgdejfdej
fgd
ejfdejfdefdejfgdejfgdefdefdefdefdefdefdefdefdefdefdefdefdefdefged ��ed!��ed"��ed#��ed$��ed%��ed&��d'ed(fd)efd*efg
d+d,�d-��zd.zefd'ed/fd0ed1fgd2�	Zd3S)4rz�A pure `Ragel <www.colm.net/open-source/ragel>`_ lexer.  Use this
    for fragments of Ragel.  For ``.rl`` files, use
    :class:`RagelEmbeddedLexer` instead (or one of the
    language-specific subclasses).

    .. versionadded:: 1.1

    �Ragelz&http://www.colm.net/open-source/ragel/�ragel�\s+z\#.*$z(access|action|alphtype)\bz (getkey|write|machine|include)\bz2(any|ascii|extend|alpha|digit|alnum|lower|upper)\bz3(xdigit|cntrl|graph|print|punct|space|zlen|empty)\bz0x[0-9A-Fa-f]+z[+-]?[0-9]+�"(\\\\|\\[^\\]|[^"\\])*"�'(\\\\|\\[^\\]|[^'\\])*'z\[(\\\\|\\[^\\]|[^\\\]])*\]�/(?!\*)(\\\\|\\[^\\]|[^/\\])*/z[a-zA-Z_]\w*�,z\||&|--?z
\.|<:|:>>?�:z->z(>|\$|%|<|@|<>)(/|eof\b)z(>|\$|%|<|@|<>)(!|err\b)z(>|\$|%|<|@|<>)(\^|lerr\b)z(>|\$|%|<|@|<>)(~|to\b)z(>|\$|%|<|@|<>)(\*|from\b)z>|@|\$|%z\*|\?|\+|\{[0-9]*,[0-9]*\}z!|\^z\(|\)�literals�
whitespace�comments�keywords�numbers�identifiers�	operators�\{�host�=�;�(�|)	z[^{}\'"/#]+�[^\\]\\[{}]r2r3�//.*$\n?�/\*(.|\n)*?\*/�\#.*$\n?r4�/�)+�#push�\}�#pop)	r8r9r:r;r7r<r=�rootr?N)�__name__�
__module__�__qualname__�__doc__�name�url�aliases�	filenamesrrr
r�Hex�Integerr�Double�Single�Regexr�Variablerrr�joinr	�tokens���9/usr/lib/python3/dist-packages/pygments/lexers/parsers.pyrr#s���������D�
2�C��i�G��I��Z� �
��w��
�+�G�4�
0�'�:�
B�G�L�
C�W�M�	
���
�+�
�V�^�,�
�
)�&�-�8�
(�&�-�8�
+�V�4�
.���=�	
��d�m�,�
��8��
�(�#�
�H�%�
�8��
�H��
(�(�3�
(�(�3�
*�H�5�
'��2�
*�H�5�
�(�#�
*�H�5�
�h��
�x� �
�"
�G�J����G�L�!�!��G�J����G�J����G�I����G�M�"�"��G�K� � �
�K��(�
�8��
�;��
��D�I�I�����"�#�"�#
�&�K��)�
�K��(�+
�mM�M�F�F�Fr_rc�4�eZdZdZdZdgZdgZdd�d��zdzefd	e	e
ee��e
e
��fd
e
dfgdd�dd�d��zdzd
dddddf��zdzee��fde
dfgd�Zd�ZdS)rz�
    A lexer for Ragel embedded in a host language file.

    This will only highlight Ragel statements. If you want host language
    highlighting then call the language-specific Ragel lexer.

    .. versionadded:: 1.1
    zEmbedded Ragelzragel-em�*.rlrBrC)	z
[^%\'"/#]+z%(?=[^%]|$)r2r3rFrErGr4rHrIz(%%)(?![{%])(.*)($|;)(\n?)z(%%%%|%%)\{�multi-line-fsm)z[^}\'"\[/#]z\}(?=[^%]|$)z
\}%(?=[^%]|$)rDz(>|\$|%|<|@|<>)/z /(?!\*)(\\\\|\\[^\\]|[^/\\])*/\*z/(?=[^/*]|$)r2r3z\[(\\\\|\\[^\\]|[^\]\\])*\]rFrErGz\}%%rL)rMrcc�
�d|vS)Nz@LANG: indepr^��texts r`�analyse_textzRagelEmbeddedLexer.analyse_text�s
����%�%r_N)rNrOrPrQrRrTrUr\r	rrrrr
r]rgr^r_r`rr�sN���������D��l�G���I��D�I�I��������
�&+�H�H�[�5:�U�:�5F�5F�5@�$�-H�-H�
I�
�[�*:�;�3
�8�D�I�I��t�y�y�"����(�)�.,�+�.�!���;����<�=�<��j�)�)�=
+�@�k�6�*�C"
�9?�?�F�B&�&�&�&�&r_rc�:��eZdZdZdZddgZdgZ�fd�Zd�Z�xZ	S)r!zK
    A lexer for Ragel in a Ruby host file.

    .. versionadded:: 1.1
    zRagel in Ruby Hostz
ragel-rubyzragel-rbrbc�R��t��jttfi|��dS�N)�super�__init__rr��self�options�	__class__s  �r`rlzRagelRubyLexer.__init__��+���������$6�B�B�'�B�B�B�B�Br_c�
�d|vS)Nz@LANG: rubyr^res r`rgzRagelRubyLexer.analyse_text��
����$�$r_�
rNrOrPrQrRrTrUrlrg�
__classcell__�rps@r`r!r!�sn��������� �D��Z�(�G���I�C�C�C�C�C�%�%�%�%�%�%�%r_r!c�8��eZdZdZdZdgZdgZ�fd�Zd�Z�xZ	S)rzH
    A lexer for Ragel in a C host file.

    .. versionadded:: 1.1
    zRagel in C Hostzragel-crbc�R��t��jttfi|��dSrj)rkrlrrrms  �r`rlzRagelCLexer.__init__��+���������!3�?�?�w�?�?�?�?�?r_c�
�d|vS)Nz@LANG: cr^res r`rgzRagelCLexer.analyse_text��
���T�!�!r_rtrvs@r`rr��k����������D��k�G���I�@�@�@�@�@�"�"�"�"�"�"�"r_rc�8��eZdZdZdZdgZdgZ�fd�Zd�Z�xZ	S)rzH
    A lexer for Ragel in a D host file.

    .. versionadded:: 1.1
    zRagel in D Hostzragel-drbc�R��t��jttfi|��dSrj)rkrlrrrms  �r`rlzRagelDLexer.__init__ryr_c�
�d|vS)Nz@LANG: dr^res r`rgzRagelDLexer.analyse_textr{r_rtrvs@r`rr�r|r_rc�8��eZdZdZdZdgZdgZ�fd�Zd�Z�xZ	S)rzJ
    A lexer for Ragel in a C++ host file.

    .. versionadded:: 1.1
    zRagel in CPP Hostz	ragel-cpprbc�R��t��jttfi|��dSrj)rkrlrrrms  �r`rlzRagelCppLexer.__init__s+���������#5�A�A��A�A�A�A�Ar_c�
�d|vS)Nz
@LANG: c++r^res r`rgzRagelCppLexer.analyse_texts
���t�#�#r_rtrvs@r`rrsk����������D��m�G���I�B�B�B�B�B�$�$�$�$�$�$�$r_rc�8��eZdZdZdZdgZdgZ�fd�Zd�Z�xZ	S)r zS
    A lexer for Ragel in an Objective C host file.

    .. versionadded:: 1.1
    zRagel in Objective C Hostz
ragel-objcrbc�R��t��jttfi|��dSrj)rkrlrrrms  �r`rlzRagelObjectiveCLexer.__init__(s+���������*<�H�H��H�H�H�H�Hr_c�
�d|vS)Nz@LANG: objcr^res r`rgz!RagelObjectiveCLexer.analyse_text+rsr_rtrvs@r`r r sk���������'�D��n�G���I�I�I�I�I�I�%�%�%�%�%�%�%r_r c�8��eZdZdZdZdgZdgZ�fd�Zd�Z�xZ	S)r"zK
    A lexer for Ragel in a Java host file.

    .. versionadded:: 1.1
    zRagel in Java Hostz
ragel-javarbc�R��t��jttfi|��dSrj)rkrlrrrms  �r`rlzRagelJavaLexer.__init__:rqr_c�
�d|vS)Nz@LANG: javar^res r`rgzRagelJavaLexer.analyse_text=rsr_rtrvs@r`r"r"/sk��������� �D��n�G���I�C�C�C�C�C�%�%�%�%�%�%�%r_r"c���eZdZdZdZdgZgZdZdZdZ	dZ
dZd	efgd
e
fde
fged��ed
��dezdzeeeeeeje��fdedfdedfdezdzeeeejee��dfdedfdezdzezdzeejeeeejee��dfdezdzeeeeje��dfg	dedfd efed
��d!ed"fd#edfged��ed
��d$efd!ed"fd#edfd%ezd&zeeeej��fd'ezd&zeeeej��fdedfd(eeee��dfd)ezd*zeeeejee��fdezdzeejee��dfd+edfged��ed
��dedfd+efd,ejfd-ejfd.efd/ejfd0ejfd1efd2efd!ed"fd#edfd3edfged��ed
��d#efd4ezd5ze
zd6zeejeeeeee��fd7edfged��ed
��d#efd4ezd8zd9�ee
ed:f��zd*zeejeeeeee��fd7edfgd4d9�d;��zd<zefd=eee��fd>eejeej��fd#ed?fd7edfgd4d9�d@��zd<zefd!ed?fdAedfd>eejeej��fdBefgdC�
ZdD�Z dES)Fr#z�
    Generic `ANTLR`_ Lexer.
    Should not be called directly, instead
    use DelegatingLexer for your target language.

    .. versionadded:: 1.1

    .. _ANTLR: http://www.antlr.org/
    �ANTLR�antlrz[A-Za-z]\w*�[A-Z]\w*z[a-z]\w*z\'(?:\\\\|\\\'|[^\']*)\'z[0-9]+r1z//.*$rFr8r9z*(lexer|parser|tree)?(\s*)(grammar\b)(\s*)(z)(;)z	options\broztokens\br]z
(scope)(\s*)(z
)(\s*)(\{)�actionz(catch|finally)\b�	exceptionz(@z)(\s*)(::)?(\s*)(z0((?:protected|private|public|fragment)\b)?(\s*)(z)(!)?)�	rule-alts�rule-prelimsz\nrLz\sz\[�nested-arg-actionr>z	returns\bz(throws)(\s+)(�)z	(,)(\s*)(z(scope)(\s+)(\{)z
(scope)(\s+)(z	)(\s*)(;)r6r2r3z<<([^>]|>[^>])>>z\$?[A-Z_]\w*z\$?[a-z_]\w*z-(\+|\||->|=>|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)r5rArBz)(\s*)(=)?(\s*)(z
)?(\s*)(;)rKz)(\s*)(=)(\s*)(rCz\*)z
[^${}\'"/\\]+r2r3rErFr4z\\(?!%)rHrIz(\\)(%)z(\$[a-zA-Z]+)(\.?)(text|value)?rJ)z
[^$\[\]\'"/]+r2r3rErFr4rHz\]z(\\\\|\\\]|\\\[|[^\[\]])+)
r8r9rMr�r�r�r]ror�r�c�B�tjd|tj��S)Nz^\s*grammar\s+[a-zA-Z0-9]+\s*;)�re�search�Mres r`rgzAntlrLexer.analyse_text�s���y�:�D�"�$�G�G�Gr_N)!rNrOrPrQrRrTrU�_id�
_TOKEN_REF�	_RULE_REF�_STRING_LITERAL�_INTrrrrr
r�Classrr[�LabelrrXrY�Constantrr\r
r	�Propertyr]rgr^r_r`r#r#As����������D��i�G��I�
�C��J��I�1�O��D��Z� �
��w��
��(�
�

�G�L�!�!��G�J���
:�S�
@�6�
I�
�X�g�z�7�J��
�!�#�#�
$��7�I�.�
�'�8�,�
��
#�m�
3�
�X�g�z�4�=�*�!�#�#�$,�
.�"�7�K�8�
�S�[�/�
/�#�
5�
�
E�
�X�d�j�*�k�:��j�*�k�;�;�<D�
F�A�3�
F��
P�
�X�g�z�4�:�{�
C�
C�
*�
,�-
�6�J��'�
�J���G�J���
�K�!4�5�
�K��*�

�
�G�L�!�!��G�J���
�7�#�
�K�!4�5�
�K��*�
��
$�s�
*�
�X�g�z�4�:�
6�
6�
8�
�C�
�#�
%�
�X�k�:�t�z�
:�
:�
<��7�I�.�!�(�(�7�J��"L�"L�
�
�
��
#�l�
2�
�X�g�z�4�:�z�;�
O�
O�
Q��S�[�=�
(�
�X�d�j�*�k�
:�
:�H�
F��;��'�3
�8
�G�L�!�!��G�J����7�I�.�
�;��)�&�-�8�
(�&�-�8�
 �&�)��d�m�,�
�d�m�,�
=�x�H�
�;��
�K�!4�5�
�K��*�
�;��'�-
�2
�G�L�!�!��G�J���
�K� �
�J�
�!4�
4��
F���
�X�d�j�*�k�:��j�+�7�7�
8��K��(�	
�
�G�L�!�!��G�J���
�K� �
�C�Z�,�
,�
�X�X�s�O�T�5�9�
:�
:�;�=I�J�
�X�d�m�Z��j��J��5�5�
6��K��(�	
��D�I�I�����&�'�&�'
�(���+�u�5�5�6�
/�
�X�d�m�[�$�-�
@�
@�
B�
�K��)�
�K��(�3
�8�D�I�I����� �!� �!
�&�K��)�
�K��(�
/�
�X�d�m�[�$�-�
@�
@�
B�
)�5�1�1
�Yf�f�F�PH�H�H�H�Hr_r#c�:��eZdZdZdZdgZddgZ�fd�Zd�Z�xZ	S)r'z:
    ANTLR with C++ Target

    .. versionadded:: 1.1
    zANTLR With CPP Targetz	antlr-cpp�*.G�*.gc�R��t��jttfi|��dSrj)rkrlrr#rms  �r`rlzAntlrCppLexer.__init__s*���������:�9�9��9�9�9�9�9r_c�v�t�|��otjd|tj��S)Nz^\s*language\s*=\s*C\s*;�r#rgr�r�r�res r`rgzAntlrCppLexer.analyse_texts1���&�&�t�,�,�?��I�1�4���>�>�	?r_rtrvs@r`r'r'sh���������#�D��m�G����I�:�:�:�:�:�?�?�?�?�?�?�?r_r'c�:��eZdZdZdZdgZddgZ�fd�Zd�Z�xZ	S)r)zB
    ANTLR with Objective-C Target

    .. versionadded:: 1.1
    zANTLR With ObjectiveC Targetz
antlr-objcr�r�c�R��t��jttfi|��dSrj)rkrlrr#rms  �r`rlzAntlrObjectiveCLexer.__init__"s*���������*�@�@��@�@�@�@�@r_c�`�t�|��otjd|��S)Nz^\s*language\s*=\s*ObjC\s*;)r#rgr�r�res r`rgz!AntlrObjectiveCLexer.analyse_text%s-���&�&�t�,�,�<��I�4�d�;�;�	<r_rtrvs@r`r)r)sm���������*�D��n�G����I�A�A�A�A�A�<�<�<�<�<�<�<r_r)c�<��eZdZdZdZddgZddgZ�fd�Zd�Z�xZ	S)	r(z9
    ANTLR with C# Target

    .. versionadded:: 1.1
    zANTLR With C# Targetzantlr-csharpzantlr-c#r�r�c�R��t��jttfi|��dSrj)rkrlrr#rms  �r`rlzAntlrCSharpLexer.__init__5�*���������j�<�<�G�<�<�<�<�<r_c�v�t�|��otjd|tj��S)Nz^\s*language\s*=\s*CSharp2\s*;r�res r`rgzAntlrCSharpLexer.analyse_text8s3���&�&�t�,�,�E��I�7��r�t�D�D�	Er_rtrvs@r`r(r(*sr���������"�D��z�*�G����I�=�=�=�=�=�E�E�E�E�E�E�Er_r(c�:��eZdZdZdZdgZddgZ�fd�Zd�Z�xZ	S)r$z=
    ANTLR with Python Target

    .. versionadded:: 1.1
    zANTLR With Python Targetzantlr-pythonr�r�c�R��t��jttfi|��dSrj)rkrlrr#rms  �r`rlzAntlrPythonLexer.__init__Hr�r_c�v�t�|��otjd|tj��S)Nz^\s*language\s*=\s*Python\s*;r�res r`rgzAntlrPythonLexer.analyse_textKs3���&�&�t�,�,�D��I�6��b�d�C�C�	Dr_rtrvs@r`r$r$=sp���������&�D���G����I�=�=�=�=�=�D�D�D�D�D�D�Dr_r$c�:��eZdZdZdZdgZddgZ�fd�Zd�Z�xZ	S)r*z:
    ANTLR with Java Target

    .. versionadded:: 1.
    zANTLR With Java Targetz
antlr-javar�r�c�R��t��jttfi|��dSrj)rkrlrr#rms  �r`rlzAntlrJavaLexer.__init__[�*���������J�:�:�'�:�:�:�:�:r_c�:�t�|��odS)Ng�������?)r#rgres r`rgzAntlrJavaLexer.analyse_text^s���&�&�t�,�,�4��4r_rtrvs@r`r*r*Psh���������$�D��n�G����I�;�;�;�;�;�5�5�5�5�5�5�5r_r*c�<��eZdZdZdZddgZddgZ�fd�Zd�Z�xZ	S)	r&z;
    ANTLR with Ruby Target

    .. versionadded:: 1.1
    zANTLR With Ruby Targetz
antlr-rubyzantlr-rbr�r�c�R��t��jttfi|��dSrj)rkrlrr#rms  �r`rlzAntlrRubyLexer.__init__nr�r_c�v�t�|��otjd|tj��S)Nz^\s*language\s*=\s*Ruby\s*;r�res r`rgzAntlrRubyLexer.analyse_textqs3���&�&�t�,�,�B��I�4�d�B�D�A�A�	Br_rtrvs@r`r&r&csr���������$�D��Z�(�G����I�;�;�;�;�;�B�B�B�B�B�B�Br_r&c�:��eZdZdZdZdgZddgZ�fd�Zd�Z�xZ	S)r%z;
    ANTLR with Perl Target

    .. versionadded:: 1.1
    zANTLR With Perl Targetz
antlr-perlr�r�c�R��t��jttfi|��dSrj)rkrlrr#rms  �r`rlzAntlrPerlLexer.__init__�r�r_c�v�t�|��otjd|tj��S)Nz^\s*language\s*=\s*Perl5\s*;r�res r`rgzAntlrPerlLexer.analyse_text�s3���&�&�t�,�,�C��I�5�t�R�T�B�B�	Cr_rtrvs@r`r%r%vso���������$�D��n�G����I�;�;�;�;�;�C�C�C�C�C�C�Cr_r%c�<��eZdZdZdZddgZddgZ�fd�Zd�Z�xZ	S)	r+zC
    ANTLR with ActionScript Target

    .. versionadded:: 1.1
    zANTLR With ActionScript Targetzantlr-actionscriptzantlr-asr�r�c�T��ddlm}t��j|tfi|��dS)Nr)�ActionScriptLexer)�pygments.lexers.actionscriptr�rkrlr#)rnror�rps   �r`rlzAntlrActionScriptLexer.__init__�s=���B�B�B�B�B�B������*�J�B�B�'�B�B�B�B�Br_c�v�t�|��otjd|tj��S)Nz#^\s*language\s*=\s*ActionScript\s*;r�res r`rgz#AntlrActionScriptLexer.analyse_text�s3���&�&�t�,�,�J��I�<�d�B�D�I�I�	Jr_rtrvs@r`r+r+�sw���������,�D�#�Z�0�G����I�C�C�C�C�C�J�J�J�J�J�J�Jr_r+c�P�eZdZdZed��defdejdfdedfged��ed��ded	fdedfd
ejfged��ed��dedfd
edfdefged��d
ej	dfged��ed��de
jfde
jfde
eje��fdefdefdefde
jfde
ejeej��fde
eej	e��fdedfde
jfg
dedfdedfdefgded	fdedfdefgd efd!ejfgd"edfgd#�	Zd$S)%�TreetopBaseLexerz�
    A base lexer for `Treetop <http://treetop.rubyforge.org/>`_ grammars.
    Not for direct use; use :class:`TreetopLexer` instead.

    .. versionadded:: 1.6
    �spacezrequire[ \t]+[^\n\r]+[\n\r]zmodule\b�modulez	grammar\b�grammar�endrJz[A-Z]\w*(?:::[A-Z]\w*)*zrule\b�rulez	include\brr�rLr2r3z([A-Za-z_]\w*)(:)z[A-Za-z_]\w*z[()]z	[?+*/&!~]z$\[(?:\\.|\[:\^?[a-z]+:\]|[^\\\]])+\]z([0-9]*)(\.\.)([0-9]*)z
(<)([^>]+)(>)r>�
inline_module�\.�rubyrKz[^{}]+z
[ \t\n\r]+z#[^\n]*zend\b)	rMr�r�rr�r�r�r�r�N)rNrOrPrQrr	r
�	Namespacerr�rrXrYrr�rrrZrrWrrr]r^r_r`r�r��s��������
�G�G���
+�U�3�
�'�+�X�6�
�7�I�.�	
�
�G�G����G�E�N�N�
�'�7�+�
�7�I�.�
'���8�
�
�G�G����G�E�N�N�
���(�
�7�I�.�
�$��
�
�G�G���
'���V�<�
�

�G�G����G�E�N�N�
(�&�-�8�
(�&�-�8�
!�8�8�D�J��#D�#D�E�
�d�#�
�k�"�
�8�$�
4�f�l�C�
&�
�X�f�n�h���
?�
?�
A�
�x�x��T�Z��M�M�N�
�K��1�
�F�L�!�
�"�E�6�"�
�K��(�
���
��E�7�#�
�E�6�"�
���
��J�'�
���(�
�
�w��'�
�o:�:�F�F�Fr_r�c�4��eZdZdZdZdgZddgZ�fd�Z�xZS)r,ze
    A lexer for `Treetop <http://treetop.rubyforge.org/>`_ grammars.

    .. versionadded:: 1.6
    �Treetop�treetopz	*.treetopz*.ttc�R��t��jttfi|��dSrj)rkrlrr�rms  �r`rlzTreetopLexer.__init__�s+���������$4�@�@��@�@�@�@�@r_)	rNrOrPrQrRrTrUrlrurvs@r`r,r,�sc����������D��k�G��f�%�I�A�A�A�A�A�A�A�A�Ar_r,c
�j�eZdZdZdZdgZdgZdgZed��ed��ed��d	e	d
fged��ed��ed��de
jfde
jfd
e
jfdefde	fdedfdedfg
defgdejdfgdejfed��dejdfdejfgdefgd�ZdS)r-z�
    Lexer for `ISO/IEC 14977 EBNF
    <http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form>`_
    grammars.

    .. versionadded:: 2.0
    �EBNF�ebnfz*.ebnfztext/x-ebnfr8�
comment_start�
identifierr@�
productionz"[^"]*"z'[^']*'z(\?[^?]*\?)z[\[\]{}(),|]�-rArLr�r1z\(\*�commentz[^*)]z\*\)z[*)]z([a-zA-Z][\w \-]*))rMr�r8r�r�r�N)rNrOrPrQrRrTrU�	mimetypesrrrrXrYr�Entityrr
r�	Multiliner
r]r^r_r`r-r-�sP���������D��h�G��
�I���I�
�G�L�!�!��G�O�$�$��G�L�!�!�
�8�\�*�	
�
�G�L�!�!��G�O�$�$��G�L�!�!�
���'�
���'�
�T�[�)�
�k�*�
�8��
�;��'�
�K��(�
��T�N�
��g�'��3�
��w�(�)��G�O�$�$�
�g�'��0�
�g�'�(�	
�#�G�,�
�?"�"�F�F�Fr_r-)9rQr��pygments.lexerrrrrr�pygments.tokenrr	r
rrr
rrrr�pygments.lexers.jvmr�pygments.lexers.c_cpprr�pygments.lexers.objectiver�pygments.lexers.dr�pygments.lexers.dotnetr�pygments.lexers.rubyr�pygments.lexers.pythonr�pygments.lexers.perlr�__all__rrr!rrrr r"r#r'r)r(r$r*r&r%r+r�r,r-r^r_r`�<module>r�s-����
�	�	�	���������������.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�)�)�)�)�)�)�2�2�2�2�2�2�2�2�5�5�5�5�5�5�$�$�$�$�$�$�.�.�.�.�.�.�*�*�*�*�*�*�.�.�.�.�.�.�*�*�*�*�*�*�(�(�(��\�\�\�\�\��\�\�\�~P&�P&�P&�P&�P&��P&�P&�P&�f%�%�%�%�%�_�%�%�%�$"�"�"�"�"�/�"�"�"�$"�"�"�"�"�/�"�"�"�$$�$�$�$�$�O�$�$�$�$%�%�%�%�%�?�%�%�%�$%�%�%�%�%�_�%�%�%�$~H�~H�~H�~H�~H��~H�~H�~H�F?�?�?�?�?�O�?�?�?�&<�<�<�<�<�?�<�<�<�&E�E�E�E�E��E�E�E�&D�D�D�D�D��D�D�D�&5�5�5�5�5�_�5�5�5�&B�B�B�B�B�_�B�B�B�&C�C�C�C�C�_�C�C�C�&J�J�J�J�J�_�J�J�J�(B�B�B�B�B�z�B�B�B�JA�A�A�A�A�?�A�A�A�0�0�0�0�0�
�0�0�0�0�0r_