File: //opt/alt/python35/lib64/python3.5/lib2to3/pgen2/__pycache__/conv.cpython-35.opt-2.pyc
���]�%  �               @   s?   d  d l  Z  d  d l m Z m Z Gd d �  d e j � Z d S)�    N)�grammar�tokenc               @   s@   e  Z d  Z d d �  Z d d �  Z d d �  Z d d �  Z d	 S)
�	Converterc             C   s(   |  j  | � |  j | � |  j �  d  S)N)�parse_graminit_h�parse_graminit_c�
finish_off)�selfZ
graminit_hZ
graminit_c� r	   �)/opt/alt/python35/lib64/python3.5/conv.py�run/   s    
z
Converter.runc       	      C   s  y t  | � } Wn= t k
 rO } z t d | | f � d SWYd  d  } ~ Xn Xi  |  _ i  |  _ d } x� | D]� } | d 7} t j d | � } | r� | j �  r� t d | | | j �  f � qo | j �  \ } } t	 | � } | |  j | <| |  j | <qo Wd S)NzCan't open %s: %sFr   �   z^#define\s+(\w+)\s+(\d+)$z%s(%s): can't parse %sT)
�open�OSError�printZ
symbol2numberZ
number2symbol�re�match�strip�groups�int)	r   �filename�f�err�lineno�line�mo�symbol�numberr	   r	   r
   r   5   s&