
    ?e$                        d dl mZ ddlmZ dZdZh dZh dZh dZh d	Z	g d
Z
e
                    e           e
                    e           e
                    e           e
                    e	           d Zd ZdZdZd Zd Zd Zd Zd Zd Zd Zd ZdZ ee          d             Z ee          d             Zd Zd Zd Zd Zd Zd Z d  Z!d! Z"d" Z#d# Z$d$Z%d%Z&d&Z'd'S )(    )TOKEN   )	CodeBlock))code	exclusive)ccommentr   )	directive	inclusive)needeolr
   z(){}.,;:=!-+*/&|~<>[]%^>   IfEndImportModulePluginFeatureIncludeLicensePropertyTimeline	Exception	Platforms
AutoPyName
MappedTypeHideNamespaceCompositeModuleDefaultEncodingDefaultMetatypeDefaultSupertypeDefaultDocstringFormatDefaultDocstringSignature>'   CopyingExtractGetCodeSetCodeTypeCodeUnitCode	Docstring	RaiseCode
AccessCode
MethodCode
ModuleCode
PickleCodeGCClearCodeReleaseCodeInstanceCodeTypeHintCodePreMethodCodeGCTraverseCodeTypeHeaderCodeBIGetBufferCodeVirtualCallCodeFinalisationCodeModuleHeaderCodeBIGetSegCountCodeConvertToTypeCodeExportedHeaderCodeInitialisationCodeVirtualCatcherCodeBIGetCharBufferCodeBIGetReadBufferCodeBIReleaseBufferCodeConvertFromTypeCodeUnitPostIncludeCodeVirtualErrorHandlerBIGetWriteBufferCodeExportedTypeHintCodeConvertToSubClassCodePreInitialisationCodePostInitialisationCode>3   intNULLboolcharenumlongtruevoidclassconstfalsefinalfloatshortslotsthrowunionQ_SLOTdoublepublicsignedsize_tstaticstructQ_SLOTSprivatesignalstypedefvirtualwchar_tQ_SIGNALexplicitnoexceptoperatortemplateunsigned	Py_hash_t	Q_SIGNALS	namespace	protected
Py_ssize_t
SIP_PYDICT
SIP_PYENUM
SIP_PYLIST
SIP_PYTYPESIP_PYSLICESIP_PYTUPLESIP_SSIZE_TSIP_PYBUFFERSIP_PYOBJECTSIP_PYCALLABLE>   idgetsetTruenametypeFalseorderformatlanguagelicenseeoptional	signature	timestampremove_leadingcall_super_inituse_limited_apipy_ssize_t_cleankeyword_argumentsuse_argument_namesall_raise_py_exceptiondefault_VirtualErrorHandler)
CODE_BLOCKDOTTED_NAMEELLIPSISEOFEOL	FILE_PATH
LOGICAL_ORNAMENUMBERQUOTED_CHARREALSCOPESTRINGc                 v    	 | j         j                                         n# t          $ r Y d S w xY wd| _        | S )Nr   )lexerpmpop_file
IndexErrorr   ts    @lib/python3.11/site-packages/sipbuild/generator/parser/tokens.pyt_eofr   q   sP    	
   tt
 AFHs   ! 
//c                     | j         j                            | d                    | j        d                              | j                             d           d S )Nz'{0}' is unexpectedr      )r   r   lexer_errorr   valueskipr   s    r   t_ANY_errorr      sF    GJ13::171:FFGGGGLLOOOOO    z 	 c                     | j         }|j        }|xj        dz  c_        |j        3|j        dk    r*|j        |j        _        |                    d           dS dS dS )\nr   Nr   r   )r   r   lineno
code_blockparen_depthline_nrset_lexer_state)r   r   r   s      r   	t_newliner      sn     GE	B 
LLALL 
} R^q%8%8 %
6""""" ! %8%8r   c                 H    | j         j        xj        dz  c_        d| _        | S )z\(r   (r   r   r   r   r   s    r   t_LPARENr      (     GJaAFHr   c                 H    | j         j        xj        dz  c_        d| _        | S )z\)r   )r   r   s    r   t_RPARENr      r   r   c                     | j         | j                             d          dz   d         }|t          v r5t          | j        j        j                  | j        j        _        || _        n|t          v r|| _        | S )z%[a-zA-Z][a-zA-Z]*%r   N)
r   indexcode_directivesr   r   r   raw_sip_filer   r   
directives)r   r   s     r   t_DIRECTIVEr      so     717==%%)**+D )!'**A B B
			Hr   c                     d| _         | j        j        j        | _        d| j        j        _        | j                            d           | S )z%Endr   NINITIAL)r   r   r   r   r   beginr   s    r   
t_code_ENDr      s>     AFgj#AG AGJGMM)Hr   c                 z    | j         xj        dz  c_        | j         j                                         d| _        | S )r   r   r   )r   r   r   r   r   r   s    r   t_needeol_newliner      s8     GNNaNNGJ   AFHr   c                 x    | j         xj        dz  c_        | j         j        j        xj        | j        z  c_        dS r   r   N)r   r   r   r   textr   r   s    r   t_code_newliner      s:     GNNaNNGJ!') 4r   c                 N    | j         j        j        xj        | j        z  c_        dS ).N)r   r   r   r   r   r   s    r   	t_code_CHr      s(     GJ!') 4r   z&[._A-Za-z][._/A-Za-z\d\-]*[._A-Za-z\d]c                 d    | j         j                            | j        t                    | _        | S N)r   r   disambiguate_tokenr   keywordsr   r   s    r   t_AMBIGUOUSr      s&     WZ**17H==AFHr   c                 d    | j         j                            | j        t                    | _        | S r   )r   r   r   r   directive_keywordsr   r   s    r   t_directive_AMBIGUOUSr      s'     WZ**174FGGAFHr   c                     dS )z//.*N r   s    r   t_CPPCOMMENTr     s	     4r   c                 :    | j                             d           dS )z/\*r   N)r   
push_stater   s    r   t_COMMENTSTARTr     s!     Gz""" 4r   c                 8    | j                                          dS )z\*/N)r   	pop_stater   s    r   t_ccomment_COMMENTENDr     s     G 4r   c                 0    | j         xj        dz  c_        dS r   )r   r   r   s    r   t_ccomment_newliner   !  s     GNNaNN 4r   c                 F    | j         dk    r| j        xj        dz  c_        dS )r   
r   N)r   r   r   r   s    r   t_ccomment_CHr   ,  s(     	w$	! 4r   c                 J    d| _         t          | j        d          | _        | S )z0x[\da-fA-F]+r      base)r   rH   r   r   s    r   t_HEXNUMBERr   8  s&     AF!'###AGHr   c                     | j         }|d                                         s
|dd         }	 d| _        t          |          | _         n+# t          $ r d| _        t          |          | _         Y nw xY w| S )z--?(\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?[fFlLuU]?Nr   r   )r   isdigitr   rH   
ValueErrorrT   r   r   s     r   t_NUMBERr   B  s     GE9 crc
e**   ,, Hs   A	 	%A10A1c                    | j                             d          }|                    dd          }|                    dd          }|                    dd          }|                    dd	          }d
| _        || _         | S )z"(\\.|[^\\"])*""r   r   z\rz\t	z\\\r   )r   stripreplacer   r   s     r   t_STRINGr   U  sv     GMM#EMM%&&EMM%&&EMM%&&EMM%&&EAFAGHr   c                     d| _         t          t          | j                            d          dd         d                    | _        | S )z'\\x[\da-fA-F]+'r   'r   Nr   r   )r   chrrH   r   r   r   s    r   t_QHEXCHr   f  sC     AF#agmmC((,266677AGHr   c                     t          | j                  }|dk    r-| j        j                            | d           |dk    rd| _        d| _        | j        d         | _        | S )z'[^'\n]*['\n]   z4exactly one character expected between single quotesr   ?r   r   )lenr   r   r   r   r   )r   n_chs     r   t_QCHr  p  si    
 qw<<Dqyy	
qF	H 	H 	H 199AGAFgajAGHr   z\|\|z::z	[_A-Za-z]N)(ply.lexr   specificationr   statesliteralsr   r   r   r   tokensextendr   r   t_ANY_ignoret_code_ignorer   r   r   r   r   r   r   r   	ambiguousr   r   r   r   r   r   r   r   r   r   r   r  t_LOGICAL_ORt_SCOPEt_NAMEr   r   r   <module>r     sz  0       % % % % % %
 %	 	 	
  &      
 
 

 j    o    h      ! ! !     # # #"         	 	 		 	 	   6	y   y                &  "    * 
 
r   