Лучшие практики Python: абстрактные деревья синтаксиса - PullRequest
8 голосов
/ 26 мая 2009

Изменение абстрактных синтаксических деревьев

Я хотел бы иметь возможность создать и изменить ast, а затем опционально записать его в виде байтового кода Python для последующего выполнения без дополнительных затрат.

Я хакнул с ast docs для python3.0 и python2.6, но я не могу найти какие-либо хорошие источники о лучших методах для этого типа кода.

Вопрос

Каковы некоторые рекомендации и рекомендации по изменению абстрактных синтаксических деревьев в python?

[править]

Неизвестно утверждает, что byteplay является хорошим примером такой библиотеки.

Кроме того, benford цитирует GeniuSQL , который использует абстрактные синтаксические деревья для преобразования кода Python в SQL.

Ответы [ 2 ]

4 голосов
/ 26 мая 2009

Кроме руководства и исходного кода, вы сами по себе. Эта тема и байт-код Python очень недокументированы.

В качестве альтернативы вы можете попробовать использовать эту библиотеку байт-кода python, о которой я слышал много хорошего, но еще не пробовал:

http://code.google.com/p/byteplay/

2 голосов
/ 27 мая 2009

Я думаю, что geniusql делает что-то в этом духе, чтобы перевести ast в sql ... Был разговор об этом, но я не могу его найти - и мне все равно не разрешается ссылаться: - (

...