MINI MINI MANI MO
3
\u @ s0 d dl mZ G dd deZG dd deZdS ) )tokenc @ s e Zd Zdd ZdS )
ParseErrorc C s4 t j| d||||f || _|| _|| _|| _d S )Nz!%s: type=%r, value=%r, context=%r) Exception__init__msgtypevaluecontext)selfr r r r r +/usr/lib64/python3.6/lib2to3/pgen2/parse.pyr s zParseError.__init__N)__name__
__module____qualname__r r r r r r s r c @ sH e Zd ZdddZdddZdd Zdd Zd
d Zdd
Zdd Z dS )ParserNc C s || _ |pdd | _d S )Nc S s |S )Nr )grammarnoder r r <lambda>W s z!Parser.__init__.<locals>.<lambda>)r convert)r
r r r r r r 9 s zParser.__init__c C sH |d kr| j j}|d d g f}| j j| d|f}|g| _d | _t | _d S )N )r startdfasstackrootnodeset
used_names)r
r newnodeZ
stackentryr r r setupY s
zParser.setupc C s: | j |||}x$| jd \}}}|\}} || }
x|
D ]\}}| jj| \}
}||kr| j|||| |}x@|| d|fgkr| j | jsdS | jd \}}}|\}} qpW dS |
dkr:| jj|
}|\}}||kr:| j|
| jj|
|| P q:W d|f|
kr$| j | js2td|||qtd|||qW d S )
Nr r TF ztoo much inputz bad inputr ) classifyr r Zlabelsshiftpopr pushr )r
r r r ilabeldfastater ZstatesfirstZarcsinewstatetvZitsdfaZ itsstatesZitsfirstr r r addtokenq s: zParser.addtokenc C sX |t jkr0| jj| | jjj|}|d k r0|S | jjj|}|d krTtd||||S )Nz bad token) r NAMEr addr keywordsgettokensr )r
r r r r$ r r r r s
zParser.classifyc C sT | j d \}}}|||d f}| j| j|}|d k r@|d j| |||f| j d<