f%F ddlZddlmZmZGddejZdS)N)grammartokenc(eZdZ dZdZdZdZdS) Converterc |||||dSN)parse_graminit_hparse_graminit_c finish_off)self graminit_h graminit_cs 9/opt/alt/python311/lib64/python3.11/lib2to3/pgen2/conv.pyrunz Converter.run/sCJ j))) j))) c  t|}n-#t$r }td|d|Yd}~dSd}~wwxYwi|_i|_d}|D]}|dz }t jd|}|s>|r*t|d|d|\|\}}t|}||j|<||j|<d S) N Can't open : Frz^#define\s+(\w+)\s+(\d+)$(z): can't parse T) openOSErrorprint symbol2number number2symbolrematchstripgroupsint) r filenameferrlinenolinemosymbolnumbers rr zConverter.parse_graminit_h5s4  XAA    E337 8 8 855555   4 4D aKF6==B 4$**,, 4(((FFF26**,,,@AAAA"$V.4"6*-3"6**ts =8=c  t|}n-#t$r }td|d|Yd}~dSd}~wwxYwd}|dzt|}}|dzt|}}|dzt|}}i}g}|drf|drt jd|}ttt| \} } } g} t| D]y} |dzt|}}t jd|}ttt| \}}| ||fz|dzt|}}| || | f<|dzt|}}|dt jd |}ttt| \}}g}t|D]} |dzt|}}t jd |}ttt| \} } } || | f} | | | ||dzt|}}|dzt|}}|df||_ i}t jd |}t|d}t|D]#}|dzt|}}t jd |}|d }ttt|dddd\}}}}||}|dzt|}}t jd|}i}t|d}t!|D]9\}}t#|}tdD]}|d|zzr d||dz|z<:||f||<%|dzt|}}||_g}|dzt|}}t jd|}t|d}t|D]}|dzt|}}t jd|}| \}}t|}|dkrd}nt|}| ||f|dzt|}}||_|dzt|}}|dzt|}}t jd|}t|d}|dzt|}}|dzt|}}t jd|}t|d}|dzt|}}t jd|}t|d} | |_|dzt|}} |dzt|}}dS#t*$rYdSwxYw)NrrFrrz 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+)},$zstatic 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+)$)rrrnext startswithrrlistmapr rrangeappendstatesgroupeval enumerateorddfaslabelsstart StopIteration)!r r!r"r#r$r%allarcsr6r&nmkarcs_ijststater;ndfasr'r(xyzfirst rawbitsetcbyter<nlabelsr=s! rr zConverter.parse_graminit_cTs 6 XAA    E337 8 8 855555 axaaxaaxaoom,,! -//-00 1XJ"$$s3 44551aq((A#)!8T!WWDF"8$??BC 5 566DAqKKA''''%axa"&A%axa//-00 1 DdKKBC--..DAqE1XX # #%axaX?FFs3 44551aq!t} T"""" MM% !!8T!WWDF!!8T!WWDFCoom,,! -D  X6 = =BHHQKK  u * *A!!8T!WWDFM  BXXa[[F"3sBHHQ1a,@,@#A#ABBOFAq!1IE!!8T!WWDF4d;;BERXXa[[))I!),, + +11vvq++Aq!t}+)*acAg+"5>DLLaxa axa X:D A Abhhqkk""w " "A!!8T!WWDF4d;;B99;;DAqAACxxGG MM1a& ! ! ! !axa axaaxa XmT * *BHHQKK  axaaxa X-t 4 4bhhqkk""axa XlD ) )BHHQKK   axa %!!8T!WWDFFF    DD s" =8=*[ [ [c i|_i|_t|jD]1\}\}}|tjkr | ||j|<%| ||j|<2dSr)keywordstokensr9r<rNAME)r ilabeltypevalues rr zConverter.finish_offsr?  %.t{%;%; + + !FMT5uz!!e&7'- e$$$* D!  + +rN)__name__ __module__ __qualname__rr r r rrrr$sY >c%c%c%J+++++rr)rpgen2rrGrammarrr]rrr`so4 ! ]+]+]+]+]+]+]+]+]+]+r