Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/parsers.cpython-37.pyc

B

ǽ�\�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-2019 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
    ZRagelZragelz\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'(\\\\|\\'|[^'])*'z\[(\\\\|\\\]|[^\]])*\]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�	operatorsz\{�host�=�;�(�|)	z[^{}\'"/#]+z[^\\]\\[{}]z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z//.*$\n?z/\*(.|\n)*?\*/z\#.*$\n?z/(?!\*)(\\\\|\\/|[^/])*/�/z)+z#pushz\}z#pop)	r0r1r2r3r/r4r5�rootr6N)�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenamesrr
rrZHex�Integerr�Regexr
�Variablerrr�joinr�tokens�rIrI�H/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/parsers.pyr%sX


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-emz*.rlr9r:)	z
[^%\'"/#]+z%(?=[^%]|$)z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z/\*(.|\n)*?\*/z//.*$\n?z\#.*$\n?z/(?!\*)(\\\\|\\/|[^/])*/r;z)+z(%%)(?![{%])(.*)($|;)(\n?)z(%%%%|%%)\{zmulti-line-fsm)z[^}\'"\[/#]z\}(?=[^%]|$)z
\}%(?=[^%]|$)z[^\\]\\[{}]z(>|\$|%|<|@|<>)/z/(?!\*)(\\\\|\\/|[^/])*/\*z/(?=[^/*]|$)z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z\[(\\\\|\\\]|[^\]])*\]z/\*(.|\n)*?\*/z//.*$\n?z\#.*$\n?z\}%%z#pop)r<zmulti-line-fsmcCsd|kS)Nz@LANG: indeprI)�textrIrIrJ�analyse_text�szRagelEmbeddedLexer.analyse_textN)r=r>r?r@rArBrCrGrrrrrr	rHrLrIrIrIrJr�s
!4cs: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-rbz*.rlcstt|�jttf|�dS)N)�superr �__init__rr)�self�options)�	__class__rIrJrN�szRagelRubyLexer.__init__cCsd|kS)Nz@LANG: rubyrI)rKrIrIrJrL�szRagelRubyLexer.analyse_text)
r=r>r?r@rArBrCrNrL�
__classcell__rIrI)rQrJr �scs8eZdZdZdZdgZdgZ�fdd�Zdd�Z�Z	S)	rzK
    A lexer for `Ragel`_ in a C host file.

    .. versionadded:: 1.1
    zRagel in C Hostzragel-cz*.rlcstt|�jttf|�dS)N)rMrrNrr)rOrP)rQrIrJrN�szRagelCLexer.__init__cCsd|kS)Nz@LANG: crI)rKrIrIrJrL�szRagelCLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr�scs8eZdZdZdZdgZdgZ�fdd�Zdd�Z�Z	S)	rzK
    A lexer for `Ragel`_ in a D host file.

    .. versionadded:: 1.1
    zRagel in D Hostzragel-dz*.rlcstt|�jttf|�dS)N)rMrrNrr)rOrP)rQrIrJrNszRagelDLexer.__init__cCsd|kS)Nz@LANG: drI)rKrIrIrJrL	szRagelDLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr�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-cppz*.rlcstt|�jttf|�dS)N)rMrrNrr)rOrP)rQrIrJrNszRagelCppLexer.__init__cCsd|kS)Nz
@LANG: c++rI)rKrIrIrJrLszRagelCppLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr
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-objcz*.rlcstt|�jttf|�dS)N)rMrrNrr)rOrP)rQrIrJrN*szRagelObjectiveCLexer.__init__cCsd|kS)Nz@LANG: objcrI)rKrIrIrJrL/sz!RagelObjectiveCLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJrs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-javaz*.rlcstt|�jttf|�dS)N)rMr!rNrr)rOrP)rQrIrJrN>szRagelJavaLexer.__init__cCsd|kS)Nz@LANG: javarI)rKrIrIrJrLBszRagelJavaLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr!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*z[A-Z]\w*z[a-z]\w*z\'(?:\\\\|\\\'|[^\']*)\'z[0-9]+z\s+z//.*$z/\*(.|\n)*?\*/r0r1z*(lexer|parser|tree)?(\s*)(grammar\b)(\s*)(z)(;)z	options\brPztokens\brHz
(scope)(\s*)(z
)(\s*)(\{)�actionz(catch|finally)\b�	exceptionz(@z)(\s*)(::)?(\s*)(z0((?:protected|private|public|fragment)\b)?(\s*)(z)(!)?)z	rule-altszrule-prelimsz\nz#popz\sz\[znested-arg-actionz\{z	returns\bz(throws)(\s+)(�)z	(,)(\s*)(z(scope)(\s+)(\{)z
(scope)(\s+)(z	)(\s*)(;)r.z'(\\\\|\\'|[^'])*'z"(\\\\|\\"|[^"])*"z<<([^>]|>[^>])>>z\$?[A-Z_]\w*z\$?[a-z_]\w*z-(\+|\||->|=>|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)r-r8r9z)(\s*)(=)?(\s*)(z
)?(\s*)(;)z\}z)(\s*)(=)(\s*)(r:z\*)z
[^${}\'"/\\]+z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z//.*$\n?z/\*(.|\n)*?\*/z/(?!\*)(\\\\|\\/|[^/])*/z\\(?!%)r;z)+z(\\)(%)z(\$[a-zA-Z]+)(\.?)(text|value)?z#push)z
[^$\[\]\'"/]+z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z//.*$\n?z/\*(.|\n)*?\*/z/(?!\*)(\\\\|\\/|[^/])*/r;z\]z(\\\\|\\\]|\\\[|[^\[\]])+)
r0r1r<rTzrule-prelimsz	rule-altsrHrPrSznested-arg-actioncCst�d|tj�S)Nz^\s*grammar\s+[a-zA-Z0-9]+\s*;)�re�search�M)rKrIrIrJrLszAntlrLexer.analyse_textN)r=r>r?r@rArBrC�_idZ
_TOKEN_REFZ	_RULE_REFZ_STRING_LITERALZ_INTrr
rrrr
�ClassrrF�LabelrZConstantrrGr	rZPropertyrHrLrIrIrIrJr"Fs�	











 


cs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r&z=
    `ANTLR`_ with CPP Target

    .. versionadded:: 1.1
    zANTLR With CPP Targetz	antlr-cppz*.Gz*.gcstt|�jttf|�dS)N)rMr&rNrr")rOrP)rQrIrJrN*szAntlrCppLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*C\s*;)r"rLrVrWrX)rKrIrIrJrL-s
zAntlrCppLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr&scs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r(zE
    `ANTLR`_ with Objective-C Target

    .. versionadded:: 1.1
    zANTLR With ObjectiveC Targetz
antlr-objcz*.Gz*.gcstt|�jttf|�dS)N)rMr(rNrr")rOrP)rQrIrJrN=szAntlrObjectiveCLexer.__init__cCst�|�ot�d|�S)Nz^\s*language\s*=\s*ObjC\s*;)r"rLrVrW)rKrIrIrJrLAs
z!AntlrObjectiveCLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr(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#z*.Gz*.gcstt|�jttf|�dS)N)rMr'rNrr")rOrP)rQrIrJrNQszAntlrCSharpLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*CSharp2\s*;)r"rLrVrWrX)rKrIrIrJrLUs
zAntlrCSharpLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr'Fscs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r#z@
    `ANTLR`_ with Python Target

    .. versionadded:: 1.1
    zANTLR With Python Targetzantlr-pythonz*.Gz*.gcstt|�jttf|�dS)N)rMr#rNrr")rOrP)rQrIrJrNeszAntlrPythonLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*Python\s*;)r"rLrVrWrX)rKrIrIrJrLis
zAntlrPythonLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr#Zscs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r)z=
    `ANTLR`_ with Java Target

    .. versionadded:: 1.
    zANTLR With Java Targetz
antlr-javaz*.Gz*.gcstt|�jttf|�dS)N)rMr)rNrr")rOrP)rQrIrJrNyszAntlrJavaLexer.__init__cCst�|�odS)Ng�������?)r"rL)rKrIrIrJrL}szAntlrJavaLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr)nscs<eZdZdZdZddgZddgZ�fdd�Zd	d
�Z�Z	S)r%z>
    `ANTLR`_ with Ruby Target

    .. versionadded:: 1.1
    zANTLR With Ruby Targetz
antlr-rubyzantlr-rbz*.Gz*.gcstt|�jttf|�dS)N)rMr%rNrr")rOrP)rQrIrJrN�szAntlrRubyLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*Ruby\s*;)r"rLrVrWrX)rKrIrIrJrL�s
zAntlrRubyLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr%�scs:eZdZdZdZdgZddgZ�fdd�Zdd	�Z�Z	S)
r$z>
    `ANTLR`_ with Perl Target

    .. versionadded:: 1.1
    zANTLR With Perl Targetz
antlr-perlz*.Gz*.gcstt|�jttf|�dS)N)rMr$rNrr")rOrP)rQrIrJrN�szAntlrPerlLexer.__init__cCst�|�ot�d|tj�S)Nz^\s*language\s*=\s*Perl5\s*;)r"rLrVrWrX)rKrIrIrJrL�s
zAntlrPerlLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr$�scs<eZdZdZdZddgZddgZ�fdd�Zd	d
�Z�Z	S)r*zF
    `ANTLR`_ with ActionScript Target

    .. versionadded:: 1.1
    zANTLR With ActionScript Targetzantlr-aszantlr-actionscriptz*.Gz*.gcs&ddlm}tt|�j|tf|�dS)Nr)�ActionScriptLexer)Zpygments.lexers.actionscriptr\rMr*rNr")rOrPr\)rQrIrJrN�szAntlrActionScriptLexer.__init__cCst�|�ot�d|tj�S)Nz#^\s*language\s*=\s*ActionScript\s*;)r"rLrVrWrX)rKrIrIrJrL�s
z#AntlrActionScriptLexer.analyse_text)
r=r>r?r@rArBrCrNrLrRrIrI)rQrJr*�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�endz#pushz[A-Z]\w*(?:::[A-Z]\w*)*zrule\b�rulez	include\brz[A-Z]\w*z#popz"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z([A-Za-z_]\w*)(:)z[A-Za-z_]\w*z[()]z	[?+*/&!~]z$\[(?:\\.|\[:\^?[a-z]+:\]|[^\\\]])+\]z([0-9]*)(\.\.)([0-9]*)z
(<)([^>]+)(>)z\{�
inline_modulez\.�rubyz\}z[^{}]+z
[ \t\n\r]+z#[^\n]*zend\b)	r<r_r`rrbrcrdr^raN)r=r>r?r@rrrZ	Namespacer
rZr�Double�Singlerr[rrrErrDrr
rHrIrIrIrJr]�sP




r]cs2eZdZdZdZdgZddgZ�fdd�Z�ZS)r+ze
    A lexer for `Treetop <http://treetop.rubyforge.org/>`_ grammars.

    .. versionadded:: 1.6
    ZTreetopZtreetopz	*.treetopz*.ttcstt|�jttf|�dS)N)rMr+rNrr])rOrP)rQrIrJrNszTreetopLexer.__init__)	r=r>r?r@rArBrCrNrRrIrI)rQrJr+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-ebnfr0�
comment_start�
identifierr7�
productionz"[^"]*"z'[^']*'z(\?[^?]*\?)z[\[\]{}(),|]�-r8z#popz\.z\s+z\(\*�commentz[^*)]z\*\)z[*)]z([a-zA-Z][\w \-]*))r<rir0rgrkrhN)r=r>r?r@rArBrCZ	mimetypesrrrrerfr
ZEntityrr	r
Z	MultilinerrHrIrIrIrJr,s4



)9r@rVZpygments.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*r]r+r,rIrIrIrJ�<module>
sN0]SZE