(за гранью приличий)
@patterns
def prod():
if []: 1
if [x] + xs: x * prod(xs)
Код → AST → Новый AST → Новый Код
*AST = Абстрактное синтаксическое деревоКод → AST → Новый AST → Новый Код
Код → AST → JavaScript
Байткод → AST → SQL
lambda x: x + 1
>>> import ast
>>> print ast.dump(tree)
Lambda(args=arguments(args=[Name(id='x', ctx=Param())], ...), body=BinOp(left=Name(id='x', ctx=Load()), op=Add(), right=Num(n=1)))
Как получить используемые имена?
Вопросы?