HEX
Server: Apache
System: Linux srv1.prosuiteplus.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: prosuiteplus (1001)
PHP: 8.3.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/parsers.cpython-38.pyc
U

G�
\�k�@s*dZddlZddlmZmZmZmZmZddlm	Z	m
Z
mZmZm
Z
mZmZmZmZmZddlmZddlmZmZddlmZddlmZdd	lmZdd
lmZddl m!Z!ddl"m#Z#d
ddddddddddddddddddgZ$Gd d
�d
e�Z%Gd!d�de�Z&Gd"d�de�Z'Gd#d�de�Z(Gd$d�de�Z)Gd%d�de�Z*Gd&d�de�Z+Gd'd�de�Z,Gd(d�de�Z-Gd)d�de�Z.Gd*d�de�Z/Gd+d�de�Z0Gd,d�de�Z1Gd-d�de�Z2Gd.d�de�Z3Gd/d�de�Z4Gd0d�de�Z5Gd1d2�d2e�Z6Gd3d�de�Z7Gd4d�de�Z8dS)5z�
    pygments.lexers.parsers
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for parser generators.

    :copyright: Copyright 2006-2017 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@sBeZdZdZdZdgZgZdefgdefgde	fde	fde	fd	e	fgd
e
jfde
jfgde
fd
e
fde
fde
jfgdejfgdefdefdefdefdefdefdefdefdefdefdefdefdefdefged�ed �ed!�ed"�ed#�ed$�ed%�d&ed'fd(efd)efg
d*d+�d,�d-efd&ed.fd/ed0fgd1�	Zd2S)3rz�
    A pure `Ragel <http://www.complang.org/ragel/>`_ lexer.  Use this for
    fragments of Ragel.  For ``.rl`` files, use RagelEmbeddedLexer instead
    (or one of the language-specific subclasses).

    .. versionadded:: 1.1
    ZRagelZragel�\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[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[^{}\'"/#]+�[^\\]\\[{}]r.r/�//.*$\n?�/\*(.|\n)*?\*/�\#.*$\n?r1�/�)+�#push�\}�#pop)	r5r6r7r8r4r9r:�rootr<N)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenamesrr
rrZHex�Integerr�Regexr
�Variablerrr�joinr�tokens�rWrW�9/usr/lib/python3/dist-packages/pygments/lexers/parsers.pyr%st��������
����c@s�eZdZdZdZdgZdgZdd�d�defd	e	e
ee�e
e
�fd
e
dfgdd�dd�d�dd
dddddf�dee�fde
dfgd�Zdd�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�*.rlr?r@)	z
[^%\'"/#]+z%(?=[^%]|$)r.r/rCrBrDr1rErFz(%%)(?![{%])(.*)($|;)(\n?)z(%%%%|%%)\{�multi-line-fsm)z[^}\'"\[/#]z\}(?=[^%]|$)z
\}%(?=[^%]|$)rAz(>|\$|%|<|@|<>)/z/(?!\*)(\\\\|\\/|[^/])*/\*z/(?=[^/*]|$)r.r/r0rCrBrDz\}%%rI)rJrZcCsd|kS)Nz@LANG: indeprW��textrWrWrX�analyse_text�szRagelEmbeddedLexer.analyse_textN)rKrLrMrNrOrPrQrUrrrrrr	rVr]rWrWrWrXr�sF	�������� ��Acs:eZdZdZdZddgZdgZ�fdd�Zdd	�Z�Z	S)
r zN
    A lexer for `Ragel`_ in a Ruby host file.

    .. versionadded:: 1.1
    zRagel in Ruby Hostz
ragel-rubyzragel-rbrYcstt|�jttf|�dS�N)�superr �__init__rr��self�options��	__class__rWrXr`�s�zRagelRubyLexer.__init__cCsd|kS)Nz@LANG: rubyrWr[rWrWrXr]�szRagelRubyLexer.analyse_text�
rKrLrMrNrOrPrQr`r]�
__classcell__rWrWrdrXr �scs8eZdZdZdZdgZdgZ�fdd�Zdd�Z�Z	S)	rzK
    A lexer for `Ragel`_ in a C host file.

    .. versionadded:: 1.1
    zRagel in C Hostzragel-crYcstt|�jttf|�dSr^)r_rr`rrrardrWrXr`�s�zRagelCLexer.__init__cCsd|kS)Nz@LANG: crWr[rWrWrXr]�szRagelCLexer.analyse_textrfrWrWrdrXr�scs8eZdZdZdZdgZdgZ�fdd�Zdd�Z�Z	S)	rzK
    A lexer for `Ragel`_ in a D host file.

    .. versionadded:: 1.1
    zRagel in D Hostzragel-drYcstt|�jttf|�dSr^)r_rr`rrrardrWrXr`szRagelDLexer.__init__cCsd|kS)Nz@LANG: drWr[rWrWrXr]	szRagelDLexer.analyse_textrfrWrWrdrXr�scs8eZdZdZdZdgZdgZ�fdd�Zdd�Z�Z	S)	rzM
    A lexer for `Ragel`_ in a CPP host file.

    .. versionadded:: 1.1
    zRagel in CPP Hostz	ragel-cpprYcstt|�jttf|�dSr^)r_rr`rrrardrWrXr`szRagelCppLexer.__init__cCsd|kS)Nz
@LANG: c++rWr[rWrWrXr]szRagelCppLexer.analyse_textrfrWrWrdrXr
scs8eZdZdZdZdgZdgZ�fdd�Zdd�Z�Z	S)	rzV
    A lexer for `Ragel`_ in an Objective C host file.

    .. versionadded:: 1.1
    zRagel in Objective C Hostz
ragel-objcrYcstt|�jttf|�dSr^)r_rr`rrrardrWrXr`*s
��zRagelObjectiveCLexer.__init__cCsd|kS)Nz@LANG: objcrWr[rWrWrXr]/sz!RagelObjectiveCLexer.analyse_textrfrWrWrdrXrscs8eZdZdZdZdgZdgZ�fdd�Zdd�Z�Z	S)	r!zN
    A lexer for `Ragel`_ in a Java host file.

    .. versionadded:: 1.1
    zRagel in Java Hostz
ragel-javarYcstt|�jttf|�dSr^)r_r!r`rrrardrWrXr`>s�zRagelJavaLexer.__init__cCsd|kS)Nz@LANG: javarWr[rWrWrXr]BszRagelJavaLexer.analyse_textrfrWrWrdrXr!3sc@sJeZdZdZdZdgZgZdZdZdZ	dZ
dZd	efgd
e
fde
fged�ed
�dedeeeeeeje�fdedfdedfdedeeeejee�dfdedfdededeejeeeejee�dfdedeeeeje�dfg	dedfd efed
�d!ed"fd#edfged�ed
�d$efd!ed"fd#edfd%ed&eeeej�fd'ed&eeeej�fdedfd(eeee�dfd)ed*eeeejee�fdedeejee�dfd+edfged�ed
�dedfd+efd,efd-efd.efd/ejfd0ejfd1efd2efd!ed"fd#edfd3edfged�ed
�d#efd4ed5e
d6eejeeeeee�fd7edfged�ed
�d#efd4ed8d9�ee
ed:f�d*eejeeeeee�fd7edfgd4d9�d;�d<efd=eee�fd>eejeej�fd#ed?fd7edfgd4d9�d@�d<efd!ed?fdAedfd>eejeej�fdBefgdC�
ZdDdE�ZdFS)Gr"z�
    Generic `ANTLR`_ Lexer.
    Should not be called directly, instead
    use DelegatingLexer for your target language.

    .. versionadded:: 1.1

    .. _ANTLR: http://www.antlr.org/
    ZANTLRZantlrz[A-Za-z]\w*�[A-Z]\w*z[a-z]\w*z\'(?:\\\\|\\\'|[^\']*)\'z[0-9]+r-z//.*$rCr5r6z*(lexer|parser|tree)?(\s*)(grammar\b)(\s*)(z)(;)z	options\brcztokens\brVz
(scope)(\s*)(z
)(\s*)(\{)�actionz(catch|finally)\b�	exceptionz(@z)(\s*)(::)?(\s*)(z0((?:protected|private|public|fragment)\b)?(\s*)(z)(!)?)�	rule-alts�rule-prelimsz\nrIz\sz\[�nested-arg-actionr;z	returns\bz(throws)(\s+)(�)z	(,)(\s*)(z(scope)(\s+)(\{)z
(scope)(\s+)(z	)(\s*)(;)r3r/r.z<<([^>]|>[^>])>>z\$?[A-Z_]\w*z\$?[a-z_]\w*z-(\+|\||->|=>|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)r2r>r?z)(\s*)(=)?(\s*)(z
)?(\s*)(;)rHz)(\s*)(=)(\s*)(r@z\*)z
[^${}\'"/\\]+r.r/rBrCr1z\\(?!%)rErFz(\\)(%)z(\$[a-zA-Z]+)(\.?)(text|value)?rG)z
[^$\[\]\'"/]+r.r/rBrCr1rEz\]z(\\\\|\\\]|\\\[|[^\[\]])+)
r5r6rJrjrlrkrVrcrirmcCst�d|tj�S)Nz^\s*grammar\s+[a-zA-Z0-9]+\s*;)�re�search�Mr[rWrWrXr]szAntlrLexer.analyse_textN)rKrLrMrNrOrPrQZ_idZ
_TOKEN_REFZ	_RULE_REFZ_STRING_LITERALZ_INTrr
rrrr
�ClassrrT�LabelrZConstantrrUr	rZPropertyrVr]rWrWrWrXr"Fs$
��
��
����
���	
�
��
�
�������
���������������)cs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r&z=
    `ANTLR`_ with CPP Target

    .. versionadded:: 1.1
    zANTLR With CPP Targetz	antlr-cpp�*.G�*.gcstt|�jttf|�dSr^)r_r&r`rr"rardrWrXr`*szAntlrCppLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*C\s*;�r"r]rorprqr[rWrWrXr]-s
�zAntlrCppLexer.analyse_textrfrWrWrdrXr&scs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r(zE
    `ANTLR`_ with Objective-C Target

    .. versionadded:: 1.1
    zANTLR With ObjectiveC Targetz
antlr-objcrtrucstt|�jttf|�dSr^)r_r(r`rr"rardrWrXr`=s
��zAntlrObjectiveCLexer.__init__cCst�|�ot�d|�S)Nz^\s*language\s*=\s*ObjC\s*;)r"r]rorpr[rWrWrXr]As

�z!AntlrObjectiveCLexer.analyse_textrfrWrWrdrXr(2scs<eZdZdZdZddgZddgZ�fdd�Zd	d
�Z�Z	S)r'z<
    `ANTLR`_ with C# Target

    .. versionadded:: 1.1
    zANTLR With C# Targetzantlr-csharpzantlr-c#rtrucstt|�jttf|�dSr^)r_r'r`rr"rardrWrXr`Qs�zAntlrCSharpLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*CSharp2\s*;rvr[rWrWrXr]Us
�zAntlrCSharpLexer.analyse_textrfrWrWrdrXr'Fscs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r#z@
    `ANTLR`_ with Python Target

    .. versionadded:: 1.1
    zANTLR With Python Targetzantlr-pythonrtrucstt|�jttf|�dSr^)r_r#r`rr"rardrWrXr`es�zAntlrPythonLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*Python\s*;rvr[rWrWrXr]is
�zAntlrPythonLexer.analyse_textrfrWrWrdrXr#Zscs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r)z=
    `ANTLR`_ with Java Target

    .. versionadded:: 1.
    zANTLR With Java Targetz
antlr-javartrucstt|�jttf|�dSr^)r_r)r`rr"rardrWrXr`ys�zAntlrJavaLexer.__init__cCst�|�odS)Ng�������?)r"r]r[rWrWrXr]}szAntlrJavaLexer.analyse_textrfrWrWrdrXr)nscs<eZdZdZdZddgZddgZ�fdd�Zd	d
�Z�Z	S)r%z>
    `ANTLR`_ with Ruby Target

    .. versionadded:: 1.1
    zANTLR With Ruby Targetz
antlr-rubyzantlr-rbrtrucstt|�jttf|�dSr^)r_r%r`rr"rardrWrXr`�s�zAntlrRubyLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*Ruby\s*;rvr[rWrWrXr]�s
�zAntlrRubyLexer.analyse_textrfrWrWrdrXr%�scs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r$z>
    `ANTLR`_ with Perl Target

    .. versionadded:: 1.1
    zANTLR With Perl Targetz
antlr-perlrtrucstt|�jttf|�dSr^)r_r$r`rr"rardrWrXr`�s�zAntlrPerlLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*Perl5\s*;rvr[rWrWrXr]�s
�zAntlrPerlLexer.analyse_textrfrWrWrdrXr$�scs<eZdZdZdZddgZddgZ�fdd�Zd	d
�Z�Z	S)r*zF
    `ANTLR`_ with ActionScript Target

    .. versionadded:: 1.1
    zANTLR With ActionScript Targetzantlr-aszantlr-actionscriptrtrucs&ddlm}tt|�j|tf|�dS)Nr)�ActionScriptLexer)Zpygments.lexers.actionscriptrwr_r*r`r")rbrcrwrdrWrXr`�s��zAntlrActionScriptLexer.__init__cCst�|�ot�d|tj�S)Nz#^\s*language\s*=\s*ActionScript\s*;rvr[rWrWrXr]�s
�z#AntlrActionScriptLexer.analyse_textrfrWrWrdrXr*�sc@sTeZdZdZed�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 TreetopLexer instead.

    .. versionadded:: 1.6
    �spacezrequire[ \t]+[^\n\r]+[\n\r]zmodule\b�modulez	grammar\b�grammar�endrGz[A-Z]\w*(?:::[A-Z]\w*)*zrule\b�rulez	include\brrhrIr.r/z([A-Za-z_]\w*)(:)z[A-Za-z_]\w*z[()]z	[?+*/&!~]z$\[(?:\\.|\[:\^?[a-z]+:\]|[^\\\]])+\]z([0-9]*)(\.\.)([0-9]*)z
(<)([^>]+)(>)r;�
inline_module�\.�rubyrHz[^{}]+z
[ \t\n\r]+z#[^\n]*zend\b)	rJrzr{rr}r~r�ryr|N)rKrLrMrNrrrZ	Namespacer
rrr�Double�SinglerrsrrrSrrRrr
rVrWrWrWrXrx�sf	
���
��������rxcs2eZdZdZdZdgZddgZ�fdd�Z�ZS)r+ze
    A lexer for `Treetop <http://treetop.rubyforge.org/>`_ grammars.

    .. versionadded:: 1.6
    ZTreetopZtreetopz	*.treetopz*.ttcstt|�jttf|�dSr^)r_r+r`rrxrardrWrXr`szTreetopLexer.__init__)	rKrLrMrNrOrPrQr`rgrWrWrdrXr+s
c
@s�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
    ZEBNFZebnfz*.ebnfztext/x-ebnfr5�
comment_start�
identifierr=�
productionz"[^"]*"z'[^']*'z(\?[^?]*\?)z[\[\]{}(),|]�-r>rIrr-z\(\*�commentz[^*)]z\*\)z[*)]z([a-zA-Z][\w \-]*))rJr�r5r�r�r�N)rKrLrMrNrOrPrQZ	mimetypesrrrr�r�r
ZEntityrr	r
Z	MultilinerrVrWrWrWrXr,sB��
�
�
���)9rNroZpygments.lexerrrrrrZpygments.tokenrrr	r
rrr
rrrZpygments.lexers.jvmrZpygments.lexers.c_cpprrZpygments.lexers.objectiverZpygments.lexers.drZpygments.lexers.dotnetrZpygments.lexers.rubyrZpygments.lexers.pythonrZpygments.lexers.perlr�__all__rrr rrrrr!r"r&r(r'r#r)r%r$r*rxr+r,rWrWrWrX�<module>sb
0�
]SZE