Я не знаю способа «чистого питона», который уже реализован для вас. Однако вы должны проверить ANTLR (http://www.antlr.org/), это анализатор с открытым исходным кодом и лексер, и он имеет API для ряда языков, включая python. Также на этом сайте есть несколько отличных видеоуроков, которые покажут вам, как делать именно то, что вы просите. Это очень полезный инструмент, чтобы знать, как использовать в целом.

у разбить данное математическое выражение на дерево разбора следующим образом:

((3 + 4 - 1) * 5 + 6 * -7) / 2

                          '/'
                        /     \
                       +        2
                    /     \
                  *         *
                /   \     /   \
               -     5   6     -7
             /   \
            +     1
          /   \
         3     4

Есть ли чистый способ Python сделать это? Как передача в Python в виде строки, а затем возврат в виде дерева, как указано выше.

Благодарю.

Ответы на вопрос(5)

Ваш ответ на вопрос