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__/dotnet.cpython-37.pyc

B

ɽ�\�k�@s"dZddlZddlmZmZmZmZmZmZm	Z	m
Z
ddlmZm
Z
mZmZmZmZmZmZmZmZddlmZmZddlmZddlmZdd	d
ddd
dgZGdd�de�ZGdd	�d	e�Z Gdd
�d
e�Z!Gdd�de�Z"Gdd�de�Z#Gdd�de�Z$Gdd
�d
e�Z%Gdd�de�Z&dS)z�
    pygments.lexers.dotnet
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for .net languages.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�DelegatingLexer�bygroups�include�using�this�default�words)
�Punctuation�Text�Comment�Operator�Keyword�Name�String�Number�Literal�Other)�get_choice_opt�	iteritems)�	unistring)�XmlLexer�CSharpLexer�NemerleLexer�BooLexer�
VbNetLexer�CSharpAspxLexer�VbNetAspxLexer�FSharpLexerc@s�eZdZdZdZddgZdgZdgZej	ej
BejBZdde
�d	d
ddd
�dde
�d	d
ddd
ddddd�
dde
�d	d
dddd
�dde
�d	d
dddd
ddddd�dd�ZiZdZ�xee�D�]
\ZZdededeee�ejee�fdejfd efd!efd"ejfd#ej fd$efd%efd&efd'e!fd(e!fd)e!j"fd*e#fd+ej$fd,ee%ee%�fd-e%fd.ee%e�fd/e%j&fd0ee%e�d1fd2ee%e�d3feefgeej'd4fe(d4�gd5ed4fd6ed7ej)d4fgd8�ee<q�Wd9d:�Z*d;S)<ra�
    For `C# <http://msdn2.microsoft.com/en-us/vcsharp/default.aspx>`_
    source code.

    Additional options accepted:

    `unicodelevel`
      Determines which Unicode characters this lexer allows for identifiers.
      The possible values are:

      * ``none`` -- only the ASCII letters and numbers are allowed. This
        is the fastest selection.
      * ``basic`` -- all Unicode characters from the specification except
        category ``Lo`` are allowed.
      * ``full`` -- all Unicode characters as specified in the C# specs
        are allowed.  Note that this means a considerable slowdown since the
        ``Lo`` category has more than 40,000 characters in it!

      The default value is ``basic``.

      .. versionadded:: 0.8
    zC#Zcsharpzc#z*.csz
text/x-csharpz@?[_a-zA-Z]\w*z@?[_�Lu�Ll�Lt�Lm�Nl�]�[�Nd�Pc�Cf�Mn�Mcz]*z	@?(?:_|[^�Loz])z[^)�none�basic�fullTz^([ \t]*(?:z(?:\[\])?\s+)+?)(z
)(\s*)(\()z^\s*\[.*?\]z[^\S\n]+z\\\nz//.*?\nz/[*].*?[*]/z\nz[~!%^&*()+=|\[\]:;,.<>/?-]z[{}]z
@"(""|[^"])*"z"(\\\\|\\"|[^"\n])*["\n]z
'\\.'|'[^\\]'zA[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?zZ#[ \t]*(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b.*?\nz\b(extern)(\s+)(alias)\ba(abstract|as|async|await|base|break|by|case|catch|checked|const|continue|default|delegate|do|else|enum|event|explicit|extern|false|finally|fixed|for|foreach|goto|if|implicit|in|interface|internal|is|let|lock|new|null|on|operator|out|override|params|private|protected|public|readonly|ref|return|sealed|sizeof|stackalloc|static|switch|this|throw|true|try|typeof|unchecked|unsafe|virtual|void|while|get|set|new|partial|yield|add|remove|value|alias|ascending|descending|from|group|into|orderby|select|thenby|where|join|equals)\bz(global)(::)zk(bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var)\b\??z(class|struct)(\s+)�classz(namespace|using)(\s+)�	namespacez#popz(?=\()�(z|\.)+)�rootr/r0cKsLt|dt|j�d�}||jkr.|j�|�|_n|j||_tj|f|�dS)N�unicodelevelr-)	r�list�tokens�_all_tokens�	__class__�process_tokendef�_tokensr�__init__)�self�options�level�r>�G/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/dotnet.pyr:�s

zCSharpLexer.__init__N)+�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypes�re�	MULTILINE�DOTALL�UNICODE�flags�uni�combine�	allexcept�levelsr5�token_variantsr�	levelname�cs_identrrrr�Functionrr
�	Attributer�Single�	Multiliner�Charr�Preprocr�Type�Classr�	Namespacer:r>r>r>r?rsX<F
"c!@s�eZdZdZdZdgZdgZdgZej	ej
BejBZdde
�dd	d
dd�d
de
�dd	d
ddddddd�
dde
�dd	d
ddd�dde
�dd	d
dddddddd�dd�ZiZdZ�xee�D�]\ZZdededeee�ejee�fdejfdefd efd!ejfd"ej fd#efd$e!d%fd&e!d'fd(e!d)fd*ed+e"fd,e"fd-eefd.eee�d/fd0efd1efd2e!fd3e!fd4e!j#fd5e$fd6e$fd7ej%fd8ee"ee"�fd9e"fd:ee"e�fd;e"j&fd<ed=eee"j&�fd>ee"e�d?fd@ee"e�dAfeefgeej'dBfgdCedBfdDedEej(dBfgdFe!fd-eefd.eee�d/fdGe!fdHe!dBfgdIe!fd-eefd.eee�d/fd(e!dJfdKe!dBfgdLe!fd(e!dJfdKe!dBfgdMe"fdNefeefdOe$fdPedJfdQedBfgdR�ee<q�WdSdT�Z)dUS)Vra�
    For `Nemerle <http://nemerle.org>`_ source code.

    Additional options accepted:

    `unicodelevel`
      Determines which Unicode characters this lexer allows for identifiers.
      The possible values are:

      * ``none`` -- only the ASCII letters and numbers are allowed. This
        is the fastest selection.
      * ``basic`` -- all Unicode characters from the specification except
        category ``Lo`` are allowed.
      * ``full`` -- all Unicode characters as specified in the C# specs
        are allowed.  Note that this means a considerable slowdown since the
        ``Lo`` category has more than 40,000 characters in it!

      The default value is ``basic``.

    .. versionadded:: 1.5
    ZNemerleZnemerlez*.nztext/x-nemerlez@?[_a-zA-Z]\w*z@?[_rr r!r"r#r$r%r&r'r(r)r*z]*z	@?(?:_|[^r+z])z[^)r,r-r.Tz^([ \t]*(?:z(?:\[\])?\s+)+?)(z
)(\s*)(\()z^\s*\[.*?\]z[^\S\n]+z\\\nz//.*?\nz/[*].*?[*]/z\nz\$\s*"z
splice-stringz\$\s*<#zsplice-string2z<#zrecursive-stringz	(<\[)\s*(z:)?z\]\>z\$z(\$)(\()zsplice-string-contentz[~!%^&*()+=|\[\]:;,.<>/?-]z[{}]z
@"(""|[^"])*"z"(\\\\|\\"|[^"\n])*["\n]z
'\\.'|'[^\\]'z0[xX][0-9a-fA-F]+[Ll]?z*[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?zZ#[ \t]*(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b.*?\nz\b(extern)(\s+)(alias)\ba�(abstract|and|as|base|catch|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|syntax|this|throw|true|try|type|typeof|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\bz(global)(::)zo(bool|byte|char|decimal|double|float|int|long|object|sbyte|short|string|uint|ulong|ushort|void|array|list)\b\??z	(:>?)\s*(z\??)z"(class|struct|variant|module)(\s+)r/z(namespace|using)(\s+)r0z#popz(?=\()r1z|\.)+z[^"$]z\\"�"z[^#<>$]z#pushz#>z[^#<>]zif|matchz[~!%^&*+=|\[\]:;,.<>/?-\\"$ ]z\d+z\(z\))r2r/r0z
splice-stringzsplice-string2zrecursive-stringzsplice-string-contentcKsLt|dt|j�d�}||jkr.|j�|�|_n|j||_tj|f|�dS)Nr3r-)	rr4r5r6r7r8r9rr:)r;r<r=r>r>r?r:s
zNemerleLexer.__init__N)*r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPr5rQrrRrSrrrrrTrr
rUrrVrWrrrXrrYrZr[r\r:r>r>r>r?r�s�<F










c@sLeZdZdZdZdgZdgZdgZdefde	j
fde	jd	fd
efdefdefd
e
jfdejfdejfde
fdefdefdeee�dfdeee�dfdeee�dfdejfdejfdejfdej
fdefdejfdefd ejfd!ejfd"ejjfd#ejfgde	jd$fd%e	jd&fd'e	jfd(e	jfgdejd&fgdejd&fgd)ejd&fgd*�Zd+S),rz<
    For `Boo <http://boo.codehaus.org/>`_ source code.
    ZBooZbooz*.booz
text/x-booz\s+z	(#|//).*$z/[*]�commentz[]{}:(),.;[]z\\\nz\\z(in|is|and|or|not)\bz/(\\\\|\\/|[^/\s])/z@/(\\\\|\\/|[^/])*/z=~|!=|==|<<|>>|[-+/*%=<>&^|]aO(as|abstract|callable|constructor|destructor|do|import|enum|event|final|get|interface|internal|of|override|partial|private|protected|public|return|set|static|struct|transient|virtual|yield|super|and|break|cast|continue|elif|else|ensure|except|for|given|goto|if|in|is|isa|not|or|otherwise|pass|raise|ref|try|unless|when|while|from|as)\bzdef(?=\s+\(.*?\))z
(def)(\s+)�funcnamez(class)(\s+)�	classnamez(namespace)(\s+)r0z�(?<!\.)(true|false|null|self|__eval__|__switch__|array|assert|checked|enumerate|filter|getter|len|lock|map|matrix|max|min|normalArrayIndexing|print|property|range|rawArrayIndexing|required|typeof|unchecked|using|yieldAll|zip)\bz"""(\\\\|\\"|.*?)"""z"(\\\\|\\"|[^"]*?)"z'(\\\\|\\'|[^']*?)'z[a-zA-Z_]\w*z%(\d+\.\d*|\d*\.\d+)([fF][+-]?[0-9]+)?z[0-9][0-9.]*(ms?|d|h|s)z0\d+z0x[a-fA-F0-9]+z\d+Lz\d+z#pushz[*]/z#popz[^/*]z[*/]z[a-zA-Z_][\w.]*)r2r^r_r`r0N) r@rArBrCrDrErFrGrrrVrWr
r
�Wordr�Regexrrr�Builtin�Doubler�Float�Oct�Hex�IntegerZLongrTr[r\r5r>r>r>r?r+sP





c@s�eZdZdZdZddgZddgZddgZd	e�	d
ddd
�dde�	d
ddd
ddddd�	dZ
ejej
BZdejfdefdefdefdefdejfdefdejfeddd d!�efd"ed#fd$ed%fd&eee�d'fd(eee�d)fd*eee�d+fd,ejfd-ejfd.efd/ed0fd1efe
d2efd3ejfd4ej fd5ej!fd6ej!fd7ej!fgd8efd9ed:fd;efge
ej"d:fe#d:�ge
ej$d:fge
ej%d:fge
ej&fd<ej&fe#d:�gdefd=ed:fe#d:�gd>�Z'd?d@�Z(dAS)Brzm
    For
    `Visual Basic.NET <http://msdn2.microsoft.com/en-us/vbasic/default.aspx>`_
    source code.
    zVB.netzvb.netZvbnetz*.vbz*.basztext/x-vbnetz
text/x-vbaz[_r r!r"r#r$r%r&r'r(r)r*z]*z	^\s*<.*?>z\s+z\nz
rem\b.*?\nz'.*?\nz�#If\s.*?\sThen|#ElseIf\s.*?\sThen|#Else|#End\s+If|#Const|#ExternalSource.*?\n|#End\s+ExternalSource|#Region.*?\n|#End\s+Region|#ExternalChecksumz[(){}!#,.:]z9Option\s+(Strict|Explicit|Compare)\s+(On|Off|Binary|Text))lZ
AddHandlerZAliasZByRefZByValZCallZCaseZCatchZCBoolZCByteZCCharZCDateZCDecZCDblZCIntZCLngZCObjZContinueZCSByteZCShortZCSngZCStrZCTypeZCUIntZCULngZCUShortZDeclareZDefaultZDelegateZ
DirectCastZDo�EachZElseZElseIfZEndIfZErase�Error�EventZExit�FalseZFinallyZForZFriendZGetZGlobalZGoSubZGoToZHandlesZIfZ
ImplementsZInheritsZ	InterfaceZLet�LibZLoopZMeZMustInheritZMustOverrideZMyBaseZMyClassZ	NarrowingZNewZNextZNotZNothingZNotInheritableZNotOverridableZOfZOnr
ZOption�OptionalZ	OverloadsZOverridableZ	OverridesZ
ParamArrayZPartialZPrivateZ	ProtectedZPublicZ
RaiseEventZReadOnlyZReDimZ
RemoveHandlerZResumeZReturnZSelect�SetZShadowsZSharedrVZStaticZStepZStopZSyncLockZThenZThrowZTo�TrueZTryZTryCastZWendZUsingZWhenZWhileZWideningZWithZ
WithEventsZ	WriteOnlyz(?<!\.)z\b)�prefix�suffixz(?<!\.)End\b�endz(?<!\.)(Dim|Const)\b�dimz#(?<!\.)(Function|Sub|Property)(\s+)r_z"(?<!\.)(Class|Structure|Enum)(\s+)r`z&(?<!\.)(Module|Namespace|Imports)(\s+)r0z|(?<!\.)(Boolean|Byte|Char|Date|Decimal|Double|Integer|Long|Object|SByte|Short|Single|String|Variant|UInteger|ULong|UShort)\bzU(?<!\.)(AddressOf|And|AndAlso|As|GetType|In|Is|IsNot|Like|Mod|Or|OrElse|TypeOf|Xor)\bzE&=|[*]=|/=|\\=|\^=|\+=|-=|<<=|>>=|<<|>>|:=|<=|>=|<>|[-&*/\\^+=<>\[\]]r]�stringz_\nz	[%&@!#$]?z#.*?#z"(\d+\.\d*|\d*\.\d+)(F[+-]?[0-9]+)?z\d+([SILDFR]|US|UI|UL)?z&H[0-9a-f]+([SILDFR]|US|UI|UL)?z&O[0-7]+([SILDFR]|US|UI|UL)?z""z"C?z#popz[^"]+z\.z?(Function|Sub|Property|Class|Structure|Enum|Module|Namespace)\b)r2rurtr_r`r0rscCst�d|tj�rdSdS)Nz^\s*(#If|Module|Namespace)g�?)rH�searchrI)�textr>r>r?�analyse_text�szVbNetLexer.analyse_textN))r@rArBrCrDrErFrGrMrNZuni_namerHrI�
IGNORECASErLrrUrrrYr
rZDeclarationr	rrZr
rarrZDaterrerh�VariablerrTr[r\r5rxr>r>r>r?rnsr:


c@sfeZdZdZdZgZgZejZ	dde
eje
ej�fde
ee�e
ee��fdee�fdee�fgiZdS)	�GenericAspxLexerz"
    Lexer for ASP.NET pages.
    zaspx-genr2z(<%[@=#]?)(.*?)(%>)z(<script.*?>)(.*?)(</script>)z
(.+?)(?=<)z.+N)r@rArBrCrDrFrGrHrJrLrrZTagrrrr5r>r>r>r?r{�s


r{csFeZdZdZdZdgZddddddgZgZ�fd	d
�Zdd�Z	�Z
S)
rz9
    Lexer for highlighting C# within ASP.NET pages.
    zaspx-csz*.aspxz*.asaxz*.ascxz*.ashxz*.asmxz*.axdcstt|�jttf|�dS)N)�superrr:rr{)r;r<)r7r>r?r:�szCSharpAspxLexer.__init__cCs4t�d|tj�dk	rdSt�d|tj�dk	r0dSdS)NzPage\s*Language="C#"g�������?zscript[^>]+language=["\']C#g333333�?)rHrv�I)rwr>r>r?rxszCSharpAspxLexer.analyse_text)r@rArBrCrDrErFrGr:rx�
__classcell__r>r>)r7r?r�scsFeZdZdZdZdgZddddddgZgZ�fd	d
�Zdd�Z	�Z
S)
rzG
    Lexer for highlighting Visual Basic.net within ASP.NET pages.
    zaspx-vbz*.aspxz*.asaxz*.ascxz*.ashxz*.asmxz*.axdcstt|�jttf|�dS)N)r|rr:rr{)r;r<)r7r>r?r:szVbNetAspxLexer.__init__cCs4t�d|tj�dk	rdSt�d|tj�dk	r0dSdS)NzPage\s*Language="Vb"g�������?zscript[^>]+language=["\']vbg333333�?)rHrvr})rwr>r>r?rxszVbNetAspxLexer.analyse_text)r@rArBrCrDrErFrGr:rxr~r>r>)r7r?rscB@s�eZdZdZdZddgZddgZdgZdd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIgBZedJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcg7Zdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�g+Z	d�Z
d�d�d�gZd�Zd�Z
d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�gZd�ejfd�ejfd�ejfd�ejfgd�efd�ejjfd�ejd�fd�efd�ejfd�ejfd�ed�fd�ed�fd�ed�fd�ed�fd�eeeej�fd�eeeej�fd�eeeej�fd�eeeeeej�fd�dŠe�efd�efd�dŠe	�e fd�e
ee
fe fd�dŠe�e j!fd�dŠe�ej"fd�ej#fd�efd�e$j%fd�e$j&fd�e$j'fd�e$j(fd�e$j)fd�ej*fd�ej*fd�efd�ej+d�fd�ejfg d�efdqefd�ejfd�ed�fd�ed�fe,d׃gd�efd�ed�fd�ed�fd�ed�fd�ed�fd�ed�fd�efgd�efe-d߃d�efd�efd�ed�fgd�efd�efd�efd�ed�fgd�efd�efd�ed�fd�efgd�Z.d�S)�rz`
    For the `F# language <https://fsharp.org/>`_ (version 3.0).

    .. versionadded:: 1.5
    zF#Zfsharpzf#z*.fsz*.fsiz
text/x-fsharpZabstract�as�assert�baseZbeginr/rZdelegatezdo!Zdo�doneZdowncastZdownto�elif�elsers�	exception�extern�false�finally�for�functionZfun�global�ifZinherit�inlineZ	interfaceZinternal�inZlazyzlet!Zlet�match�member�moduleZmutabler0�newZnullZof�open�overrideZprivate�publicZreczreturn!�return�select�static�structZthen�to�true�try�typeZupcastzuse!Zuse�val�voidZwhen�while�withzyield!�yieldZatomic�break�checkedZ	component�constZ
constraint�constructor�continueZeager�eventZexternalZfixedZfunctorr�methodZmixin�object�parallel�processZ	protectedZpureZsealedZtailcallZtraitZvirtualZvolatilez!=�#z&&�&z\(z\)z\*z\+�,z-\.z->�-z\.\.z\.z::z:=z:>�:z;;�;z<-z<\]�<z>\]�>z\?\?z\?z\[<z\[\|z\[z\]�_�`z\{z\|\]z\|z\}�~z<@@z<@�=z@>z@@>z[!$%&*+\./:<=>?@^|~-]�and�or�notz[!?~]z[=<>@^|&+\*/$%-]ZsbyteZbyte�charZ	nativeintZ
unativeintZfloat32Zsingle�floatZdoubleZint8Zuint8Zint16Zuint16Zint32Zuint32Zint64Zuint64ZdecimalZunit�boolrur4Zexn�obj�enumz\\[\\"\'ntbrafv]z
\\[0-9]{3}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{8}z\s+z	\(\)|\[\]z \b(?<!\.)([A-Z][\w\']*)(?=\s*\.)�dottedz\b([A-Z][\w\']*)z///.*?\nz//.*?\nz
\(\*(?!\))r^z@"�lstringz"""�tqsr]z\b(open|module)(\s+)([\w.]+)z\b(let!?)(\s+)(\w+)z\b(type)(\s+)(\w+)z&\b(member|override)(\s+)(\w+)(\.)(\w+)z\b(%s)\b�|z``([^`\n\r\t]|`[^`\n\r\t])+``z(%s)z
(%s|%s)?%sz3#[ \t]*(if|endif|else|line|nowarn|light|\d+)\b.*?\nz
[^\W\d][\w']*z\d[\d_]*[uU]?[yslLnQRZINGmM]?z-0[xX][\da-fA-F][\da-fA-F_]*[uU]?[yslLn]?[fF]?z0[oO][0-7][0-7_]*[uU]?[yslLn]?z0[bB][01][01_]*[uU]?[yslLn]?z/-?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)[fFmM]?z9'(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'B?z'.'�'z@?"z[~?][a-z][\w\']*:z[A-Z][\w\']*(?=\s*\.)z[A-Z][\w\']*z#popz
[a-z_][\w\']*z	[^(*)@"]+z\(\*z#pushz\*\)z[(*)@]z[^\\"]+zescape-sequencez\\\nz\nz"B?z[^"]+z""z"""B?)zescape-sequencer2r�r^rur�r�N)/r@rArBrCrDrErFrG�keywordsZkeyoptsZ	operatorsZword_operatorsZprefix_symsZ
infix_symsZ
primitivesrZEscaperrrcZPseudor\ZDocrrVrrrzr[r
rT�joinr
rarZrYrrhrgrf�BinrerXrdrrr5r>r>r>r?rs�







)'rCrHZpygments.lexerrrrrrrrr	Zpygments.tokenr
rrr
rrrrrrZ
pygments.utilrr�pygmentsrrMZpygments.lexers.htmlr�__all__rrrrr{rrrr>r>r>r?�<module>
s"(0
r Cm