3 2a @shddlmZddlmZddlmZddlmZddlmZmZm Z m Z ej dZ Gdddej Zd S) )patcomp)pytree)token) fixer_base)NameCallCommaStringz"atom< '(' [atom|STRING|NAME] ')' >c@s$eZdZdZdZddZddZdS)FixPrintTzP simple_stmt< any* bare='print' any* > | print_stmt c Cs`|jd}|r,|jttdg|jddS|jdd}t|dkrXtj|drXdSd}}}|r|dt kr|dd}d}|r|dt j t j dkr|dj}|dd}d d |D}|rd |d_|dk s|dk s|dk rF|dk r|j|d tt||dk r.|j|d tt||dk rF|j|d|ttd|} |j| _| S)NZbareprint)prefix z>>cSsg|] }|jqS)clone).0argrr./opt/alt/python36/lib64/python3.6/fix_print.py ?sz&FixPrint.transform..sependfiler)getreplacerrr Zchildrenlen parend_exprmatchrrLeafr RIGHTSHIFTr add_kwargr repr) selfZnoderesultsZ bare_printargsrrrZl_argsZn_stmtrrr transform%s8          zFixPrint.transformcCsNd|_tj|jjt|tjtjd|f}|r@|j t d|_|j |dS)Nr=r) r rZNodeZsymsargumentrr!rEQUALappendr)r%Zl_nodesZs_kwdZn_exprZ n_argumentrrrr#Ms   zFixPrint.add_kwargN)__name__ __module__ __qualname__Z BM_compatibleZPATTERNr(r#rrrrr s(r N)rrrZpgen2rrZ fixer_utilrrrr Zcompile_patternrZBaseFixr rrrrs