o aq@s0dZddlZddlmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZmZddlmZmZddlmZgdZGdd d eZGd d d eZGd d d eZGdddeZGdddeZGdddeZGdddeZGdddeZ GdddeZ!GdddeZ"GdddeZ#dS)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) RegexLexerincludebygroupsinheritwordsdefault) TextCommentOperatorKeywordNameStringNumber Punctuation Whitespace)CLexerCppLexer) _mql_builtins) PikeLexer NesCLexer ClayLexerECLexer ValaLexer CudaLexer SwigLexerMqlLexer ArduinoLexer CharmciLexer OmgIdlLexerc@speZdZdZdZdgZddgZdgZeddd e fd e j fd e e e d fd e fegdejdfde dfgdZdS)rz[ For `Pike `_ source code. .. versionadded:: 2.0 Pikepikez*.pikez*.pmodz text/x-pike)=catchnewprivate protectedpublicgaugethrowthrowsclass interface implementabstractextendsfromthissuperconstantfinalstaticimportuseexterninlineprotobreakcontinueifelseforwhiledoswitchcaseasinversionreturntruefalsenull __VERSION__ __MAJOR__ __MINOR__ __BUILD____REAL_VERSION____REAL_MAJOR____REAL_MINOR____REAL_BUILD____DATE____TIME____FILE____DIR____LINE____AUTO_BIGNUM____NT____PIKE__ __amigaos___Pragma static_assertdefinedsscanf\bsuffixz(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*(?=>)) statementsrbN)__name__ __module__ __qualname____doc__namealiases filenames mimetypesrr Typerrr rr Classtokensrqrq8/usr/lib/python3/dist-packages/pygments/lexers/c_like.pyrs,     rc@sNeZdZdZdZdgZdgZdgZdeddd e fed dd e j fe giZ d S) rz For `nesC `_ source code with preprocessor directives. .. versionadded:: 2.0 nesCnescz*.ncztext/x-nescsrcre)r,rBasyncatomiccallcommand component components configurationeventr-genericimplementationincludesr*moduler"noracepostprovidessignaltaskusesr^r_) nx_structnx_union nx_int8_t nx_int16_t nx_int32_t nx_int64_t nx_uint8_t nx_uint16_t nx_uint32_t nx_uint64_tN) rfrgrhrirjrkrlrmrr rnrrprqrqrqrrrBs(rc@seZdZdZdZdgZdgZdgZdefde j fde j fd e fd e fd efd ejfd ejfdejfdefdedfdedfg dejfdefgdefgdedfedgdedfededgdZdS)rzT For `Clay `_ source. .. versionadded:: 2.0 Clayz*.clayclayz 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[#(){}\[\],;.]z0x[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}|.).\nrdstringsnl)rootrrrrN)rfrgrhrirjrlrkrmrr Single Multiliner r rrHexIntegerr Builtinr Escaperrprqrqrqrrr_sD rc@sheZdZdZdZdgZddgZddgZded d d e fed d d e j fd e e e dfde jfegiZdS)rzU For eC source code with preprocessor directives. .. versionadded:: 1.5 eCecz*.ecz*.ehz text/x-echdrz text/x-ecsrcre)+virtualr)r#r%propertyr4deleter"new0renewrenew0definegetsetremote dllexport dllimportstdcallsubclass__on_register_module namespaceusing typed_object any_objectincrefregisterwatch stopwatching firewatchers watchableclass_designer class_fixedclass_no_expansionissetclass_default_propertyproperty_category class_dataclass_property thisclassdbtabledbindex database_opendbfieldr^r_)uintuint16uint32uint64boolbyteunicharint64rarbz(null|value|this)\bN)rfrgrhrirjrkrlrmrr rnrrr rrrprqrqrqrrrs,   rc@seZdZdZdZddgZddgZdgZdej d fd e fd e fd e fd ej fdej fgdedfdejfdefdejfdejfdejfdejfdejfdefdeeejefdeeejfdefedddefedddejfd eeje d!fd"eeje d#fd$eeejfed%ddejfd&ej fd'efge!d(e"d)ge!d(e!d*d+efd,ed-fgd.ed-fd/ej#fd0efd efd1efgd2ej d3fd4ej d-fd5ej d-fd6efgd'ej$d-fgd7ejd-fgd8Z%d9S):rzW For Vala source code with preprocessor directives. .. versionadded:: 1.1 Valavalavapiz*.valaz*.vapiz text/x-valaz ^\s*#if\s+0if0rrz\\\nz//(\n|(.|\n)*?[^\\]\n)rz[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]?z0x[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 [()\[\],.])!rBbaser9rAr! constructr:rrr?r<enumfinallyr=foreachrr;rCislockr"outparamsrErsizeofr@r/r'trytypeofr>yieldr^r_)r,constdelegatedynamicensuresr6r7internaloverrideownedr#r$r%refrequiresrr3r(unownedvarrvolatileweakyieldsz(namespace|using)(\s+)rz)(class|errordomain|interface|struct)(\s+)r)z(\.)([a-zA-Z_]\w*))voidrchardoublefloatintint8int16int32rlongshortsize_tssize_trtime_tucharruint8rrrulongrushortz(true|false|null)\brc whitespace statementrez[{}];rdrz/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})z [^\\"\n]+z\\z^\s*#if.*?(?`_ source. .. versionadded:: 1.6 CUDAz*.cuz*.cuhcudacuz text/x-cuda>__host__ __device__ __global__ __noinline____forceinline__>r __shared__ __constant__ __restrict__>+dim3int1int2int3int4char1char2char3char4long1long2long3long4uint1uint2uint3uint4float1float2float3float4short1short2short3short4uchar1uchar2uchar3uchar4ulong1ulong2ulong3ulong4double1double2ushort1ushort2ushort3ushort4 longlong1 longlong2 ulonglong1 ulonglong2>gridDimblockDimblockIdxwarpSize threadIdx> __syncthreads __threadfence__syncthreads_or__syncthreads_and__syncthreads_count__threadfence_block__threadfence_systemz<<>>ccst||D]D\}}}|turE||jvrtj}n,||jvr"tj}n#||jvr+tj}n||j vr4tj }n||j vr=tj }n||j vrEtj}|||fVqdSN)rget_tokens_unprocessedr variable_qualifiersr rn vector_types variablesrexecution_confsPseudofunction_qualifiersReserved functionsFunctionselftextindextokenvaluerqrqrrrS3s"      z CudaLexer.get_tokens_unprocessedN)rfrgrhrirjrlrkrmrYrTrUrVr[rWrSrqrqrqrrrs rc@sfeZdZdZdZdgZddgZdgZdZde fe gd e j fde fd e j fe gd Zhd Zd dZdS)rzT For `SWIG `_ source code. .. versionadded:: 2.0 SWIGswigz*.swgz*.iz text/swigg{Gz?z \$\**\&?\w+z(%[a-z_][a-z0-9_]*)z##*[a-zA-Z_]\w*)rre>R%arg%bang%init%warn%apply%begin%clear%types%csenum%define%delete%enddef%extend%header%ignore%import%inline%insert%kwargs%module%nspace%pragma%rename%shadow%sizeof%catches%csconst%default%defined%feature%include%luacode%mutable%typemap%varargs %callback %constant %copyctor %director %fragment %implicit %javaenum %perlcode %template %attribute %delobject %exception %fragments %immutable %javaconst %newobject %pythonabc %refobject %typecheck %descriptor %ignorewarn %naturalvar %pythoncode %shared_ptr %warnfilter %defaultctor %defaultdtor %ifcplusplus %unrefobject %csconstvalue %exceptionvar %implicitconv %pythonappend %trackobjects%javaexception%pythondynamic%pythonprepend%exceptionclass%javaconstvalue%pythoncallback%pythonmaybecall%nestedworkaround%pythonnondynamic%csmethodmodifiers%csnothrowexception%javamethodmodifiers%extend_smart_pointercCs:d}td|tj}|D]}|tjvrd}|Sd}q |S)Nrz^\s*(%[a-z_][a-z0-9_]*)g\(\?gQ?)refindallMrswig_directives)r_rvmatchesmrqrqrr analyse_textxs zSwigLexer.analyse_textN)rfrgrhrirjrkrlrmpriorityr rr\r rrprrrqrqrqrrrEs$ rc @seZdZdZdZgdZgdZdgZdee j dde fee j dde j fee jddejfee jddejfee jd dd ejfegiZd S) rz For `MQL4 `_ and `MQL5 `_ source code. .. versionadded:: 2.0 MQL)mqlmq4mq5mql4mql5)z*.mq4z*.mq5z*.mqhz text/x-mqlrer^r_z(clr)?prefixr`N)rfrgrhrirjrkrlrmrrkeywordsr c_typesrntypesr r\ constantsConstantcolorsrrprqrqrqrrrs"rc@sVeZdZdZdZdgZdgZdgZddhZhdZ hd Z hd Z hd Z d d Z dS)ru For `Arduino(tm) `_ source. This is an extension of the CppLexer, as the Arduino® Language is a superset of C++ .. versionadded:: 2.1 Arduinoarduinoz*.inoztext/x-arduinosetuploop>orandnotxor>Y unsigned int unsigned char unsigned longLOWrHIGHautorrrrrrFrwordINPUT_Boolarrayr)rrGrrunionOUTPUTr rrr6friendr7int8_tr%signedrr3rstructPROGMEMbooleancomplexint16_tint32_tint64_tr#typedefuint8_trEXTERNALINTERNAL_Complexexplicitoperatorruint16_tuint32_tuint64_tunsignedrr$ _Imaginary atomic_int const_cast INTERNAL1V1 LED_BUILTIN SYSEX_START atomic_bool atomic_char atomic_long atomic_uint static_cast INPUT_PULLUP INTERNAL2V56 SET_PIN_MODE SYSTEM_RESET atomic_llong atomic_schar atomic_short atomic_uchar atomic_ulong dynamic_cast REPORT_ANALOG atomic_ullong atomic_ushortANALOG_MESSAGEFIRMATA_STRINGREPORT_DIGITALDIGITAL_MESSAGEreinterpret_cast>WSDGSMSPITFTabsbitcosendrmapmaxminpowputrunsintanFileGPRSRSSISSIDTaskWiFiWirebeepfillfindhomelinemoveopenpeekreadrectseeksizesqrtstepstopr_toneturnAudioBSSIDMouseServobeginblinkclearclickclosedelayflushimageisPINmkdirpointpressprintreadyrmdirwidthwriterBridgeClientEEPROMFileIOGSMPINIRreadPImageSerialServerStreamattachbitSetbuffercircleconfigcursordetachendSMSexistsgetKeyheightlistenmicrosmillisnoFillnoTonerandomremovesetDNSstrokeConsoleEsploraFirmataGSMBandGSM_SMSMailboxProcessStepperUSBHostWiFiUDPbeginSDbitReadconnectdisplaydrawBMPgetBandgetIMEIisAlphaisAsciiisDigitisGraphisPunctisSpaceisValidlocalIPlowBytenoBlinkpinModepointToprepareprintlnprocesspulseInreadRedreleaserunningsetBandsetModeshiftInEthernetGSMModemKeyboardattachedbeginSMSbeginTFTbitClearbitWritecheckPINcheckPUKcheckRegendWritehangCallhighByteknobReadmaintainnoBuffernoCursornoStrokeoverflowparseIntplayFilepositionreadBlueremoteIPsetSpeedshiftOutshutdowntransferupdateIRwriteRGBwriteRed GSMClient GSMServer IPAddress Scheduler YunClient YunServer available changePIN connected constrain endPacket exitValue findUntil gatewayIP getButton getOemKey getResult getSocket isControl isPressed loadImage noDisplay onReceive onRequest pauseMode readBytes readGreen sendSysex setCursor startLoop switchPIN tuneWrite voiceCall writeBlue writeJSON EsploraTFT FileSystem GSMScanner HttpClient RobotMotor WiFiClient WiFiServer analogRead answerCall attachGPRS autoscroll background beginWrite createChar debugPrint disconnect getPINUsed getXChange getYChange interrupts keyPressed macAddress motorsStop mouseMoved parseFloat playMelody randomSeed readButton readSlider readString releaseAll remotePort sendAnalog sendString setPINUsed setTimeout subnetMask tempoWrite writeGreen EthernetUDP analogWrite beginPacket clearScreen compassRead digitalRead drawCompass isDirectory isListening isLowerCase isPrintable isUpperCase keyReleased leftToRight motorsWrite parsePacket readMessage requestFrom rightToLeft serialEvent setBitOrder setDataMode setTextSize GSMVoiceCall RobotControl addParameter beginSpeaker blinkVersion cityNameRead digitalWrite displayLogos getModifiers isActionDone isWhitespace keyboardRead mouseDragged mousePressed noAutoscroll noInterrupts openNextFile parseCommand printVersion processInput readNetworks remoteNumber scanNetworks userNameRead waitContinue writeMessage LiquidCrystal cityNameWrite mouseReleased readJoystickX readJoystickY robotNameRead userNameWriteEthernetClientEthernetServerSoftwareSerialencryptionTypeisAlphaNumericreadBytesUntilreadMicrophonerobotNameWriteMouseControlleranalogReferenceattachInterruptcountryNameReaddetachInterruptendTransmissionreadLightSensorreadStringUntilreadTemperaturerewindDirectoryrunShellCommandsetClockDividercountryNameWritelineFollowConfigmessageAvailablesendDigitalPortsbeginTransmissiondelayMicrosecondsgetAsynchronouslygetCurrentCarriergetSignalStrengthlistenOnLocalhostreadAccelerometerrunAsynchronouslyscrollDisplayLeftwriteMicrosecondsKeyboardControllergetVoiceCallStatusisHexadecimalDigitreadJoystickButtonreadJoystickSwitchscrollDisplayRightsetFirmwareVersionnoListenOnLocalhostsendDigitalPortPairanalogReadResolutionprintFirmwareVersionanalogWriteResolutionretrieveCallingNumberrunShellCommandAsynchronously>asmr/rtypeidalignofmutabledecltypenoexceptrestricttemplatetypename constexprr thread_localr[ccst||D]J\}}}||jvr|tj|fVq||jvr%|t|fVq||jvr2|tj |fVq||j vr>|t|fVq||j vrK|tj |fVq|||fVqdSrR) rrS structurer r operatorsr rVr rZsuppress_highlightr[r\r]rqrqrrrSs     z#ArduinoLexer.get_tokens_unprocessedN)rfrgrhrirjrkrlrmrsrtrVr[rurSrqrqrqrrrs A rc@sPeZdZdZdZdgZdgZgZddee e dfe de fe d e fe giZ d S) rzj For `Charm++ `_ interface files (.ci). .. versionadded:: 2.4 Charmcicharmciz*.cirz (module)(\s+)rb) mainmodule maincharecharergroup nodegroupmessage conditional)entry aggregatethreadedsync exclusivenokeepnotrace immediate expeditedr7localpythonaccel readwrite writeonly accelblock memcriticalpackedvarsizeinitprocinitnodeinitcall stacksize createhere createhomereductiontargetigetnocopyrk migratablereadonlyN)rfrgrhrirjrkrlrmrr rrrrprqrqrqrrr s"rc@seZdZdZdZdgZddgZgZdZe ddd d e fd e e j e jd fd e e j e je je jfde e j e je je jfde e j e jfde jfde jfde jfde jfde jfdefe defeefdefgeddedfeddefdedfgdedfededgd eejd!fgedd"efd#ejfed$d%edfgede d&dd d ejfe d'dd d ejfe d(dd)d e eeej fe d*dd d efd+e eeej d,fd-e ej!eej!fd.e ejeefd/efeded$g d0Z"d1S)2rz Lexer for `Object Management Group Interface Definition Language `_. .. versionadded:: 2.9 z!OMG Interface Definition Languagezomg-idlz*.idlz*.pidlz ((::)?\w+)+)rFrGz(?i)r^rz ([Ll]?)(")rz([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 [{};:,<>\[\]]rz\(rvalues=z\)rdannotation_params@annotation_params_maybez[{,]z\w+annotation_applz\})rrrCrinoutr)ranynativebitfieldrrrwcharoctetrrrrrrrrrrrrfixedsequencerwstringr) z @annotationrrbitsetr* exception valuetype eventtyperyz (\s+)(\w+))&r,alias attributerA connectorconsumescontextcustomremitsfactoryfinder getraisesr.r4manages mirrorportmultipleObjectoneway primarykeyr#portporttyperr% publishesraisesr setraisessupportsr@ truncatablerirp typeprefixr ValueBasez(?i)(enum|bitmask)(\s+)(\w+)rz(?i)(module)(\s+)(\w+)z (\w+)(\s*)(=)z[\(\)])rrrrrrN)#rfrgrhrirjrkrlrm scoped_namerrrr AffixDoubler rr rrr r r rrrr rr r rnrrorrprqrqrqrrr>s    r)$rirpygments.lexerrrrrrrpygments.tokenrr r r r r rrrpygments.lexers.c_cpprrpygments.lexersr__all__rrrrrrrrrrrrqrqrqrrs& , (3!b0B