
    Mh[                        d Z ddlZddlmZmZ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mZ ddlmZmZ g dZd Z G d d	 ee                    Z G d
 d ee                    Z G d de          Z G d de          ZdS )z
    pygments.lexers.objective
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Objective-C family languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsusingthiswordsinheritdefault)
TextKeywordNameStringOperatorNumberPunctuationLiteralComment
Whitespace)CLexerCppLexer)ObjectiveCLexerObjectiveCppLexer
LogosLexer
SwiftLexerc                      t          j        d          t          j        d           G  fdd           }|S )z^
    Generate a subclass of baselexer that accepts the Objective-C syntax
    extensions.
    z @(?:end|implementation|protocol)z<\[\s*[a-zA-Z_]\w*\s+(?:[a-zA-Z_]\w*\s*\]|(?:[a-zA-Z_]\w*)?:)c                      e Zd ZdZded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j
        fdedfdedfdedf edd          ef edd          ej        fdej        fdej        fdej        fdej        fd eee          dfd eee          dfdefegd eej        eej        ee          dfd  eej        eej                  d!fd" eej        eej        ee          dfd# eej        eej                  d!fd$ eej        ee          dfd%ej        d!fgd& eej        e          d'fd( eej        e          d!fg ed)           ed*          d+efd,ed-fd.ed!fgd/ eee ee          eej                  d0feg ed)          d1efd2efd3 e ee          eej                  fd4ej        fd+ed!fd,ed5f ed!          gd6ed7fd8ed!f ed9          gd6ed-fd8ed!f ed9          gd:ed;fd<ed!f ed9          gd:ed-fd<ed!f ed9          gd.ed!f ed9          gd=Z fd>ZdBfd@	ZdAS )C-objective.<locals>.GeneratedObjectiveCVariantzU
        Implements Objective-C syntax on top of an existing C family lexer.
        @"stringz	@(YES|NO)z3@'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'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@\(literal_numberz@\[literal_arrayz@\{literal_dictionary)*z	@selectorz@privatez
@protectedz@publicz@encodez@synchronizedz@tryz@throwz@catchz@finallyz@endz	@propertyz@synthesize__bridge__bridge_transfer__autoreleasing__block__weak__strongweakstrongcopyretainassignunsafe_unretainedatomic	nonatomicreadonly	readwritesettergettertypeofinoutinoutreleaseclassz@dynamicz	@optionalz	@requiredz@autoreleasepoolz@import\bsuffix)	idinstancetypeClassIMPSELBOOLIBOutletIBActionunicharz@(true|false|YES|NO)\nz(YES|NO|nil|self|super)\bz3(Boolean|UInt8|SInt8|UInt16|SInt16|UInt32|SInt32)\bz(TRUE|FALSE)\bz!(@interface|@implementation)(\s+))#popoc_classnamez(@class|@protocol)(\s+))rG   oc_forward_classname@z7([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?(\s*)(\{))rG   oc_ivars.([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?rG   z6([a-zA-Z$_][\w$]*)(\s*)(\([a-zA-Z$_][\w$]*\))(\s*)(\{)z-([a-zA-Z$_][\w$]*)(\s*)(\([a-zA-Z$_][\w$]*\))z([a-zA-Z$_][\w$]*)(\s*)(\{)([a-zA-Z$_][\w$]*)z([a-zA-Z$_][\w$]*)(\s*,\s*)rI   z([a-zA-Z$_][\w$]*)(\s*;?)
whitespace
statements;z\{#pushz\}z/^([-+])(\s*)(\(.*?\))?(\s*)([a-zA-Z$_][\w$]*:?)method,z\.\.\.z (\(.*?\))(\s*)([a-zA-Z$_][\w$]*)z[a-zA-Z$_][\w$]*:function\(literal_number_inner\)	statementz\[literal_array_innerz\])rO   rH   rI   rK   rootrR   r    rV   r!   rY   r"   c                                          |           rdS d| v rdS t          j         d|           rdS                      |           rdS dS )N      ?r   g?z@[0-9]+gffffff?r   )searchre)text_oc_keywords_oc_messages    Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/objective.pyanalyse_textz:objective.<locals>.GeneratedObjectiveCVariant.analyse_text   se    ""4(( ss9d++ s##D)) s1    rZ   c              3      K   ddl m}m}m} 	                    | ||          D ]A\  }}}|t
          u s|t
          j        u r||v s||v s||v rt
          j        j        }|||fV  Bd S Nr   )COCOA_INTERFACESCOCOA_PROTOCOLSCOCOA_PRIMITIVES)	pygments.lexers._cocoa_builtinsrh   ri   rj   get_tokens_unprocessedr   r@   BuiltinPseudo)
selfr_   stackrh   ri   rj   indextokenvalue	baselexers
            rb   rl   zDobjective.<locals>.GeneratedObjectiveCVariant.get_tokens_unprocessed   s      2 2 2 2 2 2 2 2 2 2 44T4GG* *#ueD==ETZ$7$7 000E_4L4L#333 $ 3UE)))))* *rd   N)re   ) __name__
__module____qualname____doc__r   r   CharFloatHexOctIntegerr   r   r   Typer   rm   r   r   r   r	   r@   Labelr   r   r   FunctionVariabler
   tokensrc   rl   )r`   ra   rt   s   rb   GeneratedObjectiveCVariantr   *   sU       	 	 )v&GU:FLI2FLA(&*5!6:.v~."23/2"67 @ INO O O 	  ;CHJ J J +DL9-t|<GV"DL15xx7N7N)++XXgt-D-D13 {#K&R L$*dDJkJJ%' C$*dDJ77A K$*dDJkJJ%' B$*dDJ77A 0$*dK88:NP&
F;!& 0$*d++-CE-$*d++V5% %%%%k"W-V,) +tUU4[[/ / 	 %% {#K(4%%++tT];;=%t}5k6*Z0 %;<($$ W-V,$$% %:;($$ W-V,$$$ ($$#ev
 v
p		 		 		 		 		 			* 	* 	* 	* 	* 	* 	* 	*rd   r   )r^   compile)rt   r   r`   ra   s   ` @@rb   	objectiver      s     :ABBL * 4 5 5KS* S* S* S* S* S* S* S* S*Y S* S* S*j &%rd   c                   8    e Zd ZdZdZdZg dZddgZdgZdZ	d	Z
d
S )r   zC
    For Objective-C source code with preprocessor directives.
    zObjective-Czhttps://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html)zobjective-c
objectiveczobj-cobjcz*.mz*.hztext/x-objective-c 皙?N)ru   rv   rw   rx   nameurlaliases	filenames	mimetypesversion_addedpriority rd   rb   r   r      sM          D PC<<<GI%&IMHHHrd   r   c                   4    e Zd ZdZdZg dZddgZdgZdZdZ	d	S )
r   zE
    For Objective-C++ source code with preprocessor directives.
    zObjective-C++)zobjective-c++zobjectivec++zobj-c++zobjc++z*.mmz*.hhztext/x-objective-c++r   r   N)
ru   rv   rw   rx   r   r   r   r   r   r   r   rd   rb   r   r      sF          DDDDG I'(IMHHHrd   r   c                   p   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e
eeej        ee          fd
 ee
e          dfd ee
          fd ee
eej                  dfd ee
e          dfegdefdedfd eej        eeee          fdej        fdedfgd eej        eej                  dfdej        dfgd ee
e          dfd ee
eej                  fd ee
eej        eee          fd ee
ee          dfd ee
ee
ee
          fd eee
e          fegdZ ej        d          Zd  Zd!S )"r   zK
    For Logos + Objective-C source code with preprocessor directives.
    Logoslogos)z*.xz*.xiz*.xmz*.xmiztext/x-logosz1.6g      ?z(%orig|%log)\bz*(%c)\b(\()(\s*)([a-zA-Z$_][\w$]*)(\s*)(\))z(%init)\b(\()logos_init_directivez(%init)(?=\s*;)z%(%hook|%group)(\s+)([a-zA-Z$_][\w$]+)rG   z(%subclass)(\s+))rG   logos_classname\s+rS   )r   rG   z'([a-zA-Z$_][\w$]*)(\s*)(=)(\s*)([^);]*)rM   rW   rL   r   z*(%config)(\s*\(\s*)(\w+)(\s*=)(.*?)(\)\s*)z(%ctor)(\s*)(\{)rT   z(%new)(\s*)(\()(.*?)(\))z(\s*)(%end)(\s*))rO   r   r   rZ   z%(?:hook|ctor|init|c\()c                 H    t           j                            |           rdS dS )Nr\   r   )r   _logos_keywordsr]   )r_   s    rb   rc   zLogosLexer.analyse_text  s%    %,,T22 	3qrd   N)ru   rv   rw   rx   r   r   r   r   r   r   r   r   r   r   r   r@   r	   r   r   r   r^   r   r   rc   r   rd   rb   r   r      s>         DiG000I IMH (:Xg{D$*dKPPRXg{++-CE'!2!235XgtTZ00&: ((7D"9"9(*
 TN+?@7Xdj$T4@@B"DJ/K(!
 ?Xdj$
33V="DJ7
 !((7D"9"9 5XgtTZ002:XgtT]D&$GGI ((7D+"F"F(XgtWfg>>@ ((4$"?"?@
7) )FV !bj!;<<O    rd   r   c                   H   e Zd ZdZdZdZdgZdgZdgZdZ	de
fd	efd
ej        dfdej        dfdej        df ed           edd          ej        f edd          ej        j        fd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dfdedfdefd efd!efg ed"d          efd#ej         f ed$d          ej         fd%ej!        fd&ej"        d'fd( e#ej"        eej$                  fd) e#ej"        eej%                  fd* e#ej"        eej                  f ed+d          ej"        fg	d,ej&        fgded-f ed.          d/ej        fg ed.          d0ej        fdej        d1fd2ej        d-fd3ej        fgded-fd!ej$        f ed4          gded-f ed          d5ej        f ed4          gded-f ed6          gded-f ed6          gd7ej'        d8fd9ej(        fd:efd;efgd<ej'        d1fd=ej'        d-f ed4          gd>Z)d? Z*d@S )Ar   z
    For Swift source.
    Swiftzhttps://www.swift.org/z*.swiftswiftztext/x-swiftz2.0z\nr   z//comment-singlez/\*comment-multiz##(if|elseif|else|endif|available)\bpreprockeywords)Array!AutoreleasingUnsafeMutablePointerBidirectionalReverseViewBitBoolCFunctionPointerCOpaquePointerCVaListPointer	CharacterClosedIntervalCollectionOfOneContiguousArray
DictionaryDictionaryGeneratorDictionaryIndexDoubleEmptyCollectionEmptyGeneratorEnumerateGeneratorEnumerateSequenceFilterCollectionViewFilterCollectionViewIndexFilterGeneratorFilterSequenceViewrz   Float80FloatingPointClassificationGeneratorOfGeneratorOfOneGeneratorSequenceHalfOpenInterval
HeapBufferHeapBufferStorageImplicitlyUnwrappedOptionalIndexingGeneratorIntInt16Int32Int64Int8LazyBidirectionalCollectionLazyForwardCollectionLazyRandomAccessCollectionLazySequenceMapCollectionViewMapSequenceGeneratorMapSequenceViewMirrorDispositionObjectIdentifierOnHeapOptionalPermutationGeneratorQuickLookObjectRandomAccessReverseViewRangeRangeGeneratorRawByteRepeatReverseBidirectionalIndexReverseRandomAccessIndex
SequenceOfSinkOfSliceStaticStringStrideThroughStrideThroughGeneratorStrideToStrideToGeneratorr   UIntUInt16UInt32UInt64UInt8UTF16UTF32UTF8UnicodeDecodingResultUnicodeScalar	UnmanagedUnsafeBufferPointerUnsafeBufferPointerGeneratorUnsafeMutableBufferPointerUnsafeMutablePointerUnsafePointerZip2ZipGenerator2AbsoluteValuable	AnyObjectArrayLiteralConvertibleBidirectionalIndexTypeBitwiseOperationsTypeBooleanLiteralConvertibleBooleanTypeCVarArgTypeCollectionType
ComparableDebugPrintableDictionaryLiteralConvertible	Equatable)ExtendedGraphemeClusterLiteralConvertibleExtensibleCollectionTypeFloatLiteralConvertibleFloatingPointTypeForwardIndexTypeGeneratorTypeHashableIntegerArithmeticTypeIntegerLiteralConvertibleIntegerTypeIntervalType
MirrorTypeMutableCollectionTypeMutableSliceableNilLiteralConvertibleOutputStreamType	PrintableRandomAccessIndexTypeRangeReplaceableCollectionTypeRawOptionSetTypeRawRepresentableReflectableSequenceTypeSignedIntegerTypeSignedNumberTypeSinkType	Sliceable
Streamable
StrideableStringInterpolationConvertibleStringLiteralConvertibleUnicodeCodecTypeUnicodeScalarLiteralConvertibleUnsignedIntegerType_ArrayBufferType_BidirectionalIndexType_CocoaStringType_CollectionType_Comparable_ExtensibleCollectionType_ForwardIndexType_Incrementable_IntegerArithmeticType_IntegerType_ObjectiveCBridgeable_RandomAccessIndexType_RawOptionSetType_SequenceType_Sequence_Type_SignedIntegerType_SignedNumberType
_Sliceable_Strideable"_SwiftNSArrayRequiredOverridesType_SwiftNSArrayType_SwiftNSCopyingType'_SwiftNSDictionaryRequiredOverridesType_SwiftNSDictionaryType_SwiftNSEnumeratorType_SwiftNSFastEnumerationType#_SwiftNSStringRequiredOverridesType_SwiftNSStringType_UnsignedIntegerTypeC_ARGCC_ARGVProcessAnyAnyClassBooleanLiteralTypeCBoolCCharCChar16CChar32CDoubleCFloatCIntCLong	CLongLongCShortCSignedCharCUnsignedIntCUnsignedLongCUnsignedShort	CWideCharExtendedGraphemeClusterTypeFloat32Float64FloatLiteralTypeIntMaxIntegerLiteralTypeStringLiteralTypeUIntMaxUWordUnicodeScalarTypeVoidWordNSErrorPointerNSObjectProtocolSelectorr;   r<   )KabsadvancealignofalignofValueassertassertionFailurecontainscountcountElements
debugPrintdebugPrintlndistance	dropFirstdropLastdump	enumerateequalextend
fatalErrorfilterfindfirst	getVaListindicesinsertisEmptyjoinlastlazylexicographicalComparemapmax
maxElementmin
minElementnumericCastoverlaps	partitionpreconditionpreconditionFailureprefixprintprintlnreducereflect	removeAllremoveAtIndex
removeLastremoveRangereversesizeofsizeofValuesortsortedsplicesplit
startsWithstridestrideofstrideofValuer=   swaptoDebugStringtoString	transcodeunderestimateCountunsafeAddressOfunsafeBitCastunsafeDowncastwithExtendedLifetimewithUnsafeMutablePointerwithUnsafeMutablePointerswithUnsafePointerwithUnsafePointers
withVaListz\$\d+z0b[01_]+z	0o[0-7_]+z0x[0-9a-fA-F_]+zD[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*|[eE][+\-]?[0-9_]+)z[0-9][0-9_]*z"""string-multi"r   z/[(){}\[\].,:;=@#`?]|->|[<&?](?=\w)|(?<=\w)[>!?]z[/=\-+!*%<>&|^?~]+z[a-zA-Z_]\w*)asasyncawaitbreakcasecatchcontinuer
   deferdoelsefallthroughforguardifr6   isrepeatreturnz	#selectorswitchthrowtrywherewhilez@availability\([^)]+\)))associativityconveniencedynamicdidSetfinalgetindirectinfixr8   r  leftmutatingnonenonmutatingoptionaloverridepostfix
precedencer  Protocolrequiredrethrowsrightsetthrowsr~   unownedr)   willSetz@availabilityz@autoclosurez	@noreturnz@NSApplicationMainz
@NSCopyingz
@NSManagedz@objcz@UIApplicationMainz	@IBActionz@IBDesignablez@IBInspectablez	@IBOutletz(as|dynamicType|false|is|nil|self|Self|super|true|__COLUMN__|__FILE__|__FUNCTION__|__LINE__|_|#(?:file|line|column|function))\bzimport\bmodulez9(class|enum|extension|struct|protocol)(\s+)([a-zA-Z_]\w*)z(func)(\s+)([a-zA-Z_]\w*)z(var|let)(\s+)([a-zA-Z_]\w*))actorassociatedtyper:   deinitenum	extensionfuncimportinitinternalletoperatorprivateprotocolpublicstaticstruct	subscript	typealiasvarz2:param: [a-zA-Z_]\w*|:returns?:|(FIXME|MARK|TODO):rG   commentz[^\n]+z[^*/]+rQ   z\*/z[*/]+rZ   z[A-Za-z]\w*string-commonz\\\(string-intpzN\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}z[^\\"]+z\\rU   rW   )rZ   r   r  r   r   r  r   r   r  r  r  c              #      K   ddl m}m}m} t	          j        | |          D ]A\  }}}|t          u s|t          j        u r||v s||v s||v rt          j        j	        }|||fV  Bd S rg   )
rk   rh   ri   rj   r   rl   r   r@   rm   rn   )ro   r_   rh   ri   rj   rq   rr   rs   s           rb   rl   z!SwiftLexer.get_tokens_unprocessed  s      	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 1$==	& 	&E5%}} 3 3,,,0H0H/// L/E%%%%%	& 	&rd   N)+ru   rv   rw   rx   r   r   r   r   r   r   r   r   r   Single	MultilinePreprocr   r   r   rm   rn   r   r   Binr|   r{   rz   r}   r   r   r   r   ReservedConstantDeclarationr   r@   r   SpecialInterpolEscaper   rl   r   rd   rb   r   r     s         D
"CIiG IM
 DMZ GN$45W&83W_iP GJ U ?B~ KP?Q ?Q ?Q@ \A@D U  ',- - -  \ !"& t}% &*%6:&,-.4l<fn-V^,68$ @M"H- d#mw
r U " +0	1 1 1
  '(89U 	/ 8=	> 	> 	> 
34;4DF '-x8IXg):tzBBD)Xg):t}EEG,hhw7J/( /( )U E NST T T  	";"
H C_
 J'GI'
 GI)*W&0W&/w()
 J'dj)GFOO
 J'GJW_-GFOO	
 66"GO$$

 VV$GO$$

 fo}59:@-I FO
 FOW-FOV,GFOO
QM MF^& & & & &rd   r   )rx   r^   pygments.lexerr   r   r   r   r   r   r	   r
   pygments.tokenr   r   r   r   r   r   r   r   r   r   pygments.lexers.c_cppr   r   __all__r   r   r   r   r   r   rd   rb   <module>r     s     
			                   6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 3 2 2 2 2 2 2 2
N
N
Nh& h& h&V    ii''   
 
 
 
 
		(++ 
 
 
< < < < <" < < <~e& e& e& e& e& e& e& e& e& e&rd   