o ?Ogª%ã@s0 ddlZddlmZmZGdd„dejƒZdS)éN)ÚgrammarÚtokenc@s.eZdZ dd„Zdd„Zdd„Zdd„Zd S) Ú ConvertercCs" | |¡| |¡| ¡dS©N)Úparse_graminit_hÚparse_graminit_cÚ finish_off)ÚselfZ graminit_hZ graminit_c©r ú9/opt/alt/python310/lib64/python3.10/lib2to3/pgen2/conv.pyÚrun/s   z Converter.runc CsÄ zt|ƒ}Wnty"}ztd||fƒWYd}~dSd}~wwi|_i|_d}|D]2}|d7}t d|¡}|sK| ¡rKtd||| ¡fƒq-| ¡\}}t |ƒ}||j|<||j|<q-dS)NúCan'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 r5s. €þ   ÿ   zConverter.parse_graminit_hc! CsÌ zt|ƒ}Wnty"}ztd||fƒWYd}~dSd}~wwd}|dt|ƒ}}|dt|ƒ}}|dt|ƒ}}i}g}| d¡r| d¡r¨t d|¡}ttt |  ¡ƒƒ\} } } g} t | ƒD]#} |dt|ƒ}}t d|¡}ttt |  ¡ƒƒ\}}|   ||f¡qg|dt|ƒ}}| || | f<|dt|ƒ}}| d¡sOt d|¡}ttt |  ¡ƒƒ\}}g}t |ƒD](} |dt|ƒ}}t d |¡}ttt |  ¡ƒƒ\} } } || | f} |  | ¡q¿|  |¡|dt|ƒ}}|dt|ƒ}}| d¡sJ||_ i}t d |¡}t | d¡ƒ}t |ƒD]o}|dt|ƒ}}t d |¡}| d ¡}ttt | dd dd¡ƒƒ\}}}}||}|dt|ƒ}}t d|¡}i}t| d¡ƒ}t|ƒD] \}}t|ƒ}t dƒD]}|d|>@r~d||d|<qmqa||f||<q|dt|ƒ}}||_g}|dt|ƒ}}t d|¡}t | d¡ƒ}t |ƒD]/}|dt|ƒ}}t d|¡}|  ¡\}}t |ƒ}|dkrÕd}nt|ƒ}|  ||f¡q²|dt|ƒ}}||_|dt|ƒ}}|dt|ƒ}}t d|¡}t | d¡ƒ}|dt|ƒ}}|dt|ƒ}}t d|¡}t | d¡ƒ}|dt|ƒ}}t d|¡}t | d¡ƒ} | |_|dt|ƒ}}z |dt|ƒ}}WdStyeYdSw)Nr Frrz static arc z)static arc arcs_(\d+)_(\d+)\[(\d+)\] = {$z\s+{(\d+), (\d+)},$z'static state states_(\d+)\[(\d+)\] = {$z\s+{(\d+), arcs_(\d+)_(\d+)},$zstatic dfa dfas\[(\d+)\] = {$z0\s+{(\d+), "(\w+)", (\d+), (\d+), states_(\d+),$ééééz\s+("(?:\\\d\d\d)*")},$éz!static label labels\[(\d+)\] = {$z\s+{(\d+), (0|"\w+")},$Ú0z \s+(\d+),$z\s+{(\d+), labels},$z \s+(\d+)$)rrrÚnextÚ startswithrrÚlistÚmaprrÚrangeÚappendÚstatesÚgroupÚevalÚ enumerateÚordÚdfasÚlabelsÚstartÚ StopIteration)!r rrrrrZallarcsr+rÚnÚmÚkZarcsÚ_ÚiÚjÚsÚtÚstater0ZndfasrrÚxÚyÚzÚfirstZ rawbitsetÚcZbyter1Znlabelsr2r r r rTsÌ €þ  ÿ    ñ       ß"  ÿ "  €þ        ÿzConverter.parse_graminit_ccCsZ i|_i|_t|jƒD]\}\}}|tjkr!|dur!||j|<q |dur*||j|<q dSr)ÚkeywordsÚtokensr.r1rÚNAME)r ZilabelÚtypeÚvaluer r r rùs  €üzConverter.finish_offN)Ú__name__Ú __module__Ú __qualname__r rrrr r r r r$s  &r)rZpgen2rrZGrammarrr r r r Ús