a
    ;@b(                     @   sj   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gZdZdZdZdZG d	d deZd
S )z
    pygments.lexers.webidl
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Web IDL, including some extensions.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerdefaultincludewords)CommentKeywordNameNumberPunctuationStringTextWebIDLLexer)ZbyteZoctetZbooleanz*(?:unsigned\s+)?(?:short|long(?:\s+long)?)z$(?:unrestricted\s+)?(?:float|double)Z	DOMString
ByteStringZ	USVStringErrorZDOMExceptionZ
Uint8ArrayZUint16ArrayZUint32ArrayZUint8ClampedArrayZFloat32ArrayZFloat64ArrayZArrayBufferZDataViewZ	Int8ArrayZ
Int16ArrayZ
Int32ArrayanyZvoidobjectZRegExpz_?[A-Za-z][a-zA-Z0-9_-]*z	(?![\w-])z"[^"]*"c                *   @   s  e Zd ZdZdZdgZdgZdefdej	fdej
fdejfged	d
edfde efde edfde edfde edfde edfde edfde edfeejdfg
ed	defeejfdedfdedfded fged	eed!feefded"fed ged	dedfed ged	d#ed fed$ged	d%e efd
edfded fd#ed&fed'ged	eejfd(efded)fed ged	eejfdefd#ed fged	d*d+e d, e ejd-fed.ed/ejd0feejd0fded1fged	d2e efd#ed3fed4gd5ed6fed3gd7efed&ged	ed8eed fd9ed fged	ed:ed/ejd fd;ejd fd<ejd fd=ej d fd>ej!d fged	eejfd?ed fged	eej"fd@edAfd?ed fged	d
edfdBe efdCe edDfdEe edFfdGed fedHged	eejfdIefd@edJfd?ed fgedKed/edLfedMed/efdNe edOfd?efedAged	eejfd?ed fged	eejfded8fd?ed fged	d?ed fedPged	eej#fdedfd?ed&fged	d5ed6fd?ed fged	defdQed fed4ged	dedRfd?ed fedPged	eejd fd@edSfd
edTfged	edUed/efdefeejfdGed&fged	edVed/efdefeejfdWed&fged	eejfd@edXfd?ed fged	eefdefdGed fged	de edYfeejfdedZfd?ed fged	eejfdIefd@ed[fd?ed fged	d
edfd\e efdGed fed]ged	eejfded)fd?ed fged	d^e efeejfd?ed fgd_%Z$d`S )ar   z1
    For Web IDL.

    .. versionadded:: 2.6
    zWeb IDLZwebidlz*.webidlz\s+z(?s)/\*.*?\*/z//.*z^#.*commonz\[extended_attributespartialtypedef)r   typeZ	interfaceinterface_restenum	enum_restcallbackcallback_restZ
dictionarydictionary_rest	namespacenamespace_restimplements_rest,=extended_attribute_restz\(argument_listz\]#popextended_attribute_named_restidentifier_listz\)argumentZoptionalz#pop:2)argument_restr   z\.\.\.default_valuez(?:|)	type_null)ZsequenceZPromiseZFrozenArray)suffixtype_identifier
union_typeor)r$   r,   r   <	type_listz\?const_valuez\[\s*\])trueZfalsez	-InfinityZInfinityZNaNZnullzQ-?(?:(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:[Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)z-?[1-9][0-9]*z-?0[Xx][0-9A-Fa-f]+z	-?0[0-7]*;z\{namespace_bodyreadonly	attribute)attribute_restr   const)
const_restr   z\})operation_restr   :interface_body)iterableZmaplikeZsetlikeiterable_maplike_setlike_rest)	settergetterZcreatordeleterZlegacycallerinheritZstaticZstringifierZ	jsonifierZ
serializerserializer_rest	operation>serialization_patternserialization_pattern_mapserialization_pattern_list)rB   rD   r8   )rB   r8   ]	enum_body)r$   r   )rF   r   dictionary_bodyrequired)dictionary_itemr   Z
implements)%r   rootr   r"   r%   r#   r'   r(   r&   r   r/   r.   r,   r)   r3   r   r   r6   r   r>   r9   r;   r<   rF   r@   r2   rE   rH   rI   rJ   r   rL   r   r   rM   rO   r   N)%__name__
__module____qualname____doc__namealiases	filenamesr   r   Z	MultilineSingleZPreprocr   r
   _keyword_suffixr   _identifierr   ZClassZ	Decorator_stringr   r   ZVariablejoin_builtin_typesTyper   ZConstantr	   ZFloatZIntegerZHexZOct	NamespaceZFunctiontokens ra   ra   5lib/python3.9/site-packages/pygments/lexers/webidl.pyr   '   s  

	
	








		

 N)rT   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   __all__r]   rZ   rY   r[   r   ra   ra   ra   rb   <module>   s   
$