
    3\h%                     F    	 d dl Z d dlmZmZ  G d dej                  ZdS )    N)grammartokenc                   (    e Zd Z	 d Zd Zd Zd ZdS )	Converterc                     	 |                      |           |                     |           |                                  d S N)parse_graminit_hparse_graminit_c
finish_off)self
graminit_h
graminit_cs      </opt/python-3.11.14/usr/lib/python3.11/lib2to3/pgen2/conv.pyrunzConverter.run/   sC    Jj)))j)))    c           	         	 	 t          |          }n-# t          $ r }t          d|d|           Y d }~dS d }~ww xY wi | _        i | _        d}|D ]}|dz  }t          j        d|          }|s>|                                r*t          |d|d|                                           \|                                \  }}t          |          }|| j        |<   || j        |<   d	S )
NCan't open : Fr      z^#define\s+(\w+)\s+(\d+)$(z): can't parse T)
openOSErrorprintsymbol2numbernumber2symbolrematchstripgroupsint)	r   filenameferrlinenolinemosymbolnumbers	            r   r	   zConverter.parse_graminit_h5   s4   		XAA 	 	 	E33788855555	   	4 	4DaKF6==B 	4$**,, 	4(((FFF26**,,,@ A A A A "$V .4"6*-3"6**ts    
=8=c                    	 	 t          |          }n-# t          $ r }t          d|d|           Y d }~dS d }~ww xY wd}|dz   t          |          }}|dz   t          |          }}|dz   t          |          }}i }g }|                    d          rf|                    d          rt          j        d|          }t          t          t          |
                                                    \  }	}
}g }t          |          D ]y}|dz   t          |          }}t          j        d|          }t          t          t          |
                                                    \  }}|                    ||f           z|dz   t          |          }}|||	|
f<   |dz   t          |          }}|                    d          t          j        d	|          }t          t          t          |
                                                    \  }}g }t          |          D ]}|dz   t          |          }}t          j        d
|          }t          t          t          |
                                                    \  }}	}
||	|
f         }|                    |           |                    |           |dz   t          |          }}|dz   t          |          }}|                    d          f|| _        i }t          j        d|          }t          |                    d                    }t          |          D ]#}|dz   t          |          }}t          j        d|          }|                    d          }t          t          t          |                    dddd                              \  }}}}||         }|dz   t          |          }}t          j        d|          }i }t          |                    d                    }t!          |          D ]9\  }}t#          |          }t          d          D ]}|d|z  z  rd||dz  |z   <   :||f||<   %|dz   t          |          }}|| _        g }|dz   t          |          }}t          j        d|          }t          |                    d                    }t          |          D ]}|dz   t          |          }}t          j        d|          }|
                                \  }}t          |          }|dk    rd }nt          |          }|                    ||f           |dz   t          |          }}|| _        |dz   t          |          }}|dz   t          |          }}t          j        d|          }t          |                    d                    }|dz   t          |          }}|dz   t          |          }}t          j        d|          }t          |                    d                    }|dz   t          |          }}t          j        d|          }t          |                    d                    } | | _        |dz   t          |          }}	 |dz   t          |          }}d S # t*          $ r Y d S w xY w)Nr   r   Fr   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%   allarcsr6   r&   nmkarcs_ijststater;   ndfasr'   r(   xyzfirst	rawbitsetcbyter<   nlabelsr=   s!                                    r   r
   zConverter.parse_graminit_cT   s   	6	XAA 	 	 	E33788855555	  axaaxa axaoom,, !	-//-00 1XJ"$ $ s3		44551aq ( (A#)!8T!WWDF"8$??BC 5 566DAqKKA''''%axa"&A%axa //-00 1  DdKKBC--..DAqE1XX # #%axaX?FFs3		44551aq!t}T""""MM%   !!8T!WWDF!!8T!WWDFC oom,, !	-D  X6==BHHQKK  u 	* 	*A!!8T!WWDFM   B XXa[[F"3sBHHQ1a,@,@#A#ABBOFAq! 1IE!!8T!WWDF4d;;BERXXa[[))I!),, + +11vvq + +Aq!t} +)*acAg+ "5>DLLaxa	 axaX:DAAbhhqkk""w 
	" 
	"A!!8T!WWDF4d;;B99;;DAqAACxxGGMM1a&!!!!axa axaaxaXmT**BHHQKK  axaaxaX-t44bhhqkk""axaXlD))BHHQKK  
axa	%!!8T!WWDFFF 	 	 	DD	s"    
=8=*[   
[[c                     	 i | _         i | _        t          | j                  D ]1\  }\  }}|t          j        k    r||| j         |<   %|
|| j        |<   2d S r   )keywordstokensr9   r<   r   NAME)r   ilabeltypevalues       r   r   zConverter.finish_off   sr    ?%.t{%;%; 	+ 	+!FMT5uz!!e&7'-e$$$*D!		+ 	+r   N)__name__
__module____qualname__r   r	   r
   r    r   r   r   r   $   sY            >c% c% c%J+ + + + +r   r   )r   pgen2r   r   Grammarr   r]   r   r   <module>r`      so   4 
			 !              ]+ ]+ ]+ ]+ ]+ ]+ ]+ ]+ ]+ ]+r   