Your IP : 3.145.2.6
3
M��ZR� � @ s� d dl mZ d dlmZmZ d dlmZmZ yd dl mZ W n e
k
rX ddl Z Y nX ddlZddlZddl
Z
y(e
jd#k r�ddlZnddlZej� ZW n e
k
r� dZY nX dZejd ejejB �Zejd
ejejB �Zejd�Zejd�Zejd
�Zejd�Zdaejdej�Zejd�Z ejd�Z!ejd�Z"ejd�Z#ejd�Z$ejd�Z%ejd�Z&dd� Z'dd� Z(dd� Z)dd� Z*dd � Z+G d!d"� d"e,�Z-dS )$� )�model)�COMMON_TYPES�resolve_common_type)�FFIError� CDefError)�
_pycparser� N� z<cdef source string>z/\*.*?\*/|//([^\n\\]|\\.)*?$z?^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)\b((?:[^\n\\]|\\.)*?)$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 krtj� a t S )N)�
_parser_cache� pycparserZCParser� r r �/usr/lib64/python3.6/cparser.py�_get_parser* s r c C s g }x�t j| �}|sP |j| d |j� � � |jd� d}|j|j� � |j� }| jd|�rn|jd� |d7 }d}|}x`|t| �k r�| | }|dkr�|d7 }n.|dkr�|dkr�P |d8 }n|dkr�|dkr�P |d7 }qxW | ||� | | |d � } qW |j| � dj|�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_pycparser0 s<