Можно ли манипулировать синтаксисом Python (как у Нима)? - PullRequest
1 голос
/ 20 апреля 2020

При программировании на Nim я наткнулся на макросы и был удивлен, насколько они выразительны - вы могли бы в принципе добавить новый синтаксис! Я смотрел долго и упорно, чтобы увидеть, если я мог бы сделать что-то подобное Python, но не смогли найти ничего.

1002 * Можно ли добавить новый синтаксис для python? Если так, как это будет сделано? С модулем ast, возможно?

Пример:

let_macro.py:

import ast
# something like this
ast.new_macro(
    ast.expect("let"),
    ast.expect(ast.ident(store_as="name")),
    ast.expect("="),
    ast.expect(ast.expr, store_as="expr"),
    replace_with="{name} = {expr}"
)

и использование будет таким:

import let_macro
let x = 12 # replace with x = 12
...