<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
rW                 @   s:   d dl Zd dlZdd Zdd Zdd Zedkr6e  dS )	    Nc             C   sh   t | }d| }d| }x |D ]\}}|j j|rP qW x |D ]\}}|j j|r@P q@W |d |fS )Nz#--! %s-startz#--! %s-end   )	enumeratestrip
startswithendswith)linestagZsrclinesZ	start_tagZend_tagZstart_indexlineZ	end_index r
   /usr/lib/python3.6/ygen.pyget_source_range   s    r   c             C   sF   g }d}d| }x0| D ](}|j  j|r0| }q|r|j| qW |S )NTz#--! %s)r   r   append)r   r   Zfiltered_linesincludeZtag_textr	   r
   r
   r   filter_section   s    
r   c              C   s   t jjt} tjt jj| dt jj| d tt jj| dd}|j }W d Q R X t	|d\}}t	|d\}}t	|d\}}||| }	t
|	d}
t
|
d}||||< |
|||< d	d
 |D }tt jj| dd}|j| W d Q R X td d S )Nzyacc.pyzyacc.py.bakrZ
parsedebugZparseoptzparseopt-notrackDEBUGZTRACKINGc             S   s   g | ]}|j  d  qS )
)rstrip).0r	   r
   r
   r   
<listcomp>>   s    zmain.<locals>.<listcomp>wzUpdated yacc.py)ospathdirname__file__shutilZcopy2joinopen	readlinesr   r   
writelinesprint)r   fr   Zparse_startZ	parse_endZparseopt_startZparseopt_endZparseopt_notrack_startZparseopt_notrack_endZ
orig_linesZparseopt_linesZparseopt_notrack_linesr
   r
   r   main'   s      

r"   __main__)Zos.pathr   r   r   r   r"   __name__r
   r
   r
   r   <module>
   s   