509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \u  ã               @   s0   d dl mZ G dd„ deƒZG dd„ deƒZdS )é   )Útokenc               @   s   e Zd Zdd„ ZdS )Ú
ParseErrorc             C   s4   t j| d||||f ƒ || _|| _|| _|| _d S )Nz!%s: type=%r, value=%r, context=%r)Ú	ExceptionÚ__init__ÚmsgÚtypeÚvalueÚcontext)Úselfr   r   r   r	   © r   ú+/usr/lib64/python3.6/lib2to3/pgen2/parse.pyr      s    zParseError.__init__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c               @   sH   e Zd Zddd„Zddd„Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dS )ÚParserNc             C   s   || _ |pdd„ | _d S )Nc             S   s   |S )Nr   )ÚgrammarÚnoder   r   r   Ú<lambda>W   s    z!Parser.__init__.<locals>.<lambda>)r   Úconvert)r
   r   r   r   r   r   r   9   s    zParser.__init__c             C   sH   |d kr| j j}|d d g f}| j j| d|f}|g| _d | _tƒ | _d S )Né    )r   ÚstartÚdfasÚstackÚrootnodeÚsetÚ
used_names)r
   r   ÚnewnodeZ
stackentryr   r   r   ÚsetupY   s    zParser.setupc             C   s:  | j |||ƒ}�x$| jd \}}}|\}}	|| }
� xü|
D ]¸\}}| jj| \}}||kr´| j||||ƒ |}x@|| d|fgkr®| jƒ  | js”dS | jd	 \}}}|\}}	qpW dS |dkr:| jj| }|\}}||kr:| j|| jj| ||ƒ P q:W d|f|
k�r$| jƒ  | j�s2td|||ƒ‚qtd|||ƒ‚qW d S )
Nr   r   TFé   ztoo much inputz	bad inputéÿÿÿÿr   )	Úclassifyr   r   ZlabelsÚshiftÚpopr   Úpushr   )r
   r   r   r	   ÚilabelÚdfaÚstater   ZstatesÚfirstZarcsÚiÚnewstateÚtÚvZitsdfaZ	itsstatesZitsfirstr   r   r   Úaddtokenq   s:    zParser.addtokenc             C   sX   |t jkr0| jj|ƒ | jjj|ƒ}|d k	r0|S | jjj|ƒ}|d krTtd|||ƒ‚|S )Nz	bad token)	r   ÚNAMEr   Úaddr   ÚkeywordsÚgetÚtokensr   )r
   r   r   r	   r$   r   r   r   r    ¡   s    
zParser.classifyc       	      C   sT   | j d \}}}|||d f}| j| j|ƒ}|d k	r@|d j|ƒ |||f| j d< d S )Nr   r   r   r   )r   r   r   Úappend)	r
   r   r   r)   r	   r%   r&   r   r   r   r   r   r!   ¯   s    zParser.shiftc       	      C   sB   | j d \}}}|d |g f}|||f| j d< | j j|d|fƒ d S )Nr   r   r   r   )r   r2   )	r
   r   Znewdfar)   r	   r%   r&   r   r   r   r   r   r#   ¸   s    zParser.pushc             C   s`   | j jƒ \}}}| j| j|ƒ}|d k	r\| j rL| j d \}}}|d j|ƒ n|| _| j| j_d S )Nr   r   r   )r   r"   r   r   r2   r   r   )r
   ZpopdfaZpopstateZpopnoder   r%   r&   r   r   r   r   r"   ¿   s    z
Parser.pop)N)N)
r   r   r   r   r   r,   r    r!   r#   r"   r   r   r   r   r      s   
 
0	r   N)Ú r   r   r   Úobjectr   r   r   r   r   Ú<module>   s   