o
    ;h}                     @   s@  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#G dd deZ$dS ) z
    pygments.lexers.c_like
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for other C-like languages.

    :copyright: Copyright 2006-2025 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OmgIdlLexerPromelaLexerc                   @   st   e Zd ZdZdZdgZddgZdgZd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.
    Pikepikez*.pikez*.pmodztext/x-pike2.0)=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false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*(?=>))
statementsrL   N)__name__
__module____qualname____doc__namealiases	filenames	mimetypesversion_addedr   r   Typer   r   r
   r   r   Classtokens r\   r\   I/var/www/html/venv/lib/python3.10/site-packages/pygments/lexers/c_like.pyr      s.    


r   c                   @   sR   e Zd ZdZdZdgZdgZdgZdZde	dd	d
e
fe	dd	d
e
jfegiZdS )r   zd
    For `nesC <https://github.com/tinyos/nesc>`_ source code with preprocessor
    directives.
    nesCnescz*.ncztext/x-nescsrcr"   rO   )r,   r@   asyncatomiccallcommand	component
componentsconfigurationeventr-   ZgenericimplementationZincludesr+   moduler$   ZnoracepostprovidessignaltaskusesrH   rI   )
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)rP   rQ   rR   rS   rT   rU   rV   rW   rX   r   r   rY   r   r[   r\   r\   r\   r]   r   B   s*    r   c                   @   s   e Zd ZdZdZdgZdgZdgZdZd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   z
    For Clay source.
    Clayz*.clayclayztext/x-clayzhttp://claylabs.com/clayr"   \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}|.)z[^\\"]+\nrN   stringsnl)rootrw   rx   ru   rs   N)rP   rQ   rR   rS   rT   rV   rU   rW   urlrX   r   r	   Single	Multiliner   r
   r   r   HexIntegerr   Builtinr   Escaper   r[   r\   r\   r\   r]   r   ^   sH    
r   c                   @   sp   e Zd ZdZdZdgZddgZddgZdZd	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   z:
    For eC source code with preprocessor directives.
    eCecz*.ecz*.ehztext/x-echdrztext/x-ecsrczhttps://ec-lang.orgz1.5rO   )+virtualr*   r%   r'   propertyr3   deleter$   Znew0ZrenewZrenew0ZdefinegetsetremoteZ	dllexportZ	dllimportZstdcallsubclassZ__on_register_module	namespaceusingZtyped_objectZ
any_objectZincrefregister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dbfieldrH   rI   )uintuint16uint32uint64boolbyteunicharint64rK   rL   z(null|value|this)\bN)rP   rQ   rR   rS   rT   rU   rV   rW   rz   rX   r   r   rY   r   r   r   r   r   r[   r\   r\   r\   r]   r      s0    		
r   c                   @   s  e Zd ZdZdZddgZddgZdgZdZd	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d0ed/fd1ej%fd2efdefd3efgd4e
jd5fd6e
jd/fd7e
jd/fd8e
fgd)ej&d/fgd9ejd/fgd:Z'd;S )<r   z<
    For Vala source code with preprocessor directives.
    Valavalavapiz*.valaz*.vapiztext/x-valazhttps://vala.devz1.1z^\s*#if\s+0if0rv   rq   z\\\nz//(\n|(.|\n)*?[^\\]\n)rr   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@   baser7   r?   r#   Z	constructr8   r   r   r=   r:   enumfinallyr;   Zforeachr   r9   rA   islockr$   outparamsrC   r   sizeofr>   r/   r(   tryZtypeofr<   yieldrH   rI   )r,   constZdelegateZdynamicZensuresr4   r5   ZinternaloverrideZownedr%   r&   r'   refrequiresrl   r2   r)   Zunownedvarr   volatileZweakZyieldsz(namespace|using)(\s+)r   z)(class|errordomain|interface|struct)(\s+)r*   (\.)([a-zA-Z_]\w*))voidr   chardoublefloatintint8int16int32r   longshortZsize_tZssize_tr   Ztime_tZucharr   uint8r   r   r   Zulongr   Zushortz(true|false|null)\brM   
whitespace	statementrO   z[{}];rN   rt   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   rO   ry   r   r   r   r*   r   N)(rP   rQ   rR   rS   rT   rU   rV   rW   rz   rX   r	   Preprocr   r   r{   r|   r   Charr   Floatr}   Octr~   r
   r   r   r   	Decoratorr   r   Declaration	Namespace	AttributerY   r   r   r   r   rZ   r[   r\   r\   r\   r]   r      s    
	

/





r   c                   @   sl   e Zd ZdZdZddgZddgZdgZdZd	Z	h d
Z
h dZh dZh dZh dZddhZdddZdS )r   u$   
    For NVIDIA CUDA™ source.
    CUDAz*.cuz*.cuhcudacuztext/x-cudaz4https://developer.nvidia.com/category/zone/cuda-zonez1.6>   
__device__Z__forceinline__Z__noinline__Z
__global__Z__host__>   r   Z__constant__Z
__shared__Z__restrict__>+   Zlong3Zushort4Zuint4Zint1Zlong1Zdouble2Zuint3Zfloat3Zshort1Zuchar1Zint3Z
ulonglong2Zchar2Zlong4Zushort3Zuint1Zchar4Zshort4Zulong4Z	longlong2Zdim3Z	longlong1Zshort3Zulong2Zfloat4Zdouble1Zlong2Zushort2Zchar3Zuchar3Zint2Zfloat2Zchar1Zuint2Zulong1Zuchar2Zushort1Zint4Z
ulonglong1Zfloat1Zuchar4Zshort2Zulong3>   ZwarpSizeZblockIdxZblockDimZgridDimZ	threadIdx>   Z__syncthreads_countZ__threadfence_systemZ__syncthreads_andZ__syncthreads_orZ__threadfenceZ__threadfence_blockZ__syncthreadsz<<<z>>>ry   c                 c   s    t | ||D ]D\}}}|tu rF|| jv rtj}n,|| jv r#tj}n#|| jv r,tj}n|| j	v r5tj
}n|| jv r>tj}n|| jv rFtj}|||fV  qd S N)r   get_tokens_unprocessedr   variable_qualifiersr   rY   vector_types	variablesr   execution_confsPseudofunction_qualifiersReserved	functionsFunctionselftextstackindextokenvaluer\   r\   r]   r   2  s"   





z CudaLexer.get_tokens_unprocessedNr   )rP   rQ   rR   rS   rT   rV   rU   rW   rz   rX   r   r   r   r   r   r   r   r\   r\   r\   r]   r     s    r   c                   @   sj   e Zd ZdZdZdgZddgZdgZd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   z9
    For `SWIG <http://www.swig.org/>`_ source code.
    SWIGswigz*.swgz*.iz	text/swigr"   g{Gz?z\$\**\&?\w+z(%[a-z_][a-z0-9_]*)z##*[a-zA-Z_]\w*)ry   rO   >R   z%csnothrowexceptionz%unrefobjectz%beginz
%fragmentsz
%typecheckz
%pythonabcz%kwargsz%pythonmaybecallz%csconstz%applyz%argz%warnfilterz%insertz%javaexceptionz	%callbackz%clearz	%fragmentz%csmethodmodifiersz%ifcplusplusz
%immutablez%defaultdtorz%includez%inlinez%enddefz%featurez	%copyctorz%definedz%definez%renamez%naturalvarz%typesz%pythonprependz%exceptionclassz	%javaenumz%pythoncodez
%refobjectz%shadowz%typemapz%sizeofz%pythonappendz%deletez%defaultctorz%pythondynamicz%bangz%csconstvaluez
%javaconstz%defaultz%mutablez%modulez%warnz%ignorez%javaconstvaluez
%newobjectz%extend_smart_pointerz%ignorewarnz	%constantz%trackobjectsz%luacodez%descriptorz	%directorz%javamethodmodifiersz%catchesz	%templatez
%exceptionz
%attributez%shared_ptrz%nspacez%pythonnondynamicz%initz%nestedworkaroundz%csenumz
%delobjectz%varargsz	%perlcodez%headerz%importz%implicitconvz%exceptionvarz	%implicitz%extendz%pythoncallbackz%pragmac                 C   s:   d}t d| t j}|D ]}|tjv rd} |S d}q|S )Nr   z^\s*(%[a-z_][a-z0-9_]*)g\(\?gQ?)refindallMr   swig_directives)r   rvmatchesmr\   r\   r]   analyse_textv  s   
zSwigLexer.analyse_textN)rP   rQ   rR   rS   rT   rU   rV   rW   rX   priorityr   r   r   r	   r   r[   r   r   r\   r\   r\   r]   r   D  s&    r   c                
   @   s   e Zd ZdZdZg dZg dZdgZd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   zh
    For `MQL4 <http://docs.mql4.com/>`_ and
    `MQL5 <http://www.mql5.com/en/docs>`_ source code.
    MQL)mqlmq4mq5mql4mql5)z*.mq4z*.mq5z*.mqhz
text/x-mqlr"   rO   rH   rI   z(clr)?prefixrJ   N)rP   rQ   rR   rS   rT   rU   rV   rW   rX   r   r   keywordsr   Zc_typesrY   typesr   r   	constantsConstantcolorsr   r[   r\   r\   r\   r]   r     s$    r   c                   @   s\   e Zd ZdZdZdgZdgZdgZdZddhZ	h d	Z
h d
Zh dZh dZd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++
    Arduinoarduinoz*.inoztext/x-arduinoz2.1setuploop>   andnotorxor>Y   r2   ZfriendZEXTERNALZINTERNAL2V56Zuint8_tZatomic_ucharr   Zatomic_boolbooleanZuint64_tr   Zatomic_ushortZatomic_scharr*   wordZREPORT_DIGITALZatomic_shortr   r   zunsigned intr   ZOUTPUTr&   ZANALOG_MESSAGEautor   r4   r   Z
_Imaginaryr   ZHIGHrE   Zint64_tstructZ_ComplexZatomic_longZSYSEX_STARTr'   r   Zreinterpret_castarrayZINTERNALZINTERNAL1V1ZINPUTZ
const_castZLED_BUILTINZSYSTEM_RESETr   Zuint32_tZPROGMEMr   Zdynamic_castZFIRMATA_STRINGr%   Zatomic_llongr   zunsigned charr   Z_BoolZDIGITAL_MESSAGEr   Zuint16_tsignedrD   r   unionZatomic_ullongZexplicitr   r5   complexZLOWZ
atomic_intZint32_tZatomic_charZatomic_ulongZREPORT_ANALOGZSET_PIN_MODEZINPUT_PULLUPr   r   zunsigned longZstatic_castZint16_ttypedefZatomic_uintoperatorZint8_tunsigned>W  clearZisActionDoneZLiquidCrystalpositionZ
motorsStopZcheckRegZ	writeJSONZGSMPINprintrunningZ	exitValueZdetachInterruptZ
getYChangebitZ	sendSysexZ
answerCallZ	readBytestanZKeyboardControllerZbitReadr   Z
tempoWriteZWiFiUDPZnoBlinkZisWhitespaceZreadRedZclickZ
WiFiServerdisplayZencryptionTypeZ
parseFloatZisLowerCaseZcityNameReadZ
macAddressputZsendDigitalPortPairZ	switchPINZuserNameReadZreadMessage	constrainZparseIntZ	GSMClientmaxZ
randomSeedZleftToRightZClientZsetDNSZ	YunClient	connectedFileZMouseControllerZ
setPINUsedZsetBitOrderZbeginSpeakerZmouseDraggedZpulseInZGSMModemZEthernetZupdateIRfillZisAlphawidthmkdirZlowBytewriteattachZGPRSZnoAutoscrollZserialEventZ
readButtonr   Z	onRequestreleaseZendTransmissionZscanNetworksZGSMfindZ
readStringlistenZshiftInZcheckPINZpointToZsetTextSizeZwriteMicrosecondsZsetSpeedFileIOZ	pauseModeZnoCursorZmotorsWriteZpressZcityNameWriteZscrollDisplayLeftZturnZanalogReferenceZreadStringUntilZgetVoiceCallStatusZ	endPacketZ	readGreenZdisplayLogosZcheckPUKZ	voiceCallZisSpaceZshiftOutprocessZparsePacketZbitSetZclearScreenZ	SchedulerZsetFirmwareVersionZdelayMicrosecondsZ	isControlZEthernetClientremoveZrightToLeftZ
createCharZ
subnetMaskZAudioZdigitalReadZsetBandZGSMBandZ
HttpClientZgetAsynchronouslybeginZmousePressedZcompassReadZSSIDrmdirZRSSIZmouseReleasedZplayFileZhighByteZreadAccelerometerrunZlistenOnLocalhostZ
readSliderZ	GSMServerZrobotNameWriterectZPImageZopenNextFileZtransferZbeginSDZhangCallZgetKeyZSoftwareSerialZprintFirmwareVersionProcessZ	isPressedZGSM_SMSZ	findUntilZ	YunServerZWireZ
autoscrollsqrtheightZparseCommandstopZisPrintableZanalogWriteZ
FileSystemblinkZmaintainZSerialZdigitalWriteconnectZwriteMessageZwriteRedZsetClockDividerZisAsciiZreadJoystickSwitchsizereadZbeepabsZ
sendAnalogZbeginPacketZ
getPINUseddelayZnoFillZ
analogReadZtoneZKeyboardZisPunctZ
writeGreenZ
EsploraTFTZisListeningZrequestFromstrokeZ	getOemKeyZServoZ
GSMScannerZendSMSZlineFollowConfigZTFTZcountryNameWriteminZisPINZuserNameWriteZ	getSocketZwriteRGBZ
disconnectopenZrunAsynchronouslyZ	onReceiveZbeginSMSServerendZpinModeZStreamZMouseZcountryNameReadZ	getResultbufferZ	gatewayIPConsoleZdrawCompassshutdownZSteppermoveZ
keyPressedZblinkVersionimageZattachInterruptZ	noDisplayZanalogReadResolutionZ
playMelodyZreadJoystickXZnoTonesinZkeyReleasedreadyZUSBHostpointZEEPROMZRobotControl
backgroundconfigZ
WiFiClientZmessageAvailablehomeZEthernetServerZ	loadImageZ	IPAddressZWiFiZIRreadZ	writeBlueZnoBufferZFirmataZrewindDirectorymapZ	getButtonZisDirectoryZprintlnZsetModeZanalogWriteResolutionZprocessInputZreadNetworksZ
attachGPRSZbitWriteZisValidZendWriteTaskrandomZaddParameterZ
debugPrintZgetSignalStrengthZreadJoystickButtonZisUpperCaseZreadBlueprepareZ	tuneWriteZbeginTransmissionZscrollDisplayRightZremoteIPZrobotNameReadpowZGSMVoiceCallZnoInterruptsZ
beginWriteZreadLightSensorZrunShellCommandZgetModifiersZisGraphZmillisZattachedZisAlphaNumericcloseZEsploracirclecoscursorseek	availableZ
getXChangedetachZisHexadecimalDigitZBSSIDZ
sendStringZretrieveCallingNumberZ	startLoopZ	setCursorZsetDataModeZgetCurrentCarrierZBridgemicrosZremoteNumberZ
releaseAllZ
interruptsZgetIMEIZSDZwaitContinueZlocalIPZMailboxZknobReadZbeginTFTZsendDigitalPortsZ
mouseMovedZreadJoystickYZnoListenOnLocalhostr   ZkeyboardReadlinestepZEthernetUDPZreadMicrophoneZdrawBMPZnoStrokeZ
RobotMotorZbitClearoverflowZisDigitZ
remotePortZreadTemperatureZ	changePIN
setTimeoutpeekZprintVersionZgetBandexistsZrunShellCommandAsynchronouslyZreadBytesUntilflushZSPI>   decltypemutableasmZthread_localr   r   rG   r/   typeidtypenameZrestrictZalignofZ	constexprZnoexcepttemplater   c                 c   s    t | ||D ]J\}}}|| jv r|tj|fV  q|| jv r&|t|fV  q|| jv r3|tj	|fV  q|| j
v r?|t|fV  q|| jv rL|tj|fV  q|||fV  qd S r   )r   r   	structurer   r   	operatorsr
   r   r   r   suppress_highlightr   r   r   r\   r\   r]   r     s   




z#ArduinoLexer.get_tokens_unprocessedNr   )rP   rQ   rR   rS   rT   rU   rV   rW   rX   rU  rV  r   r   rW  r   r\   r\   r\   r]   r     s    Ar   c                   @   sT   e Zd ZdZdZdgZdgZd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   zO
    For `Charm++ <https://charm.cs.illinois.edu>`_ interface files (.ci).
    Charmcicharmciz*.ciz2.4r   z(module)(\s+)rL   )Z
mainmoduleZ	mainchareZcharer   groupZ	nodegroupmessageZconditional)entryZ	aggregateZthreadedsyncZ	exclusiveZnokeepnotraceZ	immediateZ	expeditedr5   localpythonZaccelZ	readwriteZ	writeonlyZ
accelblockZmemcriticalpackedZvarsizeZinitprocZinitnodeZinitcallZ	stacksizeZ
createhereZ
createhomeZreductiontargetigetZnocopyrP  Z
migratablereadonlyN)rP   rQ   rR   rS   rT   rU   rV   rX   rW   r   r   r   r   r   r[   r\   r\   r\   r]   r     s$    r   c                   @   s  e Zd ZdZdZdZdgZddgZg Zd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d0eeje!efd1efeded&gd2Z$d3S )4r   zJ
    Lexer for Object Management Group Interface Definition Language.
    z!OMG Interface Definition Languagez'https://www.omg.org/spec/IDL/About-IDL/zomg-idlz*.idlz*.pidlz2.9z((::)?\w+)+)rD   rE   z(?i)rH   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\)rN   annotation_params@annotation_params_maybez[{,]z\w+annotation_applz\})r  r   rA   r   Zinoutr_  )r   anynativeZbitfieldr  r   r   Zwcharoctetr   r   r   r   r   r   r   r   r   r   r   r   fixedsequencer   Zwstringr;  )	z@annotationr   r  Zbitsetr+   	exceptionZ	valuetypeZ	eventtyperd   z
(\s+)(\w+))&r,   alias	attributer?   Z	connectorZconsumescontextZcustomr   ZemitsfactoryfinderZ	getraisesr:  r3   ZmanagesZ
mirrorportZmultipleZObjectZonewayZ
primarykeyr%   portZporttyperk   r'   Z	publishesZraisesrc  Z	setraisesZsupportsr>   ZtruncatablerR  rS  Z
typeprefixrn   Z	ValueBasez(?i)(enum|bitmask)(\s+)(\w+)r   z(?i)(module)(\s+)(\w+)z(\w+)(\s*)(=)z[\(\)])rd  rf  rh  ri  r   ry   N)%rP   rQ   rR   rS   rT   rz   rU   rV   rW   rX   Zscoped_namer   r   r   r   AffixDoubler   r   r   r}   r~   r   r
   r   r   r   r   r   r   r   r   rY   r   rZ   r   r[   r\   r\   r\   r]   r   9  s    
	
r   c                   @   s   e Zd ZdZdZdgZg dZdgZdZdZ	de
fd	efd
ee
ejfegedddejfgedddefedddej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edddefedddejfdefg
dZdS )r   z2
    For the Promela language used with SPIN.
    Promelapromela)z*.pmlz*.promz*.prmz	*.promelaz*.prz*.pmztext/x-promelaz(https://spinroot.com/spin/whatispin.htmlz2.18z(\[\]|<>|/\\|\\/)|(U|W|V)\brg  r   )r
  r   r   pidr   r   r  rH   rI   )ra   r7   Zd_stepr=   Zodr;   rA   Zgotor9   fiZunless)assertZget_priorityZprintfZprintmZset_priority)Zc_codeZc_declZc_exprZc_stateZc_track)__lastZ_nr_prZ_pidZ	_priorityr:   Znp_ZSTDIN)emptyenabledevalfulllenZnemptyZnfullZpc_valuezrun\b)ZactiveZchanZ
D_proctypeZhiddeninitr_  mtypeneverr^  Zproctypeshowtracer  ZxrZxs)r   provided)r5   Zltlselectzskip\b)rO   r   r   N)rP   rQ   rR   rS   rT   rU   rV   rW   rz   rX   r
   r   r   r   r   r   r   r   rY   r   r   Wordr   r[   r\   r\   r\   r]   r     s~    		
r   )%rS   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   r   r\   r\   r\   r]   <module>   s&    
 ,(4!b/A]