U §Ãq`Ëã@s:ddlZddlZdd„Zdd„Zdd„Zedkr6eƒdS) éNcCsdt|ƒ}d|}d|}|D]\}}| ¡ |¡rq8q|D]\}}| ¡ |¡r<qXq<|d|fS)Nz #--! %s-startz #--! %s-endé)Ú enumerateÚstripÚ startswithÚendswith)ÚlinesÚtagZsrclinesZ start_tagZend_tagÚ start_indexÚlineZ end_index©r ú9/tmp/pip-target-nv4zd3e_/lib/python/pycparser/ply/ygen.pyÚget_source_range s  r cCsBg}d}d|}|D](}| ¡ |¡r.| }q|r| |¡q|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ƒ}| ¡}W5QRXt |dƒ\}}t |dƒ\}}t |dƒ\}}|||…} t | dƒ} t | dƒ} | |||…<| |||…<d d „|Dƒ}ttj |d¡d ƒ}|  |¡W5QRXt 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