
    0e                        S r SSKrSSKJrJrJrJrJr  SSKJ	r	J
r
JrJrJrJrJrJrJrJr  SSKJr  SSKJrJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSK J!r!  SSK"J#r#  / SQr$ " S S\5      r% " S S\5      r& " S S\5      r' " S S\5      r( " S S\5      r) " S S\5      r* " S S\5      r+ " S S\5      r, " S S\5      r- " S  S!\5      r. " S" S#\5      r/ " S$ S%\5      r0 " S& S'\5      r1 " S( S)\5      r2 " S* S+\5      r3 " S, S-\5      r4 " S. S/\5      r5 " S0 S1\5      r6 " S2 S3\5      r7 " S4 S5\5      r8g)6z
pygments.lexers.parsers
~~~~~~~~~~~~~~~~~~~~~~~

Lexers for parser generators.

:copyright: Copyright 2006-2023 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                      \ rS rSrSrSrSrS/r/ rS\	4/S\
4/S\4S	\4S
\4S\4/S\R                  4S\R                  4/S\R                   4S\R"                  4S\4S\R$                  4/S\R(                  4/S\4S\4S\4S\4S\4S\4S\4S\4S\4S\4S\4S\4S\4S \4/\" S!5      \" S"5      \" S#5      \" S$5      \" S%5      \" S&5      \" S'5      S(\S)4S*\4S+\4/
S,S-R1                  S.5      -   S/-   \4S(\S04S1\S24/S3.	rS4rg5)6r   #   zA 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)\bz0x[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[^{}\'"/#]+[^\\]\\[{}]r3   r4   //.*$\n?/\*(.|\n)*?\*/\#.*$\n?r5   /)+#push\}#pop)	r9   r:   r;   r<   r8   r=   r>   rootr@    N)__name__
__module____qualname____firstlineno____doc__nameurlaliases	filenamesr   r   r   r   HexIntegerr   DoubleSingleRegexr   Variabler   r   r   joinr	   tokens__static_attributes__rO       *lib/third_party/pygments/lexers/parsers.pyr   r   #   s    D
2CiGI Z 
 w
 +G40':BGLCWM	
 

+V^^,

 )&--8(&--8+V4.=	
 dmm,
 8(#H%8H((3((3*H5'2*H5(#*H5hx 
" JL!JJIM"K K(8;
 DII   " #" #& K)K(+
mMFrb   r   c                      \ rS rSrSrSrS/rS/rSSR                  S5      -   S	-   \	4S
\
" \\" \5      \\5      4S\S4/SSR                  SSR                  S5      -   S	-   SSSSSS45      -   S	-   \" \5      4S\S4/S.rS rSrg)r      z
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
zEmbedded Ragelzragel-em*.rlrC   rD   )	z
[^%\'"/#]+z%(?=[^%]|$)r3   r4   rG   rF   rH   r5   rI   rJ   z(%%)(?![{%])(.*)($|;)(\n?)z(%%%%|%%)\{multi-line-fsm)z[^}\'"\[/#]z\}(?=[^%]|$)z\}%(?=[^%]|$)rE   z(>|\$|%|<|@|<>)/z /(?!\*)(\\\\|\\[^\\]|[^/\\])*/\*z/(?=[^/*]|$)r3   r4   z\[(\\\\|\\[^\\]|[^\]\\])*\]rG   rF   rH   z\}%%rM   )rN   rg   c                     SU ;   $ )Nz@LANG: indeprO   texts    rc   analyse_textRagelEmbeddedLexer.analyse_text   s    %%rb   rO   N)rP   rQ   rR   rS   rT   rU   rW   rX   r_   r	   r   r   r   r   r
   r`   rk   ra   rO   rb   rc   r   r      s    DlGI DII     & +H[5::5F5@$-H I
 [*:;3
8 DIItyy "  ( ). ,+.!;  < =< j)=+@ k6*C"
9?FB&rb   r   c                   D   ^  \ rS rSrSrSrSS/rS/rU 4S jrS r	S	r
U =r$ )
r!      z?
A lexer for Ragel in a Ruby host file.

.. versionadded:: 1.1
zRagel in Ruby Hostz
ragel-rubyzragel-rbrf   c                 :   > [         TU ]  " [        [        40 UD6  g N)super__init__r   r   selfoptions	__class__s     rc   rr   RagelRubyLexer.__init__       $6B'Brb   c                     SU ;   $ )Nz@LANG: rubyrO   ri   s    rc   rk   RagelRubyLexer.analyse_text       $$rb   rO   rP   rQ   rR   rS   rT   rU   rW   rX   rr   rk   ra   __classcell__rv   s   @rc   r!   r!      s0      DZ(GIC% %rb   r!   c                   B   ^  \ rS rSrSrSrS/rS/rU 4S jrS r	Sr
U =r$ )	r      z<
A lexer for Ragel in a C host file.

.. versionadded:: 1.1
zRagel in C Hostzragel-crf   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r   rs   s     rc   rr   RagelCLexer.__init__       !3?w?rb   c                     SU ;   $ )Nz@LANG: crO   ri   s    rc   rk   RagelCLexer.analyse_text       T!!rb   rO   r|   r~   s   @rc   r   r      -     DkGI@" "rb   r   c                   B   ^  \ rS rSrSrSrS/rS/rU 4S jrS r	Sr
U =r$ )	r      z<
A lexer for Ragel in a D host file.

.. versionadded:: 1.1
zRagel in D Hostzragel-drf   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r   rs   s     rc   rr   RagelDLexer.__init__  r   rb   c                     SU ;   $ )Nz@LANG: drO   ri   s    rc   rk   RagelDLexer.analyse_text  r   rb   rO   r|   r~   s   @rc   r   r      r   rb   r   c                   B   ^  \ rS rSrSrSrS/rS/rU 4S jrS r	Sr
U =r$ )	r   i  z>
A lexer for Ragel in a C++ host file.

.. versionadded:: 1.1
zRagel in CPP Hostz	ragel-cpprf   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r   rs   s     rc   rr   RagelCppLexer.__init__  s    #5AArb   c                     SU ;   $ )Nz
@LANG: c++rO   ri   s    rc   rk   RagelCppLexer.analyse_text  s    t##rb   rO   r|   r~   s   @rc   r   r     s-     DmGIB$ $rb   r   c                   B   ^  \ rS rSrSrSrS/rS/rU 4S jrS r	Sr
U =r$ )	r    i  zG
A lexer for Ragel in an Objective C host file.

.. versionadded:: 1.1
zRagel in Objective C Hostz
ragel-objcrf   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r   rs   s     rc   rr   RagelObjectiveCLexer.__init__(  s    *<HHrb   c                     SU ;   $ )Nz@LANG: objcrO   ri   s    rc   rk   !RagelObjectiveCLexer.analyse_text+  r{   rb   rO   r|   r~   s   @rc   r    r      s-     'DnGII% %rb   r    c                   B   ^  \ rS rSrSrSrS/rS/rU 4S jrS r	Sr
U =r$ )	r"   i/  z?
A lexer for Ragel in a Java host file.

.. versionadded:: 1.1
zRagel in Java Hostz
ragel-javarf   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r   rs   s     rc   rr   RagelJavaLexer.__init__:  rx   rb   c                     SU ;   $ )Nz@LANG: javarO   ri   s    rc   rk   RagelJavaLexer.analyse_text=  r{   rb   rO   r|   r~   s   @rc   r"   r"   /  s-      DnGIC% %rb   r"   c                      \ rS rSrSrSrS/r/ rSrSr	Sr
SrS	rS
\4/S\4S\4/\" S5      \" S5      S\-   S-   \" \\\\\R&                  \5      4S\S4S\S4S\-   S-   \" \\\R*                  \\5      S4S\S4S\-   S-   \-   S-   \" \R,                  \\\\R,                  \\5      S4S\-   S-   \" \\\R,                  \5      S4/	S\S 4S!\4\" S5      S"\S#4S$\S4/\" S5      \" S5      S%\4S"\S#4S$\S4S&\-   S'-   \" \\\R,                  5      4S(\-   S'-   \" \\\R,                  5      4S\S4S)\" \\\5      S4S*\-   S+-   \" \\\R,                  \\5      4S\-   S-   \" \R,                  \\5      S4S,\S 4/\" S5      \" S5      S\S4S,\4S-\R0                  4S.\R2                  4S/\4S0\R4                  4S1\R*                  4S2\4S3\4S"\S#4S$\S4S4\S 4/\" S5      \" S5      S$\4S5\	-   S6-   \-   S7-   \" \R,                  \\\\\\5      4S8\S 4/\" S5      \" S5      S$\4S5\-   S9-   S:R9                  \\\S;45      -   S+-   \" \R*                  \\\\\\5      4S8\S 4/S5S:R9                  S<5      -   S=-   \4S>\" \\5      4S?\" \R*                  \\R>                  5      4S$\S@4S8\S 4/S5S:R9                  SA5      -   S=-   \4S"\S@4SB\S 4S?\" \R*                  \\R>                  5      4SC\4/SD.
r SE r!SFr"gG)Hr#   iA  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]+r2   z//.*$rG   r9   r:   z*(lexer|parser|tree)?(\s*)(grammar\b)(\s*)(z)(;)z	options\bru   ztokens\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\nrM   z\sz\[nested-arg-actionr?   z	returns\bz(throws)(\s+)()z	(,)(\s*)(z(scope)(\s+)(\{)z(scope)(\s+)(z	)(\s*)(;)r7   r3   r4   z<<([^>]|>[^>])>>z\$?[A-Z_]\w*z\$?[a-z_]\w*z-(\+|\||->|=>|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)r6   rB   rC   z)(\s*)(=)?(\s*)(z
)?(\s*)(;)rL   z)(\s*)(=)(\s*)(rD   z\*)z[^${}\'"/\\]+r3   r4   rF   rG   r5   z\\(?!%)rI   rJ   z(\\)(%)z(\$[a-zA-Z]+)(\.?)(text|value)?rK   )z[^$\[\]\'"/]+r3   r4   rF   rG   r5   rI   z\]z(\\\\|\\\]|\\\[|[^\[\]])+)
r9   r:   rN   r   r   r   r`   ru   r   r   c                 N    [         R                  " SU [         R                  5      $ )Nz^\s*grammar\s+[a-zA-Z0-9]+\s*;)researchMri   s    rc   rk   AntlrLexer.analyse_text  s    yy:D"$$GGrb   rO   N)#rP   rQ   rR   rS   rT   rU   rW   rX   _id
_TOKEN_REF	_RULE_REF_STRING_LITERAL_INTr   r   r   r   r   r   Classr   r^   Labelr   r[   r\   Constantr   r_   r
   r	   Propertyr`   rk   ra   rO   rb   rc   r#   r#   A  s    DiGI
CJI1OD Z 
 w(

 L!J:S@6Igz7J

!#$ 7I.'8,#m3gz4==*!#$,. "7K8S[//#5Edjj*k:jj*k;<DF A3FPgz4::{C*,-
6 J'JJK!45K*
 L!J7#K!45K*$s*gz4::68C#%k:tzz:< 7I. !(7J"L#l2gz4::z;OQ S[=(djj*k:HF ;'3
8 L!J 7I.; )&--8(&--8 &) dmm,dmm,=xH;K!45K*;'-
2 L!JK J!44Fdjj*k:j+78 K(	
 L!JK CZ,,XXsOT59:;=IJdmmZjJ56 K(	
 DII   & '& '( +u56/dmm[$--@BK)K(3
8 DII     !  !& K)K(/dmm[$--@B)511
YfFPHrb   r#   c                   D   ^  \ rS rSrSrSrS/rSS/rU 4S jrS r	S	r
U =r$ )
r'   i  z.
ANTLR with C++ Target

.. versionadded:: 1.1
zANTLR With CPP Targetz	antlr-cpp*.G*.gc                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r#   rs   s     rc   rr   AntlrCppLexer.__init__  s    :99rb   c                     [         R                  U 5      =(       a&    [        R                  " SU [        R                  5      $ )Nz^\s*language\s*=\s*C\s*;r#   rk   r   r   r   ri   s    rc   rk   AntlrCppLexer.analyse_text  s/    &&t, ?II14>	?rb   rO   r|   r~   s   @rc   r'   r'     s.     #DmGI:? ?rb   r'   c                   D   ^  \ rS rSrSrSrS/rSS/rU 4S jrS r	S	r
U =r$ )
r)   i  z6
ANTLR with Objective-C Target

.. versionadded:: 1.1
zANTLR With ObjectiveC Targetz
antlr-objcr   r   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r#   rs   s     rc   rr   AntlrObjectiveCLexer.__init__"  s    *@@rb   c                 h    [         R                  U 5      =(       a    [        R                  " SU 5      $ )Nz^\s*language\s*=\s*ObjC\s*;)r#   rk   r   r   ri   s    rc   rk   !AntlrObjectiveCLexer.analyse_text%  s)    &&t, <II4d;	<rb   rO   r|   r~   s   @rc   r)   r)     s/     *DnGIA< <rb   r)   c                   F   ^  \ rS rSrSrSrSS/rSS/rU 4S jrS	 r	S
r
U =r$ )r(   i*  z-
ANTLR with C# Target

.. versionadded:: 1.1
zANTLR With C# Targetzantlr-csharpzantlr-c#r   r   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r#   rs   s     rc   rr   AntlrCSharpLexer.__init__5      j<G<rb   c                     [         R                  U 5      =(       a&    [        R                  " SU [        R                  5      $ )Nz^\s*language\s*=\s*CSharp2\s*;r   ri   s    rc   rk   AntlrCSharpLexer.analyse_text8  s1    &&t, EII7rttD	Erb   rO   r|   r~   s   @rc   r(   r(   *  s3     "Dz*GI=E Erb   r(   c                   D   ^  \ rS rSrSrSrS/rSS/rU 4S jrS r	S	r
U =r$ )
r$   i=  z1
ANTLR with Python Target

.. versionadded:: 1.1
zANTLR With Python Targetzantlr-pythonr   r   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r#   rs   s     rc   rr   AntlrPythonLexer.__init__H  r   rb   c                     [         R                  U 5      =(       a&    [        R                  " SU [        R                  5      $ )Nz^\s*language\s*=\s*Python\s*;r   ri   s    rc   rk   AntlrPythonLexer.analyse_textK  s1    &&t, DII6bddC	Drb   rO   r|   r~   s   @rc   r$   r$   =  s1     &DGI=D Drb   r$   c                   D   ^  \ rS rSrSrSrS/rSS/rU 4S jrS r	S	r
U =r$ )
r*   iP  z.
ANTLR with Java Target

.. versionadded:: 1.
zANTLR With Java Targetz
antlr-javar   r   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r#   rs   s     rc   rr   AntlrJavaLexer.__init__[      J:':rb   c                 >    [         R                  U 5      =(       a    S$ )Ng?)r#   rk   ri   s    rc   rk   AntlrJavaLexer.analyse_text^  s    &&t,44rb   rO   r|   r~   s   @rc   r*   r*   P  s.     $DnGI;5 5rb   r*   c                   F   ^  \ rS rSrSrSrSS/rSS/rU 4S jrS	 r	S
r
U =r$ )r&   ic  z/
ANTLR with Ruby Target

.. versionadded:: 1.1
zANTLR With Ruby Targetz
antlr-rubyzantlr-rbr   r   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r#   rs   s     rc   rr   AntlrRubyLexer.__init__n  r   rb   c                     [         R                  U 5      =(       a&    [        R                  " SU [        R                  5      $ )Nz^\s*language\s*=\s*Ruby\s*;r   ri   s    rc   rk   AntlrRubyLexer.analyse_textq  s1    &&t, BII4dBDDA	Brb   rO   r|   r~   s   @rc   r&   r&   c  s3     $DZ(GI;B Brb   r&   c                   D   ^  \ rS rSrSrSrS/rSS/rU 4S jrS r	S	r
U =r$ )
r%   iv  z/
ANTLR with Perl Target

.. versionadded:: 1.1
zANTLR With Perl Targetz
antlr-perlr   r   c                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r#   rs   s     rc   rr   AntlrPerlLexer.__init__  r   rb   c                     [         R                  U 5      =(       a&    [        R                  " SU [        R                  5      $ )Nz^\s*language\s*=\s*Perl5\s*;r   ri   s    rc   rk   AntlrPerlLexer.analyse_text  s1    &&t, CII5tRTTB	Crb   rO   r|   r~   s   @rc   r%   r%   v  s0     $DnGI;C Crb   r%   c                   F   ^  \ rS rSrSrSrSS/rSS/rU 4S jrS	 r	S
r
U =r$ )r+   i  z7
ANTLR with ActionScript Target

.. versionadded:: 1.1
zANTLR With ActionScript Targetzantlr-actionscriptzantlr-asr   r   c                 >   > SSK Jn  [        TU ]  " U[        40 UD6  g )Nr   )ActionScriptLexer)pygments.lexers.actionscriptr   rq   rr   r#   )rt   ru   r   rv   s      rc   rr   AntlrActionScriptLexer.__init__  s    B*JB'Brb   c                     [         R                  U 5      =(       a&    [        R                  " SU [        R                  5      $ )Nz#^\s*language\s*=\s*ActionScript\s*;r   ri   s    rc   rk   #AntlrActionScriptLexer.analyse_text  s1    &&t, JII<dBDDI	Jrb   rO   r|   r~   s   @rc   r+   r+     s4     ,D#Z0GICJ Jrb   r+   c                      \ rS rSrSr\" S5      S\4S\R                  S4S\S4/\" S5      \" S	5      S\S
4S\S4S\	R                  4/\" S5      \" S	5      S\S4S\S4S\	4/\" S5      S\	R                  S4/\" S5      \" S	5      S\R                  4S\R                  4S\" \	R                  \5      4S\	4S\4S\4S\R$                  4S\" \R(                  \\R(                  5      4S\" \\	R                  \5      4S\S4S\R$                  4/S\S4S\S4S \4/S\S
4S\S4S \4/S!\4S"\R                  4/S#\S4/S$.	rS%rg&)'TreetopBaseLexeri  z
A base lexer for `Treetop <http://treetop.rubyforge.org/>`_ grammars.
Not for direct use; use :class:`TreetopLexer` instead.

.. versionadded:: 1.6
spacezrequire[ \t]+[^\n\r]+[\n\r]zmodule\bmodulez	grammar\bgrammarendrK   z[A-Z]\w*(?:::[A-Z]\w*)*zrule\brulez	include\br   r   rM   r3   r4   z([A-Za-z_]\w*)(:)z[A-Za-z_]\w*z[()]z	[?+*/&!~]z$\[(?:\\.|\[:\^?[a-z]+:\]|[^\\\]])+\]z([0-9]*)(\.\.)([0-9]*)z(<)([^>]+)(>)r?   inline_module\.rubyrL   z[^{}]+z
[ \t\n\r]+z#[^\n]*zend\b)	rN   r   r   r   r   r   r   r   r   rO   N)rP   rQ   rR   rS   rT   r   r	   r   	Namespacer   r   r   r[   r\   r   r   r   r   r]   r   rZ   r   r   r`   ra   rO   rb   rc   r   r     s    G+U3'++X67I.	
 GEN'7+7I.'8
 GEN(7I.$
 G'V<

 GEN(&--8(&--8!8DJJ#DEd#k"8$4fllC&fnnh?AxTZZMNK1FLL!
" E6"K(
 E7#E6"
 J'(

 w'
o:Frb   r   c                   >   ^  \ rS rSrSrSrS/rSS/rU 4S jrSr	U =r
$ )	r,   i  zY
A lexer for `Treetop <http://treetop.rubyforge.org/>`_ grammars.

.. versionadded:: 1.6
Treetoptreetopz	*.treetopz*.ttc                 :   > [         TU ]  " [        [        40 UD6  g rp   )rq   rr   r   r   rs   s     rc   rr   TreetopLexer.__init__  s    $4@@rb   rO   )rP   rQ   rR   rS   rT   rU   rW   rX   rr   ra   r}   r~   s   @rc   r,   r,     s,     DkGf%IA Arb   r,   c                      \ rS rSrSrSrS/rS/rS/r\	" S5      \	" S5      \	" S	5      S
\
S4/\	" S5      \	" S5      \	" S	5      S\R                  4S\R                  4S\R                  4S\4S\
4S\S4S\S4/
S\4/S\R&                  S4/S\R&                  4\	" S5      S\R&                  S4S\R&                  4/S\4/S.rSrg)r-   i  z
Lexer for `ISO/IEC 14977 EBNF
<http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form>`_
grammars.

.. versionadded:: 2.0
EBNFebnfz*.ebnfztext/x-ebnfr9   comment_start
identifierrA   
productionz"[^"]*"z'[^']*'z(\?[^?]*\?)z[\[\]{}(),|]-rB   rM   r   r2   z\(\*commentz[^*)]z\*\)z[*)]z([a-zA-Z][\w \-]*))rN   r   r9   r   r   r   rO   N)rP   rQ   rR   rS   rT   rU   rW   rX   	mimetypesr   r   r   r[   r\   r   Entityr   r
   r   	Multiliner   r`   ra   rO   rb   rc   r-   r-     s)    DhG
II L!O$L!8\*	
 L!O$L!''T[[)k*8;'K(
 TN
 g''3
 w(()O$g''0g''(	
 #G,
?"Frb   r-   )9rT   r   pygments.lexerr   r   r   r   r   pygments.tokenr   r	   r
   r   r   r   r   r   r   r   pygments.lexers.jvmr   pygments.lexers.c_cppr   r   pygments.lexers.objectiver   pygments.lexers.dr   pygments.lexers.dotnetr   pygments.lexers.rubyr   pygments.lexers.pythonr   pygments.lexers.perlr   __all__r   r   r!   r   r   r   r    r"   r#   r'   r)   r(   r$   r*   r&   r%   r+   r   r,   r-   rO   rb   rc   <module>r
     sQ   
 . . . ) 2 5 $ . * . *(\ \~P& P&f%_ %$"/ "$"/ "$$O $$%? %$%_ %$~H ~HF?O ?&<? <&E E&D D&5_ 5&B_ B&C_ C&J_ J(Bz BJA? A0
 0rb   