o
    ÍtBhË  ã                   @   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   úi/var/www/html/riverr-enterprise-integrations-main/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 s†w   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   	
ÿ