Ich habe einen einfachen PEG-Parser, der einen AST-Baum generiert. Jeder Operator ist rechts assoziativ, so dass die Analyse A + B + C + D
einen Baum [1]
zurückgibt. Gibt es eine einfache Möglichkeit, den [1]
Baum in einen Baum umzuwandeln, der von einem assoziativen Operator links [2]
erstellt würde?AST-Baum zu einem anderen AST-Baum transformieren
[1] + [2] +
/\ /\
A + + D
/\ /\
B + + C
/\ /\
C D A B