Вычисление математических выражений в Python

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

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

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

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

Спасибо.

11
задан vander 19 February 2011 в 07:32
поделиться