B
    `a[:%                 @   sz   d Z ddlmZmZmZ ddlmZmZmZm	Z	m
Z
mZmZ dddgZG dd deZG dd deZG d	d deZd
S )z
    pygments.lexers.d
    ~~~~~~~~~~~~~~~~~

    Lexers for D languages.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludewords)TextCommentKeywordNameStringNumberPunctuationDLexer	CrocLexer
MiniDLexerc            $   @   s`  e Zd ZdZdZddgZdgZdgZdefdefd	e	j
fd
e	jfde	jdfedddefedddejfdejfedd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jfdej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d#fd$ed%fd&ed'fd(ed)fd*efd+efd,ed-fd.ejfd/efd0efd1e	jfg#d2e	jfde	jd3fd4e	jd5fd6e	jfgd7ed8fd9ed5fed:gd7ed3fd9ed5fed:gd;efd<ed=fd>ed5fgd;efd<ed3fd?ed5fgd@efdAedBfdCed5fgd@efdAed3fdDed5fgdEefdFedGfdHed5fgdEefdFed3fdIed5fgdJefd7edKfdLed5fgdJefd7ed3fd9ed5fgdMZ dNS )Or   z2
    For D source.

    .. versionadded:: 1.2
    Dz*.dz*.didztext/x-dsrcz\nz\s+z	//(.*?)\nz/(\\\n)?[*](.|\n)*?[*](\\\n)?/z/\+nested_comment)NZabstractaliasZalignZasmassertautoZbodybreakcasecastcatchclassZconstcontinuedebugdefaultZdelegatedeleteZ
deprecateddoelseenumZexportZexternfinallyfinalZforeach_reverseforeachforfunctionZgotoifZ	immutableimportZ	interfaceZ	invariantZinoutinisZlazyZmixinmodulenewZnothrowoutoverridepackageZpragmaZprivateZ	protectedZpublicZpurerefreturnscopeZsharedZstaticZstructsuperswitchZsynchronizedtemplatethisthrowtryZtypedefZtypeidZtypeofunionZunittestversionZvolatilewhilewithZ	__gsharedZ__traitsZ__vectorZ__parametersz\b)suffix)boolZbyteZcdoubleZcentZcfloatcharZcrealZdcharZdoublefloatZidoubleZifloatintZirealZlongrealZshortZubyteZucentZuintZulongZushortZvoidZwcharz(false|true|null)\b)Z__FILE__Z
__MODULE__Z__LINE__Z__FUNCTION__Z__PRETTY_FUNCTION__Z__DATE__Z__EOF__Z__TIME__Z__TIMESTAMP__Z
__VENDOR__Z__VERSION__zmacro\bz+(string|wstring|dstring|size_t|ptrdiff_t)\bzL0[xX]([0-9a-fA-F_]*\.[0-9a-fA-F_]+|[0-9a-fA-F_]+)[pP][+\-]?[0-9_]+[fFL]?[i]?zI[0-9_]+(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*|[eE][+\-]?[0-9_]+)[fFL]?[i]?z0\.(0|[1-9][0-9_]*)([eE][+\-]?[0-9_]+)?[fFL]?[i]?z0[Bb][01_]+z0[0-7_]+z0[xX][0-9a-fA-F_]+z$(0|[1-9][0-9_]*)([LUu]|Lu|LU|uL|UL)?za'(\\['"?\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|\\&\w+;|.)'zr"[^"]*"[cwd]?z`[^`]*`[cwd]?z"(\\\\|\\"|[^"])*"[cwd]?zT\\(['\"?\\abfnrtv]|x[0-9a-fA-F]{2}|[0-7]{1,3}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|&\w+;)zx"[0-9a-fA-F_\s]*"[cwd]?zq"\[delimited_bracketzq"\(delimited_parenthesiszq"<delimited_anglezq"\{delimited_curlyzq"([a-zA-Z_]\w*)\n.*?\n\1"zq"(.).*?\1"zq\{token_stringz@([a-zA-Z_]\w*)?z(~=|\^=|%=|\*=|==|!>=|!<=|!<>=|!<>|!<|!>|!=|>>>=|>>>|>>=|>>|>=|<>=|<>|<<=|<<|<=|\+\+|\+=|--|-=|\|\||\|=|&&|&=|\.\.\.|\.\.|/=)|[/.&|\-+<>!()\[\]{}?,;:$=*%^~]z[a-zA-Z_]\w*z#line\s.*\nz[^+/]+z#pushz\+/z#popz[+/]z\{token_string_nestz\}rootz[^\[\]]+z\[delimited_inside_bracketz\]"z\]z[^()]+z\(delimited_inside_parenthesisz\)"z\)z[^<>]+<delimited_inside_anglez>">z[^{}]+delimited_inside_curlyz\}")rH   r   rF   rG   rB   rI   rC   rJ   rD   rL   rE   rN   N)!__name__
__module____qualname____doc__name	filenamesaliases	mimetypesr   r   Single	Multiliner   r   ZTypeConstantZPseudoZReservedr   ZBuiltinr
   FloatBinZOctHexIntegerr	   CharZ	Decoratorr   Specialr   tokens ra   ra   0lib/python3.7/site-packages/pygments/lexers/d.pyr      s   











c               @   s   e Zd ZdZdZdgZdgZdgZdefdefde	j
fd	e	jd
fedd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fdefdefdefdefdefgde	jfd	e	jdfde	jdfde	jfgdZd S )!r   z=
    For `Croc <http://jfbillingsley.com/croc>`_ source.
    ZCrocz*.crocZcrocztext/x-crocsrcz\nz\s+z	//(.*?)\nz/\*nestedcomment)!asr   r   r   r   r   r   r   r   r   r!   r$   r#   r%   global	namespacer&   r'   r(   r)   Zlocalr*   r0   r1   r2   r3   r5   r6   r7   Zvarargr:   r;   yieldz\b)r<   z(false|true|null)\bz<([0-9][0-9_]*)(?=[.eE])(\.[0-9][0-9_]*)?([eE][+\-]?[0-9_]+)?z0[bB][01][01_]*z0[xX][0-9a-fA-F][0-9a-fA-F_]*z([0-9][0-9_]*)(?![.eE])zT'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\[0-9]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|.)'z@"(""|[^"])*"z@`(``|[^`])*`z@'(''|[^'])*'z"(\\\\|\\"|[^"])*"z(~=|\^=|%=|\*=|==|!=|>>>=|>>>|>>=|>>|>=|<=>|\?=|-\>|<<=|<<|<=|\+\+|\+=|--|-=|\|\||\|=|&&|&=|\.\.|/=)|[-/.&$@|\+<>!()\[\]{}?,;:=*%^~#\\]z[a-zA-Z_]\w*z[^*/]+z#pushz\*/z#popz[*/])rH   rc   N)rO   rP   rQ   rR   rS   rT   rU   rV   r   r   rW   rX   r   r   rY   r
   rZ   r[   r\   r]   r	   r^   r   r   r`   ra   ra   ra   rb   r      s@   


c               @   s$   e Zd ZdZdZg ZdgZdgZdS )r   z7
    For MiniD source. MiniD is now known as Croc.
    ZMiniDZminidztext/x-minidsrcN)rO   rP   rQ   rR   rS   rT   rU   rV   ra   ra   ra   rb   r      s
   N)rR   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   __all__r   r   r   ra   ra   ra   rb   <module>
   s   $
 $>