o
    ‡ÎÖas&  ã                   @   s€   d Z ddl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 g d¢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-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚwordsÚbygroups)ÚTextÚCommentÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
Whitespace)ÚDLexerÚ	CrocLexerÚ
MiniDLexerc                   @   sÊ  e Zd ZdZdZddgZdgZdgZg def‘def‘d	e	e
jeƒf‘d
e
jf‘de
jdf‘eddd�ef‘eddd�ej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‘d0ef‘d1ef‘d2e	e
j ee
j eƒf‘d3e
jfde
jd4fd5e
jd6fd7e
jfgd8ed9fd:ed6fe!d;ƒgd8ed4fd:ed6fe!d;ƒgd<efd=ed>fd?ed6fgd<efd=ed4fd@ed6fgdAefdBedCfdDed6fgdAefdBed4fdEed6fgdFefdGedHfdIed6fgdFefdGed4fdJed6fgdKefd8edLfdMed6fgdKefd8ed4fd:ed6fgdNœZ"dOS )Pr   z2
    For D source.

    .. versionadded:: 1.2
    ÚDz*.dz*.diÚdztext/x-dsrcú\nú\s+ú(//.*?)(\n)z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z/\+Únested_comment)MÚabstractÚaliasÚalignÚasmÚassertÚautoÚbodyÚbreakÚcaseÚcastÚcatchÚclassÚconstÚcontinueÚdebugÚdefaultÚdelegateÚdeleteÚ
deprecatedÚdoÚelseÚenumÚexportÚexternÚfinallyÚfinalÚforeach_reverseÚforeachÚforÚfunctionÚgotoÚifÚ	immutableÚimportÚ	interfaceÚ	invariantÚinoutÚinÚisÚlazyÚmixinÚmoduleÚnewÚnothrowÚoutÚoverrideÚpackageÚpragmaÚprivateÚ	protectedÚpublicÚpureÚrefÚreturnÚscopeÚsharedÚstaticÚstructÚsuperÚswitchÚsynchronizedÚtemplateÚthisÚthrowÚtryÚtypeidÚtypeofÚunionÚunittestÚversionÚvolatileÚwhileÚwithÚ	__gsharedÚ__traitsÚ__vectorÚ__parametersú\b©Úsuffix)Útypedef)ÚboolÚbyteÚcdoubleÚcentÚcfloatÚcharÚcrealÚdcharÚdoubleÚfloatÚidoubleÚifloatÚintÚirealÚlongÚrealÚshortÚubyteÚucentÚuintÚulongÚushortÚvoidÚwcharú(false|true|null)\b)Ú__FILE__Ú__FILE_FULL_PATH__Ú
__MODULE__Ú__LINE__Ú__FUNCTION__Ú__PRETTY_FUNCTION__Ú__DATE__Ú__EOF__Ú__TIME__Ú__TIMESTAMP__Ú
__VENDOR__Ú__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)(.*)(\n)z[^+/]+ú#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\}")r–   r   r‘   r•   r�   r—   rŽ   r˜   r�   rš   r�   rœ   N)#Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚ	filenamesÚaliasesÚ	mimetypesr   r   r   ÚSingleÚ	Multiliner   r   ÚRemovedÚTypeÚConstantÚPseudoÚReservedr	   ÚBuiltinr   ÚFloatÚBinÚOctÚHexÚIntegerr
   ÚCharÚ	Decoratorr   ÚSpecialr   Útokens© r¶   r¶   ú3/usr/lib/python3/dist-packages/pygments/lexers/d.pyr      s4   ÿþûú
ù	óò÷ýüèüûã#Ý$ýüÜ)×*Ö-ÿÓ0ÿÐ2Î5Ë7É9Ç;Å=þÃB¾D¼FºHþ¸L´N²O±P°Q¯R®S­U«W©Yþ§]£
_ÿ¡c

üýýýýýýýýýý �
ér   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	e
jeƒ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.
    ÚCrocz*.crocÚcrocztext/x-crocsrcr   r   r   z/\*Únestedcomment)!Úasr   r   r   r!   r"   r$   r&   r*   r+   r/   r3   r2   r4   ÚglobalÚ	namespacer6   r8   r<   r=   Úlocalr@   rL   rM   rQ   rR   rU   rV   rW   Úvarargr^   r_   Úyieldrd   re   r€   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‡(~=|\^=|%=|\*=|==|!=|>>>=|>>>|>>=|>>|>=|<=>|\?=|-\>|<<=|<<|<=|\+\+|\+=|--|-=|\|\||\|=|&&|&=|\.\.|/=)|[-/.&$@|\+<>!()\[\]{}?,;:=*%^~#\\]r’   z[^*/]+r“   z\*/r”   z[*/])r–   rº   N)r�   rž   rŸ   r    r¡   r¢   r£   r¤   r   r   r   r¥   r¦   r   r   r©   r   r­   r®   r°   r±   r
   r²   r   r	   rµ   r¶   r¶   r¶   r·   r   »   sP    
ûúÿþþ×,

ü
Ôr   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.
    ÚMiniDÚminidztext/x-minidsrcN)r�   rž   rŸ   r    r¡   r¢   r£   r¤   r¶   r¶   r¶   r·   r   ù   s    
r   N)r    Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   r   r   r¶   r¶   r¶   r·   Ú<module>   s    
( *>