U
    `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-dsrc\n\s+	//(.*?)\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__parameters\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wchar(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(~=|\^=|%=|\*=|==|!>=|!<=|!<>=|!<>|!<|!>|!=|>>>=|>>>|>>=|>>|>=|<>=|<>|<<=|<<|<=|\+\+|\+=|--|-=|\|\||\|=|&&|&=|\.\.\.|\.\.|/=)|[/.&|\-+<>!()\[\]{}?,;:$=*%^~][a-zA-Z_]\w*z#line\s.*\nz[^+/]+#pushz\+/#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\}")rQ   r   rL   rP   rH   rR   rI   rS   rJ   rU   rK   rW   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 rj   rj   3/usr/lib/python3/dist-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-crocsrcr   r   r   z/\*nestedcomment)!asr   r   r   r   r   r   r   r!   r"   r$   r'   r&   r(   global	namespacer)   r*   r+   r,   Zlocalr-   r3   r4   r5   r6   r8   r9   r:   Zvarargr=   r>   yieldr?   r@   rG   z<([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(~=|\^=|%=|\*=|==|!=|>>>=|>>>|>>=|>>|>=|<=>|\?=|-\>|<<=|<<|<=|\+\+|\+=|--|-=|\|\||\|=|&&|&=|\.\.|/=)|[-/.&$@|\+<>!()\[\]{}?,;:=*%^~#\\]rM   z[^*/]+rN   z\*/rO   z[*/])rQ   rl   N)rX   rY   rZ   r[   r\   r]   r^   r_   r   r   r`   ra   r   r   rb   r
   rc   rd   re   rf   r	   rg   r   r   ri   rj   rj   rj   rk   r      sN   
,

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)rX   rY   rZ   r[   r\   r]   r^   r_   rj   rj   rj   rk   r      s
   N)r[   Zpygments.lexerr   r   r   Zpygments.tokenr   r   r   r   r	   r
   r   __all__r   r   r   rj   rj   rj   rk   <module>   s   
$
 $>