B
    (d&                 @   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 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-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludewordsbygroups)CommentKeywordNameStringNumberPunctuation
WhitespaceDLexer	CrocLexer
MiniDLexerc            )   @   s  e Zd 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
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d0ejfd1e fd2efd3e
ej!e	ej!e	fg$d4ejfdejd5fd6ejd7fd8ejfgd9e d:fd;ed7fe"d<gd9e d5fd;e d7fe"d<gd=efd>ed?fd@ed7fgd=efd>ed5fdAed7fgdBefdCedDfdEed7fgdBefdCed5fdFed7fgdGefdHedIfdJed7fgdGefdHed5fdKed7fgdLefd9edMfdNed7fgdLefd9ed5fd;ed7fgdOZ#dPS )Qr   z2
    For D source.

    .. versionadded:: 1.2
    Dzhttps://dlang.org/z*.dz*.didztext/x-dsrcz\nz\s+z(//.*?)(\n)z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z/\+nested_comment)MZabstractaliasalignasmassertautobodybreakcasecastcatchclassconstcontinuedebugdefaultZdelegatedelete
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pragmaprivateZ	protectedpublicZpurerefreturnscopeZsharedZstaticstructsuperswitchZsynchronizedtemplatethisthrowtryZtypeidZtypeofunionZunittestversionZvolatilewhilewithZ	__gsharedZ__traitsZ__vectorZ__parametersz\b)suffix)Ztypedef)boolbyteZcdoublecentZcfloatcharZcrealZdchardoublefloatZidoubleZifloatintZireallongrealshortZubyteZucentZuintZulongZushortvoidZwcharz(false|true|null)\b)Z__FILE__Z__FILE_FULL_PATH__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)(.*)(\n)z[^+/]+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\}")rW   r   rU   rV   rQ   rX   rR   rY   rS   r[   rT   r]   N)$__name__
__module____qualname____doc__nameurl	filenamesaliases	mimetypesr   r   r   Single	Multiliner   r   ZRemovedTypeConstantPseudoReservedr   Builtinr
   FloatBinOctHexIntegerr	   Char	Decoratorr   Specialr   tokens rw   rw   ^/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-packages/pygments/lexers/d.pyr      s   











c               @   s   e Zd 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 source.
    Croczhttp://jfbillingsley.com/crocz*.croccrocztext/x-crocsrcz\nz\s+z(//.*?)(\n)z/\*nestedcomment)!asr   r   r   r   r   r   r!   r$   r%   r'   r*   r)   r+   global	namespacer,   r-   r.   r/   localr0   r8   r9   r;   r<   r>   r?   r@   varargrC   rD   yieldz\b)rE   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[*/])rW   r{   N)r^   r_   r`   ra   rb   rc   rd   re   rf   r   r   r   rg   rh   r   r   rj   r
   rn   ro   rq   rr   r	   rs   r   r   rv   rw   rw   rw   rx   r      sB   


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`   ra   rb   rd   re   rf   rw   rw   rw   rx   r      s
   N)ra   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   __all__r   r   r   rw   rw   rw   rx   <module>	   s   $
 +?