a
    ;@bq                     @   s0  d Z ddlZddlmZmZ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mZ ddlmZmZ ddlmZ g dZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZ!G dd deZ"G dd deZ#dS )z
    pygments.lexers.c_like
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for other C-like languages.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsinheritwordsdefault)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespace)CLexerCppLexer)_mql_builtins)	PikeLexer	NesCLexer	ClayLexerECLexer	ValaLexer	CudaLexer	SwigLexerMqlLexerArduinoLexerCharmciLexerOmgIdlLexerc                   @   sp   e Zd ZdZdZdgZddgZdgZeddd	e	fd
e	j
fdee	edfdefegdejdfdedfgdZdS )r   z[
    For `Pike <http://pike.lysator.liu.se/>`_ source code.

    .. versionadded:: 2.0
    ZPikeZpikez*.pikez*.pmodztext/x-pike)=catchnewprivate	protectedpublicZgaugethrowthrowsclass	interfaceZ	implementabstractextendsfromthissuperZconstantfinalstaticimportZuseexterninlineprotobreakcontinueifelseforwhiledoswitchcaseasinversionreturntruefalseZnullZ__VERSION__Z	__MAJOR__Z	__MINOR__Z	__BUILD__Z__REAL_VERSION__Z__REAL_MAJOR__Z__REAL_MINOR__Z__REAL_BUILD__Z__DATE__Z__TIME__Z__FILE__Z__DIR__Z__LINE__Z__AUTO_BIGNUM__Z__NT__Z__PIKE__Z__amigaos__Z_Pragmastatic_assertZdefinedZsscanf\bsuffixz(bool|int|long|float|short|double|char|string|object|void|mapping|array|multiset|program|function|lambda|mixed|[a-z_][a-z0-9_]*_t)\b(class)(\s+)	classnamez[~!%^&*+=|?:<>/@-][a-zA-Z_]\w*#popz\s*(?=>))
statementsrG   N)__name__
__module____qualname____doc__namealiases	filenames	mimetypesr   r   Typer   r   r
   r   r   Classtokens rV   rV   5lib/python3.9/site-packages/pygments/lexers/c_like.pyr      s*   	

r   c                   @   sN   e Zd ZdZdZdgZdgZdgZdeddd	e	fed
dd	e	j
fegiZdS )r   z
    For `nesC <https://github.com/tinyos/nesc>`_ source code with preprocessor
    directives.

    .. versionadded:: 2.0
    ZnesCZnescz*.ncztext/x-nescsrcrJ   )r(   r<   asyncZatomiccallZcommand	component
componentsZconfigurationZeventr)   ZgenericimplementationZincludesr'   moduler    ZnoraceZpostprovidessignalZtaskusesrC   rD   )
Z	nx_structZnx_unionZ	nx_int8_tZ
nx_int16_tZ
nx_int32_tZ
nx_int64_tZ
nx_uint8_tZnx_uint16_tZnx_uint32_tZnx_uint64_tN)rK   rL   rM   rN   rO   rP   rQ   rR   r   r   rS   r   rU   rV   rV   rV   rW   r   B   s&   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	j
fde	jfd	efd
efdefdejfdejfdejfdefdedfdedfgdejfdefgdefgdedfedgdedfededgdZdS )r   zT
    For `Clay <http://claylabs.com/clay/>`_ source.

    .. versionadded:: 2.0
    ZClayz*.clayZclayztext/x-clay\s+z//.*?$/(\\\n)?[*](.|\n)*?[*](\\\n)?/aK  \b(public|private|import|as|record|variant|instance|define|overload|default|external|alias|rvalue|ref|forward|inline|noinline|forceinline|enum|var|and|or|not|if|else|goto|return|while|switch|case|break|continue|for|in|true|false|try|catch|throw|finally|onerror|staticassert|eval|when|newtype|__FILE__|__LINE__|__COLUMN__|__ARG__)\bz[~!%^&*+=|:<>/-]z[#(){}\[\],;.]z0x[0-9a-fA-F]+[LlUu]*z
\d+[LlUu]*z\b(true|false)\bz(?i)[a-z_?][\w?]*z"""tdqs"dqsz(?i)\\(x[0-9a-f]{2}|.).\nrI   stringsnl)rootrh   ri   re   rc   N)rK   rL   rM   rN   rO   rQ   rP   rR   r   r	   Single	Multiliner   r
   r   r   HexIntegerr   Builtinr   Escaper   rU   rV   rV   rV   rW   r   _   sB   r   c                   @   sh   e Zd ZdZdZdgZddgZddgZded	d
de	fedd
de	j
fdee	edfdejfegiZdS )r   zU
    For eC source code with preprocessor directives.

    .. versionadded:: 1.5
    ZeCZecz*.ecz*.ehztext/x-echdrztext/x-ecsrcrJ   )+virtualr&   r!   r#   propertyr/   deleter    Znew0ZrenewZrenew0ZdefinegetsetZremoteZ	dllexportZ	dllimportZstdcallsubclassZ__on_register_module	namespaceusingZtyped_objectZ
any_objectZincrefregisterZwatchZstopwatchingZfirewatchersZ	watchableZclass_designerZclass_fixedZclass_no_expansionZissetZclass_default_propertyZproperty_categoryZ
class_dataZclass_propertyZ	thisclassZdbtableZdbindexZdatabase_openZdbfieldrC   rD   )uintuint16uint32uint64boolbyteunicharint64rF   rG   z(null|value|this)\bN)rK   rL   rM   rN   rO   rP   rQ   rR   r   r   rS   r   r   r   ro   r   rU   rV   rV   rV   rW   r      s*   		
r   c                   @   s  e Zd ZdZdZddgZddgZdgZdej	d	fd
e
fde
fdefdejfdejfgdedfdejf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fdeeejefdeeejfdefedddefedddejfd eeje
d!fd"eeje
d#fd$eeejfed%ddejfd&ej fd'efge!d(e"d)ge!d(e!d*d+efd,ed-fgd.ed-fd/ej#fd0efdefd1efgd2ej	d3fd4ej	d-fd5ej	d-fd6efgd'ej$d-fgd7ejd-fgd8Z%d9S ):r   zW
    For Vala source code with preprocessor directives.

    .. versionadded:: 1.1
    ZValaZvalaZvapiz*.valaz*.vapiztext/x-valaz^\s*#if\s+0if0rg   ra   z\\\nz//(\n|(.|\n)*?[^\\]\n)rb   z[L@]?"stringz4L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'z(?s)""".*?"""z%(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z0x[0-9a-fA-F]+[Ll]?z0[0-7]+[Ll]?z\d+[Ll]?z[~!%^&*+=|?:<>/-]z2(\[)(Compact|Immutable|(?:Boolean|Simple)Type)(\])z$(\[)(CCode|(?:Integer|Floating)Type)z
[()\[\],.])!r<   baser3   r;   r   Z	constructr4   r   rs   r9   r6   enumfinallyr7   Zforeachrt   r5   r=   islockr    outparamsr?   ru   sizeofr:   r+   r$   tryZtypeofr8   yieldrC   rD   )r(   constZdelegateZdynamicZensuresr0   r1   ZinternaloverrideZownedr!   r"   r#   refZrequiresr_   r.   r%   Zunownedvarrq   volatileZweakZyieldsz(namespace|using)(\s+)rw   z)(class|errordomain|interface|struct)(\s+)r&   z(\.)([a-zA-Z_]\w*))voidr~   chardoublefloatintint8int16int32r   longshortZsize_tZssize_tr   Ztime_tZucharrz   uint8r{   r|   r}   Zulongr   Zushortz(true|false|null)\brH   
whitespace	statementrJ   z[{}];rI   rd   z/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})z	[^\\"\n]+z\\z^\s*#if.*?(?<!\\)\n#pushz^\s*#el(?:se|if).*\nz^\s*#endif.*?(?<!\\)\nz.*?\nz[a-zA-Z_][\w.]*)r   rJ   rj   r   r   r   r&   rw   N)&rK   rL   rM   rN   rO   rP   rQ   rR   r	   Preprocr   r   rk   rl   r   Charr   Floatrm   Octrn   r
   r   r   r   	Decoratorr   r   Declaration	NamespaceZ	AttributerS   ro   r   r   rp   rT   rU   rV   rV   rV   rW   r      s   
	

/




r   c                   @   sb   e Zd ZdZdZddgZddgZdgZh dZh d	Z	h d
Z
h dZh dZddhZdd ZdS )r   u|   
    For NVIDIA `CUDA™ <http://developer.nvidia.com/category/zone/cuda-zone>`_
    source.

    .. versionadded:: 1.6
    ZCUDAz*.cuz*.cuhZcudaZcuztext/x-cuda>   Z__forceinline__Z__noinline__
__device__Z
__global__Z__host__>   Z
__shared__r   Z__restrict__Z__constant__>+   Zshort3Zint3Zshort2Zshort4Zuchar2Zfloat3Zfloat4Zushort1Zchar3Zchar4Zushort4Zdouble2Zulong3Zint2Zulong1Zushort2Zchar1Z
ulonglong1Zulong4Zint4Zdouble1Zuint1Zshort1Zuint2Zfloat2Z	longlong1Zlong1Zulong2Zushort3Zchar2Zuchar4Zint1Zuint3Zlong2Z
ulonglong2Zdim3Zfloat1Zuchar3Z	longlong2Zuchar1Zuint4Zlong3Zlong4>   ZgridDimZwarpSizeZ	threadIdxZblockIdxZblockDim>   Z__threadfenceZ__syncthreads_countZ__threadfence_blockZ__syncthreads_orZ__syncthreadsZ__syncthreads_andZ__threadfence_systemz<<<z>>>c                 c   s   t | |D ]\}}}|tu r|| jv r0tj}nX|| jv rBtj}nF|| jv rTtj}n4|| j	v rftj
}n"|| jv rxtj}n|| jv rtj}|||fV  qd S N)r   get_tokens_unprocessedr   variable_qualifiersr   rS   vector_types	variablesro   execution_confsZPseudofunction_qualifiersReserved	functionsFunctionselftextindextokenvaluerV   rV   rW   r   3  s    





z CudaLexer.get_tokens_unprocessedN)rK   rL   rM   rN   rO   rQ   rP   rR   r   r   r   r   r   r   r   rV   rV   rV   rW   r     s   r   c                   @   sf   e Zd ZdZdZdgZddgZdgZdZde	fe
gd	e	jfde	fd
ejfe
gdZh dZdd ZdS )r   zT
    For `SWIG <http://www.swig.org/>`_ source code.

    .. versionadded:: 2.0
    ZSWIGZswigz*.swgz*.iz	text/swigg{Gz?z\$\**\&?\w+z(%[a-z_][a-z0-9_]*)z##*[a-zA-Z_]\w*)rj   rJ   >R   z%initz%shared_ptrz%definedz%applyz%descriptorz%ignorewarnz
%javaconstz%implicitconvz%clearz%renamez
%pythonabcz%insertz
%fragmentsz%csconstz
%newobjectz	%templatez%ignorez%typesz%beginz
%delobjectz%featurez
%typecheckz	%constantz%shadowz%pythonappendz%extendz%pythonmaybecallz%varargsz%deletez%argz%warnz
%exceptionz%defaultdtorz%sizeofz%typemapz
%refobjectz%pragmaz%ifcplusplusz%exceptionclassz%includez%definez%csconstvaluez%defaultz%bangz	%callbackz%naturalvarz%kwargsz%mutablez	%javaenumz%pythonnondynamicz%unrefobjectz%javaexceptionz%enddefz	%fragmentz
%immutablez%csenumz%javamethodmodifiersz%extend_smart_pointerz%pythonprependz%inlinez%warnfilterz%pythondynamicz
%attributez%nspacez%exceptionvarz%trackobjectsz%headerz%csnothrowexceptionz%nestedworkaroundz%luacodez%defaultctorz	%copyctorz%importz	%perlcodez%pythoncodez%pythoncallbackz%javaconstvaluez	%implicitz%csmethodmodifiersz	%directorz%modulez%catchesc                 C   s:   d}t d| t j}|D ]}|tjv r0d} q6qd}q|S )Nr   z^\s*(%[a-z_][a-z0-9_]*)g\(\?gQ?)refindallMr   swig_directives)r   rvmatchesmrV   rV   rW   analyse_textx  s    
zSwigLexer.analyse_textN)rK   rL   rM   rN   rO   rP   rQ   rR   priorityr   r   r   r	   r   rU   r   r   rV   rV   rV   rW   r   E  s"   r   c                
   @   s   e Zd ZdZdZg dZg dZdgZdee	j
ddefee	jddejfee	jddejfee	jddejfee	jd	dd
ejfegiZdS )r   z
    For `MQL4 <http://docs.mql4.com/>`_ and
    `MQL5 <http://www.mql5.com/en/docs>`_ source code.

    .. versionadded:: 2.0
    ZMQL)ZmqlZmq4Zmq5Zmql4Zmql5)z*.mq4z*.mq5z*.mqhz
text/x-mqlrJ   rC   rD   z(clr)?prefixrE   N)rK   rL   rM   rN   rO   rP   rQ   rR   r   r   keywordsr   Zc_typesrS   typesr   r   Z	constantsConstantZcolorsr   rU   rV   rV   rV   rW   r     s    r   c                   @   sV   e Zd ZdZdZdgZdgZdgZddhZh dZ	h d	Z
h d
Zh dZdd ZdS )r   u   
    For `Arduino(tm) <https://arduino.cc/>`_ source.

    This is an extension of the CppLexer, as the Arduino® Language is a superset
    of C++

    .. versionadded:: 2.1
    ZArduinoZarduinoz*.inoztext/x-arduinoZsetupZloop>   xororandnot>Y   r~   Zint16_tr!   Z_Complexr"   rq   ZINPUTcomplexr   r   r   Zint8_tZLED_BUILTINr@   booleanZuint8_tZatomic_scharr&   Zint64_tZatomic_ullongZSET_PIN_MODEZatomic_longzunsigned intr   Z
atomic_intZatomic_boolZLOWZatomic_ulongZINTERNAL1V1ZANALOG_MESSAGEZatomic_llongr   ZINTERNAL2V56unsignedzunsigned charZreinterpret_castrs   Zint32_ttypedefZSYSTEM_RESETZINPUT_PULLUPZatomic_shortr   r1   r   Z
_ImaginaryZEXTERNALZatomic_charr#   r   Zfriendzunsigned longZexplicitZatomic_uintr   r   ZPROGMEMZOUTPUTZDIGITAL_MESSAGEZREPORT_ANALOGZuint32_tZHIGHZatomic_ucharr   r   r   Zdynamic_castZ_Boolr   Zatomic_ushortZREPORT_DIGITALry   arrayunionZwordr0   ZSYSEX_STARTZ
const_castZuint16_tZuint64_tstructZsignedautoZINTERNALZFIRMATA_STRINGZstatic_castr.   operatorrA   >W  ZconnectZ
EsploraTFTZreadyZanalogWriteZmousePressedZreadJoystickXZGSMPINZ	availableZdrawBMPZ
beginWriteZpointToZdigitalReadZsetClockDividerZnoStrokeZclickZ	changePINZprintVersionZupdateIRZpositionZreadMicrophoneZserialEventZ	sendSysexZClientZuserNameWriteZGSMVoiceCallZsetDataModeZnoBufferZattachedfindFileIOZ	noDisplayZnoToneabsZbeginSDZscanNetworksZ
getYChangebufferZgetAsynchronouslyZwriteMicrosecondsZnoListenOnLocalhostZwriteMessageZ	SchedulerZcompassReadZGSMZbeginTransmissionZAudioZ	writeBlueZ
remotePortZ
releaseAllZisAsciiZisWhitespaceZgetBandZGSMBandZshutdownZ
attachGPRSZ
createCharZmillisZsqrtZ
getXChangeZ
backgroundZ	setCursorZnoCursorwriteZblinkZrunShellCommandZ	YunServeropenZ
WiFiClientZIRreadZKeyboardControllerZGSM_SMSZwaitContinueZ	exitValueZSDZsetBandfillZisPrintableZ
macAddresswidthcloseZsendDigitalPortPairZrightToLeftZ	tuneWriteZremoteNumberZisHexadecimalDigitZ
autoscrolllineZbeginTFTZkeyboardReadZpressZKeyboardZsetFirmwareVersionZbeginPacketZdelayMicrosecondsZkeyReleasedZpulseInZ
setPINUsedZlocalIPZStepperZrunShellCommandAsynchronouslyZputZEthernetServerZendTransmissiondetachZ	endPacketZ
playMelodyhomeZtoneZbitSetZprocessInputZ	YunClientZ
writeGreenZisValidZhangCallminZisListeningZFileZreadBlueZshiftOutZaddParameterZreadLightSensorr   bitZreadBytesUntilZgetModifiersZgetVoiceCallStatusZGPRSZ
analogReadZrewindDirectoryZpinModepeekZ
FileSystemZ
readStringZrectZTFTZ	findUntilZ
WiFiServerZ	isControlZEthernetClientZ	startLoopZlistenOnLocalhostreadZ
keyPressedZisUpperCaseZencryptionTypeZsinZgetKeyZ	constrainclearZbitReadZ	readBytesZanalogWriteResolutionZcityNameReadZretrieveCallingNumberZplayFileZbeginSMSZimageZ
tempoWriteZreadJoystickButtonZTaskZsetBitOrderZdisplayZanalogReferenceZEsploraZ	onRequestZprintlnZFirmataremoveZwriteRGBZGSMModemr   ZbeepZknobReadZpointZ
answerCallZpreparesteprunZattachInterruptZBridgeZdrawCompassZ
sendStringZstrokeZheightZisActionDoneZtransferZremoteIPreleaseZendWriteZconfigZ
readButtonZEthernetZbitWriteZlineFollowConfigZclearScreenZUSBHostZreadStringUntilZnoBlinkZgetSignalStrengthZ	getButtonZsetModeZConsoleexistsZrunAsynchronouslyZ	loadImageZgetIMEIZisGraphZoverflowmapZStreamZServoZ	switchPINZ	getOemKeyZRSSIseekZmotorsWriteZmouseDraggedZattachZreadMessageZisPunctZreadTemperatureZ
mouseMovedZmessageAvailablermdirZ	voiceCallZrandomZparseCommandZWireZrequestFromZdigitalWriteZrobotNameReadZ
randomSeedendZreadNetworksZsetDNSZ	gatewayIPZ	onReceiveZisDirectorymaxZgetCurrentCarrierZrobotNameWriteZ
subnetMaskZ
setTimeoutprintZprocessZ	GSMServerZ
getPINUsedZsetSpeedZmicrosZcursorZnoAutoscrollZ	GSMClientZ	getResultZnoInterruptsmoveZparsePacketZ	IPAddressZisAlphaNumericZMouseControllerZSSIDZRobotControlZ	getSocketZopenNextFileZWiFiUDPZhighByteZlowByteZsetTextSizeflushZbitClearZdetachInterruptZProcessZEthernetUDPZ
disconnectZ
HttpClientZreadJoystickYstopZtanZ
sendAnalogZcircleZsendDigitalPortsZcheckRegZ	isPressedZnoFillZ	writeJSONZEEPROMZ	connectedZmouseReleasedZPImageZanalogReadResolutionZreadAccelerometerZmaintainZSPIZisDigitZMailboxZisPINZparseIntZlistenmkdirZcountryNameReadZcheckPINZ
RobotMotorZdisplayLogosZendSMSZdelayZisLowerCasert   ZisSpaceZwriteRedsizeZcountryNameWriteZrunningZisAlphaZbeginZblinkVersionZshiftInZ
interruptsZcheckPUKZscrollDisplayRightZuserNameReadZ
readSliderZServerZBSSIDZ	readGreenZreadRedZ
parseFloatZreadJoystickSwitchZcityNameWriteZcosZ
GSMScannerZMouseZleftToRightZscrollDisplayLeftZ	pauseModeZturnpowZSoftwareSerialZSerialZprintFirmwareVersionZbeginSpeakerZ
debugPrintZ
motorsStopZWiFiZLiquidCrystal>   ZasmZnoexceptrx   ZrestrictZdecltypeZ	constexprmutabletypenameZalignofr+   Zthread_localrw   rB   typeidtemplatec                 c   s   t | |D ]\}}}|| jv r0|tj|fV  q|| jv rH|t|fV  q|| jv rb|tj	|fV  q|| j
v rz|t|fV  q|| jv r|tj|fV  q|||fV  qd S r   )r   r   	structurer   ro   	operatorsr
   r   r   r   suppress_highlightr   r   r   rV   rV   rW   r     s    




z#ArduinoLexer.get_tokens_unprocessedN)rK   rL   rM   rN   rO   rP   rQ   rR   r   r   r   r   r   r   rV   rV   rV   rW   r     s   	Ar   c                   @   sP   e Zd ZdZdZdgZdgZg Zddee	e
dfede	fed	e	fegiZd
S )r   zj
    For `Charm++ <https://charm.cs.illinois.edu>`_ interface files (.ci).

    .. versionadded:: 2.4
    ZCharmciZcharmciz*.cir   z(module)(\s+)rG   )Z
mainmoduleZ	mainchareZcharer   groupZ	nodegroupmessageZconditional)entryZ	aggregateZthreadedsyncZ	exclusiveZnokeepZnotraceZ	immediateZ	expeditedr1   localZpythonZaccelZ	readwriteZ	writeonlyZ
accelblockZmemcriticalZpackedZvarsizeZinitprocZinitnodeZinitcallZ	stacksizeZ
createhereZ
createhomeZreductiontargetZigetZnocopyr   Z
migratablereadonlyN)rK   rL   rM   rN   rO   rP   rQ   rR   r   r   r   r   r   rU   rV   rV   rV   rW   r      s    r   c                   @   s  e Zd ZdZdZdgZddgZg ZdZe	ddd	d
e
fdeejejdfdeejejejejfdeejejejejfdeej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e	defeefdefgeddedfeddefdedfgdedfededgd e ejd!fgedd"efd#ejfed$d%edfgede	d&dd	d
ejfe	d'dd	d
ejfe	d(dd)d
eeeej fe	d*dd	d
efd+eeeej d,fd-eej!eej!fd.eejeefd/efeded$gd0Z"d1S )2r   z
    Lexer for `Object Management Group Interface Definition Language <https://www.omg.org/spec/IDL/About-IDL/>`_.

    .. versionadded:: 2.9
    z!OMG Interface Definition Languagezomg-idlz*.idlz*.pidlz((::)?\w+)+)r@   rA   z(?i)rC   r   z
([Ll]?)(")r   z([Ll]?)(\')(\\[^\']+)(\')z([Ll]?)(\')(\\\')(\')z([Ll]?)(\'.\')z[+-]?\d+(\.\d*)?[Ee][+-]?\d+z)[+-]?(\d+\.\d*)|(\d*\.\d+)([Ee][+-]?\d+)?z(?i)[+-]?0x[0-9a-f]+z[+-]?[1-9]\d*z[+-]?0[0-7]*z[\+\-\*\/%^&\|~])z<<z>>z[{};:,<>\[\]]r   z\(r   values=z\)rI   annotation_params@annotation_params_maybez[{,]z\w+annotation_applz\})r   r   r=   r   Zinoutr  )r   anyZnativeZbitfieldr   r   r   ZwcharZoctetr   r   r   r   r   r   r   r{   r|   r}   r   r   fixedZsequencer   Zwstringr   )	z@annotationr   r   Zbitsetr'   	exceptionZ	valuetypeZ	eventtyperZ   z
(\s+)(\w+))&r(   aliasZ	attributer;   Z	connectorZconsumescontextZcustomr   ZemitsfactoryfinderZ	getraisesr   r/   ZmanagesZ
mirrorportZmultipleZObjectZonewayZ
primarykeyr!   portZporttyper^   r#   Z	publishesZraisesr  Z	setraisesZsupportsr:   Ztruncatabler   r   Z
typeprefixr`   Z	ValueBasez(?i)(enum|bitmask)(\s+)(\w+)r   z(?i)(module)(\s+)(\w+)z(\w+)(\s*)(=)z[\(\)])r  r  r  r	  r   rj   N)#rK   rL   rM   rN   rO   rP   rQ   rR   Zscoped_namer   r   r   r   ZAffixDoubler   rp   r   rm   rn   r   r
   r   r   r   r   r   r   r   r   rS   r   rT   r   rU   rV   rV   rV   rW   r   >  s   
	r   )$rN   r   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   r   Zpygments.lexers.c_cppr   r   Zpygments.lexersr   __all__r   r   r   r   r   r   r   r   r   r   r   rV   rV   rV   rW   <module>   s$   
 ,(3!b0B 