o
    Uh                     @   s>   d dl Zd dlZdd Zdd Zdd Zedkre  dS dS )	    Nc                 C   sd   t | }d| }d| }|D ]\}}| |r nq|D ]\}}| |r+ nq|d |fS )Nz#--! %s-startz#--! %s-end   )	enumeratestrip
startswithendswith)linestagsrclines	start_tagend_tagstart_indexline	end_index r   f/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/pycparser/ply/ygen.pyget_source_range   s   r   c                 C   sB   g }d}d| }| D ]}|  |r| }q
|r|| q
|S )NTz#--! %s)r   r   append)r   r   filtered_linesincludetag_textr   r   r   r   filter_section   s   
r   c                  C   s"  t jt} tt j| dt j| d tt j| dd}| }W d    n1 s/w   Y  t	|d\}}t	|d\}}t	|d\}}||| }	t
|	d}
t
|
d}||||< |
|||< d	d
 |D }tt j| dd}|| W d    n1 sw   Y  td d S )Nzyacc.pyzyacc.py.bakr
parsedebugparseoptzparseopt-notrackDEBUGTRACKINGc                 S   s   g | ]}|  d  qS )
)rstrip).0r   r   r   r   
<listcomp>>   s    zmain.<locals>.<listcomp>wzUpdated yacc.py)ospathdirname__file__shutilcopy2joinopen	readlinesr   r   
writelinesprint)r#   fr   parse_start	parse_endparseopt_startparseopt_endparseopt_notrack_startparseopt_notrack_end
orig_linesparseopt_linesparseopt_notrack_linesr   r   r   main'   s$    


r6   __main__)os.pathr!   r%   r   r   r6   __name__r   r   r   r   <module>   s   	
