B u `Æã@s:ddlZddlZdd„Zdd„Zdd„Zedkr6eƒdS) éNcCsht|ƒ}d|}d|}x |D]\}}| ¡ |¡rPqWx |D]\}}| ¡ |¡r@Pq@W|d|fS)Nz #--! %s-startz #--! %s-endé)Ú enumerateÚstripÚ startswithÚendswith)ÚlinesÚtagZsrclinesZ start_tagZend_tagÚ start_indexÚlineZ end_index©r ú,/tmp/pip-unpacked-wheel-zt_1wjp0/ply/ygen.pyÚget_source_range sr cCsFg}d}d|}x0|D](}| ¡ |¡r0| }q|r| |¡qW|S)NTz#--! %s)rrÚappend)rrZfiltered_linesÚincludeZtag_textr r r r Úfilter_sections rc Csútj t¡}t tj |d¡tj |d¡¡ttj |d¡dƒ}| ¡}WdQRXt |dƒ\}}t |dƒ\}}t |dƒ\}}|||…} t | dƒ} t | dƒ} | |||…<| |||…<d d „|Dƒ}ttj |d¡d ƒ}|  |¡WdQRXt d ƒdS) Nzyacc.pyz yacc.py.bakÚrZ parsedebugZparseoptzparseopt-notrackÚDEBUGZTRACKINGcSsg|]}| ¡d‘qS)Ú )Úrstrip)Ú.0r r r r ú >szmain..ÚwzUpdated yacc.py) ÚosÚpathÚdirnameÚ__file__ÚshutilÚcopy2ÚjoinÚopenÚ readlinesr rÚ writelinesÚprint) rÚfrZ parse_startZ parse_endZparseopt_startZ parseopt_endZparseopt_notrack_startZparseopt_notrack_endZ orig_linesZparseopt_linesZparseopt_notrack_linesr r r Úmain's        r$Ú__main__)Úos.pathrrr rr$Ú__name__r r r r Ú s