File: //proc/self/root/opt/alt/python37/lib/python3.7/site-packages/ply/__pycache__/cpp.cpython-37.pyc
B
տVX� �
@ sH d dl mZ dZdZdd� ZdZdZdZd d
� ZeZ dZ
dd
� Zdd� Zdd� Z
dd� Zdd� Zd dlZd dlZd dlZd dlZe�d�Zddddddddd d!� Zd"d#� ZG d$d%� d%e�ZG d&d'� d'e�Zed(k�rDd dlmZ e�� Zd dl Z e!e j"d) �Z#e#�$� Z%ee�Z&e&�'e%e j"d) � x"e&�(� Z)e)�s2P e*e&j+e)� �q"W dS )*� )�
generators)
ZCPP_ID�CPP_INTEGERZ CPP_FLOATZ
CPP_STRINGZCPP_CHAR�CPP_WSZCPP_COMMENT1ZCPP_COMMENT2Z CPP_POUNDZ
CPP_DPOUNDz+-*/%|&~^<>=!?()[]{}.,;:\'"c C s | j j| j�d�7 _| S )z\s+�
)�lexer�lineno�value�count)�t� r �8/opt/alt/python37/lib/python3.7/site-packages/ply/cpp.py�t_CPP_WS s r
z\#z\#\#z[A-Za-z_][\w_]*c C s | S )zA(((((0x)|(0X))[0-9a-fA-F]+)|(\d+))([uU][lL]|[lL][uU]|[uU]|[lL])?)r )r
r r r r $ s r z?((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?c C s | j j| j�d�7 _| S )z\"([^\\\n]|(\\(.|\n)))*?\"r )r r r r )r
r r r �t_CPP_STRING. s r c C s | j j| j�d�7 _| S )z(L)?\'([^\\\n]|(\\(.|\n)))*?\'r )r r r r )r
r r r �
t_CPP_CHAR4 s r c C s8 | j �d�}| j j|7 _d| _|r.d| nd| _ | S )z(/\*(.|\n)*?\*/)r r � )r r r r �type)r
Zncrr r r �t_CPP_COMMENT1: s
r c C s d| _ d| _dS )z
(//.*?(\n|$))r r N)r r )r
r r r �t_CPP_COMMENT2C s r c C s( | j d | _| j d | _ | j�d� | S )Nr � )r r r �skip)r
r r r �t_errorH s r Nz\?\?[=/\'\(\)\!<>\-]�#�\�^�[�]�|�{�}�~) �=�/�'�(�)�!�<�>�-c C s t �dd� | �S )Nc S s t | �� d S )N���)�
_trigraph_rep�group)�gr r r �<lambda>r � ztrigraph.<locals>.<lambda>)�
_trigraph_pat�sub)�inputr r r �trigraphq s r2 c @ s e Zd Zddd�ZdS )�MacroNFc C s0 || _ || _|| _|| _|r&|d | _d | _d S )Nr) )�namer �arglist�variadic�vararg�source)�selfr4 r r5 r6 r r r �__init__� s
zMacro.__init__)NF)�__name__�
__module__�__qualname__r: r r r r r3 � s r3 c @ s� e Zd Zd&dd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dd� Z
dd� Zdd� Zd'dd�Z
dd� Zd(dd�Zdd� Zdd� Zd d!� Zdi fd"d#�Zd$d%� ZdS ))�PreprocessorNc C sl |d krt j}|| _i | _g | _g | _| �� t�� }| �dt� d|� � | �dt� d|� � d | _
d S )Nz
__DATE__ "%s"z%b %d %Yz
__TIME__ "%s"z%H:%M:%S)�lexr �macros�path� temp_path�lexprobe�timeZ localtime�defineZstrftime�parser)r9 r Ztmr r r r: � s zPreprocessor.__init__c C s4 g }| j �|� x| j �� }|s"P |�|� qW |S )N)r r1 �token�append)r9 �text�tokens�tokr r r �tokenize� s
zPreprocessor.tokenizec C s t d|||f � d S )Nz%s:%d %s)�print)r9 �file�line�msgr r r �error� s zPreprocessor.errorc C s� | j �d� | j �� }|r$|jdkr.td� n|j| _| j �d� | j �� }|r^t|j�dkrhtd� n|j| _t|j�| _ | j �d� | j �� }|r�|jdkr�td� n|j| _
| j �d� | j �� }|r�|jdkr�d | _n|j| _| j �d � | j �� }|�r|jd k�rd | _td
� n|j| _| j| jf| _
ddd
ddddddg }xB|D ]:}| j �|� | j �� }|�r||j|k�rPtd| � �qPW d S )NZ
identifierz"Couldn't determine identifier typeZ12345i90 zCouldn't determine integer typez
"filename"zCouldn't determine string typez r z%Couldn't determine token for newlinesr&