Я работал над альтернативным компилятором для Python, где все синтаксисы анализируются с помощью макросов. Я, наконец, понял, что я могу начать работу над надстройкой языка Python, где макросы являются неотъемлемым компонентом.
Моя проблема в том, что я не могу придумать синтаксис определения макроса pythonic. Я привел несколько примеров в двух разных синтаксисах в ответах ниже. Может ли кто-нибудь придумать лучший синтаксис? Мне не нужно строить какой-либо синтаксис, который я предложил в любом случае - я здесь полностью открыт. Любые комментарии, предложения и т.д. Будут полезны, так же как и альтернативные синтаксисы, показывающие приведенные мной примеры.
Заметка о структуре макросов, как показано в приведенных выше примерах: использование MultiLine/MLMacro и Partial/PartialMacro сообщает парсеру, как применяется макрос. Если он многострочный, макрос будет соответствовать нескольким спискам строк; обычно используется для конструкций. Если он частично, макрос будет соответствовать коду в середине списка; обычно используется для операторов.