0

a+a*b のような入力文字列を指定して、それを読み取り、解析し、抽象構文ツリーを作成するスクリプトを Python で作成しようとしています。

この時点で、AST にはトークンがあり、(Var_A, PLUS, (Var_A, MUL, Var_B)) のようなものになっているはずです。

私はここまですべてを行うことができたので、ASTを最適化し、可能な限り変数の少ないものを出力する必要があるため、 (b+1)*a のような出力が得られます

この種の最適化を行うアルゴリズムまたはコードを知っている人はいますか?

Ps。外部ライブラリを使用できません。これをゼロから実装する必要があります

4

0 に答える 0