o
    sdf}                     @   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-2024 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\   _/var/www/html/software/conda/envs/catlas/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renew0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#   	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>   Z__forceinline__Z__noinline__Z__host__Z
__global__
__device__>   Z
__shared__r   Z__constant__Z__restrict__>+   Zlong2Zshort1Zdouble1Zint1Zuint3Zchar1Zshort4Zulong2Zushort2Zushort4Zuchar1Zfloat4Zfloat1Zuint2Zlong4Zushort3Zulong3Zchar4Zlong3Zlong1Zuchar2Zushort1Zshort2Zdouble2Zshort3Zfloat2Zchar2Z	longlong1Zuint4Zulong1Z
ulonglong1Zdim3Zfloat3Zuint1Z
ulonglong2Zchar3Zulong4Zuchar3Z	longlong2Zint4Zuchar4Zint3Zint2>   ZblockIdxZblockDimZwarpSizeZ	threadIdxZgridDim>   Z__threadfenceZ__syncthreads_andZ__syncthreads_countZ__threadfence_systemZ__syncthreadsZ__threadfence_blockZ__syncthreads_orz<<<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%luacodez%unrefobjectz%includez%insertz
%refobjectz%pythoncodez%definedz%javamethodmodifiersz%exceptionvarz%featurez
%delobjectz%descriptorz%shadowz	%copyctorz%implicitconvz%kwargsz%pythonappendz
%fragmentsz%extend_smart_pointerz%csconstz%csmethodmodifiersz%initz%ignorez%extendz
%newobjectz%defaultdtorz%clearz
%pythonabcz%ifcplusplusz
%typecheckz%warnz%defaultz%typemapz%varargsz%exceptionclassz%trackobjectsz%pythondynamicz
%immutablez%typesz	%fragmentz%csconstvaluez%pythoncallbackz%definez%catchesz%naturalvarz
%javaconstz%inlinez%warnfilterz	%implicitz%applyz%pythonprependz%headerz%nestedworkaroundz%importz%pythonmaybecallz%beginz%nspacez%bangz%csnothrowexceptionz%deletez	%javaenumz%sizeofz%pragmaz%ignorewarnz%enddefz%csenumz%renamez%mutablez%pythonnondynamicz%argz	%directorz%modulez%defaultctorz%shared_ptrz	%templatez
%attributez	%callbackz	%perlcodez%javaconstvaluez	%constantz
%exceptionz%javaexceptionc                 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>   notandxoror>Y   wordZINTERNAL1V1rD   typedefr*   Zatomic_ucharZANALOG_MESSAGEstructZatomic_boolr   Zatomic_ulongZatomic_longcomplexr   r   ZREPORT_DIGITALr2   r   Zatomic_scharZatomic_ushortr   zunsigned longZatomic_charzunsigned intr   Zatomic_uintZstatic_castr4   ZFIRMATA_STRINGr   r   ZfriendZOUTPUTZint8_tbooleanZexplicitarrayZLED_BUILTINZdynamic_castZINTERNAL2V56unionZuint8_tZ
atomic_intZ_BoolZuint64_tZuint16_tr5   Zatomic_shortr&   Z_Complexr%   r   Z
const_castZDIGITAL_MESSAGEZLOWZatomic_llongunsignedr   signedr   ZINTERNALZint32_tr'   r   zunsigned charZint16_tZHIGHrE   Z
_ImaginaryZSYSEX_STARTZREPORT_ANALOGr   operatorZINPUTZatomic_ullongr   ZSYSTEM_RESETr   ZPROGMEMZreinterpret_castr   ZEXTERNALZint64_tZINPUT_PULLUPZSET_PIN_MODEautor   r   Zuint32_t>W  ZlineFollowConfigZisHexadecimalDigitZ
setPINUsedZSerialrandomZ	YunClientZStepperZ
answerCallZcityNameWriteZ
WiFiClientZBSSIDZ
keyPressedZsetBitOrderZ	isPressedmapZAudiofillZparseIntdisplayZ	tuneWriteprepareZisAsciiZsetClockDividerZanalogReadResolutionZKeyboardControllerZMousestepZ
tempoWriteZ
debugPrintZisAlphaNumericZanalogWriteResolutionZendTransmissionZreadTemperatureZ
attachGPRSstopZUSBHostZendSMSZremoteNumberZGSMPINZgetKeyZgetSignalStrengthZ
remotePortZisDigitZparsePacketZisListeningZisGraphZnoFillZhighBytebitZ	getSocketZ
writeGreenZisAlphaZisLowerCaseZ	onRequestZreadRedZ
sendStringZ	readGreenZ	writeBlueZuserNameReadZserialEventZanalogReferenceFileZTFTZ	getResultZ	noDisplayrectZbitSetZreadLightSensorZreadJoystickButtonreadyZreadAccelerometerZGSMModemZnoAutoscrollbufferimagefindZreadMicrophonebegin	connectedZdrawBMPZretrieveCallingNumberprocessZrobotNameWriteZreadNetworksZEthernetUDPZIRreadr   positionZ	setCursorZprocessInputsinabsZmessageAvailableZ	getButtonpowZnoInterruptsZWiFiUDPwriteZattachInterruptshutdownZ
beginWriteZattachedZsetDNSZ	switchPINZrightToLeftblinkZ	SchedulerZ
playMelodyZbeginTransmissionZ	onReceivehomeZturnZlocalIPZ	endPacketZbitReadZServoreadFileIOZ	startLoopZblinkVersionZgetIMEIdetachZwriteMicrosecondsZendWriteZisActionDoneZ
readButtonZrunShellCommandZgetBandZ
parseFloatZsetTextSizeZEthernetServer	constrainZEEPROMZSPIZ
WiFiServerZsendDigitalPortPairZanalogWriteZ
sendAnalogZcountryNameWriteZremoteIPcircleZbitClearZsetBandseekZmotorsWriteZreadMessageZgetVoiceCallStatusZprintVersionZisValidZGSMZaddParameterZupdateIRmoveZMouseControllermicrosTaskZ
readStringZ	readBytesZ	findUntilZpulseInZrunAsynchronouslyr   r   ZprintlnZisDirectoryZbeginSpeakeropenZGPRSZkeyReleasedZprintFirmwareVersionZStreamZlistenOnLocalhostZbeginSDputZ
getPINUsedZcompassReadendZ	GSMServerrunZplayFileconnectZgetCurrentCarrierZcountryNameReadlistenZRobotControlZwriteRedZmillisZtransferZopenNextFileZEthernetmkdirZGSMVoiceCallZsetSpeedZwriteMessageZreadBytesUntilZnoStrokereleaseConsolemaxZ
autoscrollZmouseReleasedZsetFirmwareVersionZclickZgetAsynchronouslyZknobReadZcheckPUKZsetDataMode
backgroundZ
FileSystemZpinModeZbitWriteZpressZ	GSMClientZdisplayLogosZWireZnoBufferZmaintainZ	getOemKeyZdigitalReadZparseCommandpointZrunShellCommandAsynchronouslyminZMailboxlinecosZGSMBandZFirmataZdrawCompassZisWhitespaceZ
createCharZscrollDisplayLeftZbeginPacketZSDZ	loadImageZencryptionTypeZEsploraZ
GSMScannerZ
mouseMovedZ
RobotMotorflushZ	pauseModeZclearScreenZnoBlinkZbeginTFTZ
getYChangeZisSpaceZ	gatewayIPZreadJoystickYZ	YunServerZdetachInterruptZcheckPINexistsZSSIDZwaitContinuesqrtZrobotNameReadZreadJoystickSwitchZSoftwareSerialZ
disconnectZscanNetworksZ	changePINrmdirZpointToZKeyboardZClientZleftToRightZEthernetClientZ
readSliderattachZnoToneclearZrequestFromZWiFiZ
macAddressremoveZscrollDisplayRightZ
analogReadZbeginSMSclose	availablesizewidthZisUpperCaseZ	sendSysexZ	isControlZuserNameWriteZ	voiceCallZdigitalWriterunningZisPINZmouseDraggedZmousePressedpeekZtoneZ
subnetMaskZgetModifiersZ	IPAddressheightstrokeZshiftInZkeyboardReadZwriteRGBZreadBlueZreadJoystickXZ
getXChangeZlowByteServeroverflowZhangCalldelayprintZ
HttpClientZnoCursorZbeepZdelayMicrosecondsconfigZLiquidCrystalZsetMode
setTimeoutZ	writeJSONtanZPImageZ
motorsStopZreadStringUntilZ	exitValueZGSM_SMSZ
randomSeedZcheckRegZBridgeZisPrintableProcessZisPunctZrewindDirectoryZsendDigitalPortsZ
EsploraTFTZcityNameReadZ
interruptsZRSSIZnoListenOnLocalhostcursorZshiftOutZ
releaseAll>   ZnoexcepttemplaterG   typenameZrestricttypeidZalignofasmZ	constexprr   r/   decltyper   mutableZthread_localr   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   rW  rX  r   r   rY  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nocopyrV  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inoutra  )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raisesre  Z	setraisesZsupportsr>   ZtruncatablerS  rR  Z
typeprefixrn   Z	ValueBasez(?i)(enum|bitmask)(\s+)(\w+)r   z(?i)(module)(\s+)(\w+)z(\w+)(\s*)(=)z[\(\)])rf  rh  rj  rk  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.
    ZPromelaZpromela)z*.pmlz*.promz*.prmz	*.promelaz*.prz*.pmztext/x-promelaz(https://spinroot.com/spin/whatispin.htmlz2.18z(\[\]|<>|/\\|\\/)|(U|W|V)\bri  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_pr_pidZ	_priorityr:   Znp_ZSTDIN)emptyenabledevalfulllenZnemptyZnfullZpc_valuezrun\b)activeZchanZ
D_proctypeZhiddeninitra  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]