
P_Tc           @   s  d  Z  d d l Z d d l m Z m Z m Z m Z m Z m Z m	 Z	 d d l
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d d l m Z m Z d d l m Z d d l m Z d d	 d
 d d d d g Z d e f d     YZ d	 e f d     YZ d
 e f d     YZ  d e f d     YZ! d e f d     YZ" d e f d     YZ# d e f d     YZ$ d e f d     YZ% d S(   s   
    pygments.lexers.dotnet
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for .net languages.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t
   RegexLexert   DelegatingLexert   bygroupst   includet   usingt   thist   default(
   t   Punctuationt   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Literalt   Other(   t   get_choice_optt	   iteritems(   t	   unistring(   t   XmlLexert   CSharpLexert   NemerleLexert   BooLexert
   VbNetLexert   CSharpAspxLexert   VbNetAspxLexert   FSharpLexerc           B   s  e  Z d  Z d Z d d g Z d g Z d g Z e j e j	 Be j
 BZ i d d 6d e j d	 d
 d d d  d d e j d	 d
 d d d d d d d d 
 d d 6d e j d	 d
 d d d d  d d e j d	 d
 d d d d d d d d d  d d 6Z i  Z e Z xe e  D]\ Z Z i d e d e d e e e  e j e e  f d e j f d  e f d! e f d" e j f d# e j  f d$ e f d% e f d& e f d' e! f d( e! f d) e! j" f d* e# f d+ e j$ f d, e e% e e%  f d- e% f d. e e% e  f d/ e% j& f d0 e e% e  d1 f d2 e e% e  d3 f e e f g d4 6e e j' d5 f e( d5  g d1 6d6 e d5 f d7 e d8 e j) d5 f g d3 6e e <qWd9   Z* RS(:   s  
    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
    s   C#t   csharps   c#s   *.css   text/x-csharps   @?[_a-zA-Z]\w*t   nones   @?[_t   Lut   Llt   Ltt   Lmt   Nlt   ]t   [t   Ndt   Pct   Cft   Mnt   Mcs   ]*t   basics	   @?(?:_|[^t   Los   ])s   [^t   fulls   ^([ \t]*(?:s   (?:\[\])?\s+)+?)(s
   )(\s*)(\()s   ^\s*\[.*?\]s   [^\S\n]+s   \\\ns   //.*?\ns   /[*].*?[*]/s   \ns   [~!%^&*()+=|\[\]:;,.<>/?-]s   [{}]s   @"(""|[^"])*"s   "(\\\\|\\"|[^"\n])*["\n]s   '\\.'|'[^\\]'sA   [0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?|0[xX][0-9a-fA-F]+[Ll]?sZ   #[ \t]*(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b.*?\ns   \b(extern)(\s+)(alias)\bs  (abstract|as|async|await|base|break|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|lock|new|null|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|where|join|equals)\bs   (global)(::)sk   (bool|byte|char|decimal|double|dynamic|float|int|long|object|sbyte|short|string|uint|ulong|ushort|var)\b\??s   (class|struct)(\s+)t   classs   (namespace|using)(\s+)t	   namespacet   roots   #pops   (?=\()t   (s   |\.)+c         K   si   t  | d t |  j  d  } | |  j k rE |  j j |  |  _ n |  j | |  _ t j |  |  d  S(   Nt   unicodelevelR*   (	   R   t   listt   tokenst   _all_tokenst	   __class__t   process_tokendeft   _tokensR    t   __init__(   t   selft   optionst   level(    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR8      s
    (+   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypest   ret	   MULTILINEt   DOTALLt   UNICODEt   flagst   unit   combinet	   allexceptt   levelsR3   t   Truet   token_variantsR   t	   levelnamet   cs_identR   R   R   R   t   FunctionR   R   t	   AttributeR	   t   Singlet	   MultilineR   t   CharR   t   PreprocR   t   Typet   ClassR   t	   NamespaceR8   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR      s\   		T]										)c        "   B   s*  e  Z d  Z d Z d g Z d g Z d g Z e j e j	 Be j
 BZ i d d 6d e j d d	 d
 d d  d d e j d d	 d
 d d d d d d d 
 d d 6d e j d d	 d
 d d d  d d e j d d	 d
 d d d d d d d d  d d 6Z i  Z e Z xe e  D]\ Z Z i d e d e d e e e  e j e e  f d e j f d e f d  e f d! e j f d" e j  f d# e f d$ e! d% f d& e! d' f d( e! d) f d* e d+ e" f d, e" f d- e e f d. e e e  d/ f d0 e f d1 e f d2 e! f d3 e! f d4 e! j# f d5 e$ f d6 e$ f d7 e j% f d8 e e" e e"  f d9 e" f d: e e" e  f d; e" j& f d< e d= e e e" j&  f d> e e" e  d? f d@ e e" e  dA f e e f g dB 6e e j' dC f g d? 6dD e dC f dE e dF e j( dC f g dA 6dG e! f d- e e f d. e e e  d/ f dH e! f dI e! dC f g d% 6dJ e! f d- e e f d. e e e  d/ f d( e! dK f dL e! dC f g d' 6dM e! f d( e! dK f dL e! dC f g d) 6dN e" f dO e f e e f dP e$ f dQ e dK f dR e dC f g d/ 6e e <qWdS   Z) RS(T   s  
    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
    t   Nemerlet   nemerles   *.ns   text/x-nemerles   @?[_a-zA-Z]\w*R   s   @?[_R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   s   ]*R*   s	   @?(?:_|[^R+   s   ])s   [^R,   s   ^([ \t]*(?:s   (?:\[\])?\s+)+?)(s
   )(\s*)(\()s   ^\s*\[.*?\]s   [^\S\n]+s   \\\ns   //.*?\ns   /[*].*?[*]/s   \ns   \$\s*"s   splice-strings   \$\s*<#s   splice-string2s   <#s   recursive-strings	   (<\[)\s*(s   :)?s   \]\>s   \$s   (\$)(\()s   splice-string-contents   [~!%^&*()+=|\[\]:;,.<>/?-]s   [{}]s   @"(""|[^"])*"s   "(\\\\|\\"|[^"\n])*["\n]s   '\\.'|'[^\\]'s   0[xX][0-9a-fA-F]+[Ll]?s*   [0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFLdD]?sZ   #[ \t]*(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma)\b.*?\ns   \b(extern)(\s+)(alias)\bs  (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)\bs   (global)(::)so   (bool|byte|char|decimal|double|float|int|long|object|sbyte|short|string|uint|ulong|ushort|void|array|list)\b\??s	   (:>?)\s*(s   \??)s"   (class|struct|variant|module)(\s+)R-   s   (namespace|using)(\s+)R.   R/   s   #pops   (?=\()R0   s   |\.)+s   [^"$]s   \\"t   "s   [^#<>$]s   #pushs   #>s   [^#<>]s   if|matchs   [~!%^&*+=|\[\]:;,.<>/?-\\"$ ]s   \d+s   \(s   \)c         K   si   t  | d t |  j  d  } | |  j k rE |  j j |  |  _ n |  j | |  _ t j |  |  d  S(   NR1   R*   (	   R   R2   R3   R4   R5   R6   R7   R    R8   (   R9   R:   R;   (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR8     s    	(*   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RF   RG   RH   RI   RJ   RK   R3   RL   RM   R   RN   RO   R   R   R   R   RP   R   R   RQ   R	   RR   RS   R   R   RT   R   RU   RV   RW   RX   R8   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR      s   			T]																					c           B   s  e  Z d  Z d Z d g Z d g Z d g Z i d e f d e j	 f d e j
 d f d	 e f d
 e f d e f d e j f d e j f d e j f d e f d e f d e f d e e e  d f d e e e  d f d e e e  d f d e j f d e j f d e j f d e j	 f d e f d e j f d e f d e j f d  e j f d! e j j f d" e j f g d# 6d e j
 d$ f d% e j
 d& f d' e j
 f d( e j
 f g d 6d e j d& f g d 6d e j d& f g d 6d) e j d& f g d 6Z RS(*   s<   
    For `Boo <http://boo.codehaus.org/>`_ source code.
    t   Boot   boos   *.boos
   text/x-boos   \s+s	   (#|//).*$s   /[*]t   comments   []{}:(),.;[]s   \\\ns   \\s   (in|is|and|or|not)\bs   /(\\\\|\\/|[^/\s])/s   @/(\\\\|\\/|[^/])*/s   =~|!=|==|<<|>>|[-+/*%=<>&^|]sO  (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)\bs   def(?=\s+\(.*?\))s
   (def)(\s+)t   funcnames   (class)(\s+)t	   classnames   (namespace)(\s+)R.   s   (?<!\.)(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)\bs   """(\\\\|\\"|.*?)"""s   "(\\\\|\\"|[^"]*?)"s   '(\\\\|\\'|[^']*?)'s   [a-zA-Z_]\w*s%   (\d+\.\d*|\d*\.\d+)([fF][+-]?[0-9]+)?s   [0-9][0-9.]*(ms?|d|h|s)s   0\d+s   0x[a-fA-F0-9]+s   \d+Ls   \d+R/   s   #pushs   [*]/s   #pops   [^/*]s   [*/]s   [a-zA-Z_][\w.]*(   R<   R=   R>   R?   R@   RA   RB   R   R	   RR   RS   R   R
   t   WordR   t   RegexR   R   R   t   Builtint   DoubleR   t   Floatt   Octt   Hext   Integert   LongRP   RW   RX   R3   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR   +  sR   												c           B   s  e  Z d  Z d Z d d g Z d d g Z d d g Z d e j d	 d
 d d d  d d e j d	 d
 d d d d d d d d 
 d Z	 e
 j e
 j BZ i d e j f d e f d e f d e f d e f d e j f d e f d e j f d e f d e d  f d! e d" f d# e e e  d$ f d% e e e  d& f d' e e e  d( f d) e j f d* e j f d+ e f d, e d- f d. e f e	 d/ e f d0 e j f d1 e j f d2 e j f d3 e j f d4 e j f g d5 6d6 e f d7 e d8 f d9 e f g d- 6e	 e j  d8 f e! d8  g d" 6e	 e j" d8 f g d$ 6e	 e j# d8 f g d& 6e	 e j$ f d: e j$ f e! d8  g d( 6d e f d; e d8 f e! d8  g d  6Z% d<   Z& RS(=   sm   
    For
    `Visual Basic.NET <http://msdn2.microsoft.com/en-us/vbasic/default.aspx>`_
    source code.
    s   VB.nets   vb.nett   vbnets   *.vbs   *.bass   text/x-vbnets
   text/x-vbas   [_R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   s   ]*s	   ^\s*<.*?>s   \s+s   \ns
   rem\b.*?\ns   '.*?\ns   #If\s.*?\sThen|#ElseIf\s.*?\sThen|#Else|#End\s+If|#Const|#ExternalSource.*?\n|#End\s+ExternalSource|#Region.*?\n|#End\s+Region|#ExternalChecksums   [(){}!#,.:]s9   Option\s+(Strict|Explicit|Compare)\s+(On|Off|Binary|Text)s  (?<!\.)(AddHandler|Alias|ByRef|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|CDec|CDbl|CInt|CLng|CObj|Continue|CSByte|CShort|CSng|CStr|CType|CUInt|CULng|CUShort|Declare|Default|Delegate|DirectCast|Do|Each|Else|ElseIf|EndIf|Erase|Error|Event|Exit|False|Finally|For|Friend|Get|Global|GoSub|GoTo|Handles|If|Implements|Inherits|Interface|Let|Lib|Loop|Me|MustInherit|MustOverride|MyBase|MyClass|Narrowing|New|Next|Not|Nothing|NotInheritable|NotOverridable|Of|On|Operator|Option|Optional|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|Select|Set|Shadows|Shared|Single|Static|Step|Stop|SyncLock|Then|Throw|To|True|Try|TryCast|Wend|Using|When|While|Widening|With|WithEvents|WriteOnly)\bs   (?<!\.)End\bt   ends   (?<!\.)(Dim|Const)\bt   dims#   (?<!\.)(Function|Sub|Property)(\s+)R_   s"   (?<!\.)(Class|Structure|Enum)(\s+)R`   s&   (?<!\.)(Module|Namespace|Imports)(\s+)R.   s|   (?<!\.)(Boolean|Byte|Char|Date|Decimal|Double|Integer|Long|Object|SByte|Short|Single|String|Variant|UInteger|ULong|UShort)\bsU   (?<!\.)(AddressOf|And|AndAlso|As|GetType|In|Is|IsNot|Like|Mod|Or|OrElse|TypeOf|Xor)\bsE   &=|[*]=|/=|\\=|\^=|\+=|-=|<<=|>>=|<<|>>|:=|<=|>=|<>|[-&*/\\^+=<>\[\]]R[   t   strings   _\ns	   [%&@!#$]?s   #.*?#s"   (\d+\.\d*|\d*\.\d+)(F[+-]?[0-9]+)?s   \d+([SILDFR]|US|UI|UL)?s   &H[0-9a-f]+([SILDFR]|US|UI|UL)?s   &O[0-7]+([SILDFR]|US|UI|UL)?R/   s   ""s   "C?s   #pops   [^"]+s   \.s?   (Function|Sub|Property|Class|Structure|Enum|Module|Namespace)\bc         C   s    t  j d |  t  j  r d Sd  S(   Ns   ^\s*(#If|Module|Namespace)g      ?(   RC   t   searchRD   (   t   text(    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyt   analyse_text  s    ('   R<   R=   R>   R?   R@   RA   RB   RH   RI   t   uni_nameRC   RD   t
   IGNORECASERG   R   RQ   R   R	   RU   R   R   t   DeclarationR   RV   R
   Ra   R   R   t   DateR   Re   Rh   t   VariableR   RP   RW   RX   R3   Rp   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR   n  sr   S													t   GenericAspxLexerc           B   s   e  Z d  Z d Z g  Z g  Z e j Z i d e	 e
 j e e
 j  f d e	 e e  e e e   f d e e  f d e e  f g d 6Z RS(   s"   
    Lexer for ASP.NET pages.
    s   aspx-gens   (<%[@=#]?)(.*?)(%>)s   (<script.*?>)(.*?)(</script>)s
   (.+?)(?=<)s   .+R/   (   R<   R=   R>   R?   RA   RB   RC   RE   RG   R   R   t   TagR   R   R   R3   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyRv     s   	c           B   sM   e  Z d  Z d Z d g Z d d d d d d g Z g  Z d   Z d	   Z RS(
   s8   
    Lexer for highligting C# within ASP.NET pages.
    s   aspx-css   *.aspxs   *.asaxs   *.ascxs   *.ashxs   *.asmxs   *.axdc         K   s    t  t |   j t t |  d  S(   N(   t   superR   R8   R   Rv   (   R9   R:   (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR8     s    c         C   sH   t  j d |  t  j  d  k	 r" d St  j d |  t  j  d  k	 rD d Sd  S(   Ns   Page\s*Language="C#"g?s   script[^>]+language=["\']C#g333333?(   RC   Rn   t   It   None(   Ro   (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyRp      s    (	   R<   R=   R>   R?   R@   RA   RB   R8   Rp   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR     s   		c           B   sM   e  Z d  Z d Z d g Z d d d d d d g Z g  Z d   Z d	   Z RS(
   sF   
    Lexer for highligting Visual Basic.net within ASP.NET pages.
    s   aspx-vbs   *.aspxs   *.asaxs   *.ascxs   *.ashxs   *.asmxs   *.axdc         K   s    t  t |   j t t |  d  S(   N(   Rx   R   R8   R   Rv   (   R9   R:   (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR8     s    c         C   sH   t  j d |  t  j  d  k	 r" d St  j d |  t  j  d  k	 rD d Sd  S(   Ns   Page\s*Language="Vb"g?s   script[^>]+language=["\']vbg333333?(   RC   Rn   Ry   Rz   (   Ro   (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyRp     s    (	   R<   R=   R>   R?   R@   RA   RB   R8   Rp   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR     s   		c        B   B   s  e  Z d  Z d Z d g Z d d g Z d g 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 d d  d! d" d# d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG gB Z e dH dI dJ dK dL dM dN dO dP dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da g 7Z db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz d{ d| d} d~ d d d d d d d d d d d d d d g+ Z d Z	 d d d g Z
 d 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 g Z i d e j f d e j f d e j f d e j f g d 6d e f d e j j f d e j d f d e f d e j f d e j f d e d f d e d f d e d f d e d f d e e e e j  f d e e e e j  f d e e e e j  f d e e e e e e j  f d d j e  e f d d j e  e f d e e e	 f e f d d j e
  e j  f d d j e  e j! f d e j" f d e f d e# j$ f d e# j% f d e# j& f d e# j' f d e# j( f d e j) f d e j) f d e f d e j* d f d e j f g d 6d e f do e f d e j f d e d f d e d f e+ d  g d 6d e f d e d f d e d f d e d f d e d f d e d f d e f g d 6d e f e, d  d e f d e f d e d f g d 6d e f d e f d e f d e d f g d 6d e f d e f d e d f d e f g d 6Z- RS(   s   
    For the F# language (version 3.0).

    AAAAACK Strings
    http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.html#_Toc335818775

    .. versionadded:: 1.5
    t   FSharpt   fsharps   *.fss   *.fsis   text/x-fsharpt   abstractt   ast   assertt   baset   beginR-   R   t   delegates   do!t   dot   donet   downcastt   downtot   elift   elseRk   t	   exceptiont   externt   falset   finallyt   fort   functiont   funt   globalt   ift   inheritt   inlinet	   interfacet   internalt   int   lazys   let!t   lett   matcht   membert   modulet   mutableR.   t   newt   nullt   oft   opent   overridet   privatet   publict   recs   return!t   returnt   selectt   statict   structt   thent   tot   truet   tryt   typet   upcasts   use!t   uset   valt   voidt   whent   whilet   withs   yield!t   yieldt   atomict   breakt   checkedt	   componentt   constt
   constraintt   constructort   continuet   eagert   eventt   externalt   fixedt   functorR   t   methodt   mixint   objectt   parallelt   processt	   protectedt   puret   sealedt   tailcallt   traitt   virtualt   volatiles   !=t   #s   &&t   &s   \(s   \)s   \*s   \+t   ,s   -\.s   ->t   -s   \.\.s   \.s   ::s   :=s   :>t   :s   ;;t   ;s   <-s   <\]t   <s   >\]t   >s   \?\?s   \?s   \[<s   \[\|s   \[s   \]t   _t   `s   \{s   \|\]s   \|s   \}t   ~s   <@@s   <@t   =s   @>s   @@>s   [!$%&*+\./:<=>?@^|~-]t   andt   ort   nots   [!?~]s   [=<>@^|&+\*/$%-]t   sbytet   bytet   chart	   nativeintt
   unativeintt   float32t   singlet   floatt   doublet   int8t   uint8t   int16t   uint16t   int32t   uint32t   int64t   uint64t   decimalt   unitt   boolRm   R2   t   exnt   objt   enums   \\[\\"\'ntbrafv]s
   \\[0-9]{3}s   \\u[0-9a-fA-F]{4}s   \\U[0-9a-fA-F]{8}s   escape-sequences   \s+s	   \(\)|\[\]s    \b(?<!\.)([A-Z][\w\']*)(?=\s*\.)t   dotteds   \b([A-Z][\w\']*)s   ///.*?\ns   //.*?\ns
   \(\*(?!\))R^   s   @"t   lstrings   """t   tqsR[   s   \b(open|module)(\s+)([\w.]+)s   \b(let!?)(\s+)(\w+)s   \b(type)(\s+)(\w+)s&   \b(member|override)(\s+)(\w+)(\.)(\w+)s   \b(%s)\bt   |s   (%s)s
   (%s|%s)?%ss3   #[ \t]*(if|endif|else|line|nowarn|light|\d+)\b.*?\ns   [^\W\d][\w']*s   \d[\d_]*[uU]?[yslLnQRZINGmM]?s-   0[xX][\da-fA-F][\da-fA-F_]*[uU]?[yslLn]?[fF]?s   0[oO][0-7][0-7_]*[uU]?[yslLn]?s   0[bB][01][01_]*[uU]?[yslLn]?s/   -?\d[\d_]*(.[\d_]*)?([eE][+\-]?\d[\d_]*)[fFmM]?s9   '(?:(\\[\\\"'ntbr ])|(\\[0-9]{3})|(\\x[0-9a-fA-F]{2}))'B?s   '.'t   's   @?"s   [~?][a-z][\w\']*:R/   s   [A-Z][\w\']*(?=\s*\.)s   [A-Z][\w\']*s   #pops   [a-z_][\w\']*s	   [^(*)@"]+s   \(\*s   #pushs   \*\)s   [(*)@]s   [^\\"]+s   \\\ns   \ns   "B?s   [^"]+s   ""s   """B?(.   R<   R=   R>   R?   R@   RA   RB   t   keywordst   keyoptst	   operatorst   word_operatorst   prefix_symst
   infix_symst
   primitivesR   t   EscapeR   R   Rc   t   PseudoRX   t   DocR	   RR   R   R   Ru   RW   R   RP   t   joinR
   Ra   RV   RU   R   Rh   Rg   Rf   t   BinRe   RT   Rd   R   R   R3   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyR     s   		!*																			(&   R>   RC   t   pygments.lexerR    R   R   R   R   R   R   t   pygments.tokenR   R   R	   R
   R   R   R   R   R   R   t   pygments.utilR   R   t   pygmentsR   RH   t   pygments.lexers.htmlR   t   __all__R   R   R   R   Rv   R   R   R   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/dotnet.pyt   <module>
   s    4FrCl