/usr/lib64/python3.9/site-packages/cffi/__pycache__
Edit: /usr/lib64/python3.9/site-packages/cffi/__pycache__/cparser.cpython-39.pyc (23687B)
a
—`Ǭ ã @ sÎ d dl mZ d dlmZmZ d dlmZmZ zd dl mZ W n e
yV ddl Z Y n0 ddlZddlZddl
Z
z(e
jdk r†ddlZnddlZe ¡ ZW n e
y® dZY n0 dd „ Zd
Ze dejejB ¡Ze dejejB ¡Ze d
ej¡Ze d¡Ze d¡Ze d¡Ze d¡Zdae dej ¡Z!e d¡Z"e d¡Z#e d¡Z$e d¡Z%e d¡Z&e d¡Z'e d¡Z(dd„ Z)dd„ Z*dd„ Z+d d!„ Z,d"d#„ Z-d$d%„ Z.d&d'„ Z/d(d)„ Z0d*d+„ Z1G d,d-„ d-e2ƒZ3dS ).é )Úmodel)ÚCOMMON_TYPESÚresolve_common_type)ÚFFIErrorÚ CDefError)Ú
_pycparseré N)é c C s dd l } dd l} d S ©Nr )Zpycparser.yacctabZpycparser.lextab)Ú pycparser© r ú2/usr/lib64/python3.9/site-packages/cffi/cparser.pyÚ%_workaround_for_static_import_finders s r z
z/\*.*?\*/|//([^\n\\]|\\.)*?$z?^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)\b((?:[^\n\\]|\\.)*?)$z^[ \t]*#[ \t]*(?:line|\d+)\b.*$z=\s*\.\.\.\s*[,}]|\.\.\.\s*\}z__dotdotdot\d+__$z\[\s*\.\.\.\s*\]z\w+|\Sz-?0?x?[0-9a-f]+[lu]*$z\b(__stdcall|WINAPI)\bz[(]\s*(__stdcall|WINAPI)\bz\b__cdecl\bz9\bextern\s*"(Python|Python\s*\+\s*C|C\s*\+\s*Python)"\s*.z'[*]\s*((const|volatile|restrict)\b\s*)+z3(\b(int|long|short|signed|unsigned|char)\s*)+\.\.\.z\b(double|float)\s*\.\.\.c C s t d u rt ¡ a t S ©N)Ú
_parser_cacher ZCParserr r r r
Ú_get_parser2 s r c C s g }t | ¡}|sqð| | d | ¡ … ¡ | d¡ d}| | ¡ ¡ | ¡ }| d|¡rl| d¡ |d7 }d}|}|t| ƒk rÒ| | }|dkrš|d7 }n.|dkr¶|dkr¬qÒ|d8 }n|dv rÈ|dkrÈqÒ|d7 }qt| ||… | | |d … } q| | ¡ d |¡S )Nú(ú)Ú*r r z,;=Ú ) Ú_r_star_const_spaceÚsearchÚappendÚstartÚgroupÚendÚ
startswithÚlenÚjoin)ÚcsourceÚpartsÚmatchÚclosingÚendposÚlevelÚiÚcr r r
Ú_workaround_for_old_pycparser8 s6
r' c C s, g }t | ¡}|s�q| ¡ d }| | d | ¡ … ¡ d| d¡v rR| d¡ n
| d¡ | | dkrÊ| d|¡}|dk r„tdƒ‚| d|d |¡dkr¢td ƒ‚| | |d |… ¡ | |d d … } nB| d
|¡}|dk rætdƒ‚| | ||d … ¡ | |d d … } | d¡ q| | ¡ d
|¡S )Nr ÚCz(void __cffi_extern_python_plus_c_start; z!void __cffi_extern_python_start; ú{ú}r z!'extern "Python" {': no '}' foundz7cannot use { } inside a block 'extern "Python" { ... }'ú;z'extern "Python": no ';' foundz void __cffi_extern_python_stop;r )
Ú_r_extern_pythonr r r r r Úfindr ÚNotImplementedErrorr )r r r! r# r" Z semicolonr r r
Ú_preprocess_extern_pythonb s2
r/ c C sJ d| vrd S | ¡ D ]0}d|v r| ¡ d¡sdd l}| d¡ qFqd S )Nú"ú#r z¨String literal found in cdef() or type source. String literals are ignored here, but you should remove them anyway because some character sequences confuse pre-parsing.)Ú
splitlinesÚlstripr ÚwarningsÚwarn)r Úliner4 r r r
Ú_warn_for_string_literal” s
r7 c C s$ | j s dd l}| d| jf ¡ d S )Nr zrGlobal variable '%s' in cdef(): for consistency with C it should have a storage class specifier (usually 'extern'))Zstorager4 r5 Úname)Údeclr4 r r r
Ú/_warn_for_non_extern_non_static_global_variable s
þr: c s$ g ‰ ‡ fdd„}t || ¡} | ˆ fS )Nc s t ˆ ƒ}ˆ | ¡ ¡ d| S )Nz#line@%d)r r r )Úmr% ©Úline_directivesr r
Úreplace s z(_remove_line_directives..replace©Ú_r_line_directiveÚsub)r r> r r<