<!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>

]%                 @   s?   d  d l  Z  d  d l m Z m Z Gd d   d e j  Z d S)    N)grammartokenc               @   s@   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 S)
	Converterc             C   s(   |  j  |  |  j |  |  j   d  S)N)parse_graminit_hparse_graminit_c
finish_off)selfZ
graminit_hZ
graminit_c r	   )/opt/alt/python35/lib64/python3.5/conv.pyrun/   s    zConverter.runc       	      C   s  y t  |  } Wn= t k
 rO } z t d | | f  d SWYd  d  } ~ Xn Xi  |  _ i  |  _ d } x | D] } | d 7} t j d |  } | r | j   r t d | | | j   f  qo | j   \ } } t	 |  } | |  j | <| |  j | <qo Wd S)NzCan't open %s: %sFr      z^#define\s+(\w+)\s+(\d+)$z%s(%s): can't parse %sT)
openOSErrorprintZsymbol2numberZnumber2symbolrematchstripgroupsint)	r   filenameferrlinenolinemosymbolnumberr	   r	   r
   r   5   s&    		
zConverter.parse_graminit_hc       !      C   s~  y t  |  } Wn= t k
 rO } z t d | | f  d SWYd  d  } ~ Xn Xd } | d t |  } } | d t |  } } | d t |  } } i  } g  } x| j d  rx| j d  rt j d |  } t t t	 | j
     \ }	 }
 } g  } xq t |  D]c } | d t |  } } t j d |  } t t t	 | j
     \ } } | j | | f  qW| d t |  } } | | |	 |
 f <| d t |  } } q Wt j d |  } t t t	 | j
     \ } } g  } x~ t |  D]p } | d t |  } } t j d	 |  } t t t	 | j
     \ } }	 }
 | |	 |
 f } | j |  qW| j |  | d t |  } } | d t |  } } q W| |  _ i  } t j d
 |  } t	 | j d   } x=t |  D]/} | d t |  } } t j d |  } | j d  } t t t	 | j d d d d    \ } } } } | | } | d t |  } } t j d |  } i  } t | j d   } x] t |  D]O \ } } t |  } x4 t d  D]& } | d | >@rd | | d | <qWqW| | f | | <qW| d t |  } } | |  _ g  } | d t |  } } t j d |  } t	 | j d   } x t |  D] } | d t |  } } t j d |  } | j
   \ } } t	 |  } | d k rd  } n t |  } | j | | f  qW| d t |  } } | |  _ | d t |  } } | d t |  } } t j d |  } t	 | j d   } | d t |  } } | d t |  } } t j d |  } t	 | j d   } | d t |  } } t j d |  } t	 | j d   }  |  |  _ | d t |  } } y | d t |  } } Wn t k
 ryYn Xd  S)NzCan't open %s: %sFr   r   zstatic arc z)static arc arcs_(\d+)_(\d+)\[(\d+)\] = {$z\s+{(\d+), (\d+)},$z'static state states_(\d+)\[(\d+)\] = {$z\s+{(\d+), arcs_(\d+)_(\d+)},$zstatic dfa dfas\[(\d+)\] = {$z0\s+{(\d+), "(\w+)", (\d+), (\d+), states_(\d+),$            z\s+("(?:\\\d\d\d)*")},$   z!static label labels\[(\d+)\] = {$z\s+{(\d+), (0|"\w+")},$0z
\s+(\d+),$z\s+{(\d+), labels},$z	\s+(\d+)$)r   r   r   next
startswithr   r   listmapr   r   rangeappendstatesgroupeval	enumerateorddfaslabelsstartStopIteration)!r   r   r   r   r   r   Zallarcsr)   r   nmkZarcs_ijststater.   Zndfasr   r   xyzfirstZ	rawbitsetcZbyter/   Znlabelsr0   r	   r	   r
   r   T   s    		$!!$			3
				zConverter.parse_graminit_cc             C   s   i  |  _  i  |  _ xg t |  j  D]V \ } \ } } | t j k r_ | d  k	 r_ | |  j  | <q" | d  k r" | |  j | <q" Wd  S)N)keywordstokensr,   r/   r   NAME)r   Zilabeltypevaluer	   r	   r
   r      s    		"zConverter.finish_offN)__name__
__module____qualname__r   r   r   r   r	   r	   r	   r
   r   $   s   r   )r   Zpgen2r   r   ZGrammarr   r	   r	   r	   r
   <module>   s   